Skip to main content

Locking integration for dexterity content objects.

Project description

Introduction

The plone.app.lockingbehavior package provides a plone.locking integration for dexterity.

Usage

Just use the behavior plone.app.lockingbehavior.behaviors.ILocking in your dexterity content type. Also check the condition of the “edit” action of your type, it should check if the object is locked.

In your profiles/default/types/YOURTYPE.xml add the behavior and the edit action:

<?xml version="1.0"?>
<object name="example.conference.presenter" meta_type="Dexterity FTI"
        i18n:domain="example.conference" xmlns:i18n="http://xml.zope.org/namespaces/i18n">

    <!-- enabled behaviors -->
    <property name="behaviors">
        <element value="plone.app.lockingbehavior.behaviors.ILocking" />
    </property>

    <action action_id="edit"
            visible="True"
            title="Edit"
            category="object"
            url_expr="string:${object_url}/edit"
            condition_expr="not:object/@@plone_lock_info/is_locked_for_current_user|python:True">
        <permission value="Modify portal content"/>
    </action>

</object>

The ILocking behavior enables locking support for your content type. This adds the ITTWLockable interface from plone.locking. The locking viewlet from plone.app.layout is also working for the dexterity content type.

Changelog

1.0.7 (2020-04-20)

Bug fixes:

  • Minor packaging updates. (#1)

1.0.6 (2018-11-21)

Bug fixes:

  • Cleanup project level files (setup.py, .travis-ci.yml…) [maurits] [gforcada] (#2524)

1.0.5 (2017-02-12)

Bug fixes:

  • Add coding header on python files. [gforcada]
  • Unskip test for Zope 4, as isolation problems are already fixed. [thet]

1.0.4 (2016-05-02)

New:

  • Add behavior short name. [jensens]

1.0.3 (2016-02-20)

Fixes:

  • Use a functional layer to resolve test isolation problems. [gforcada]
  • Refactor doctest to an integration test and skip it for Zope 4 due to isolation problems. [pbauer]
  • Changed i18n_domain to “plone”. Requires plone.app.locales 4.3.9 or higher. [claytonc]

1.0.2 (2015-09-09)

  • Remove superfluous ‘for’. [fulv]
  • Fix tests: redirect was changed in commit e7367258. [jone]
  • If the content is locked, the redirect points to the default view and not to the absolute_url of the object. It avoids image opening on redirect [parruc]

1.0.1 (2011-12-06)

  • Fix version requirement of plone.dexterity: 1.1 is compatible. [jone]

1.0 (2011-11-27)

  • Fixed problem: locks were not released when editing content and saving it without changing anything. Fixed by using new IEditFinishedEvent instead of IObjectModifiedEvent. [jbaumann]
  • Fixed problem which caused widget traversal to fail. The edit form is now protected for non-anonymous user, since locking for anyonmous users does not work anyway. [jbaumann]
  • Initial implementation [jbaumann]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for plone.app.lockingbehavior, version 1.0.7
Filename, size File type Python version Upload date Hashes
Filename, size plone.app.lockingbehavior-1.0.7-py2.py3-none-any.whl (7.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size plone.app.lockingbehavior-1.0.7.tar.gz (12.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page