Skip to main content

A flexible form to edit selected fields of a content type.

Project description

Latest Version Egg Status https://img.shields.io/pypi/pyversions/collective.fieldedit.svg?style=plastic:alt:Supported-PythonVersions License

collective.fieldedit

A view to edit selected fields of a content type.

Features

  • Useable by simply calling a view with a the fields you want to edit as query-string-parameters
  • Select the field or fields you want to edit
  • For each field you can choose between input, display and hidden
  • Uses the same widgets and validators as the default edit-form
  • Respects schema-hints like field-permissions, invariants and widgets
  • Nice to use in modals/popups fo allow editing one ore more fields (but not all)

Use it by adding a link to the view @@field_edit_form and pass the fiels you want to edit as a query-string with up to three parameters separated by a “:” for each field.

Examples

Edit the text of a document:

http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IRichTextBehavior.text

Edit the fields title and subjects:

http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IDublinCore.subjects&fields=IDublinCore.title

Display the text and edit the publishing date:

http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IRichTextBehavior.text:display:0&fields=IRelatedItems.relatedItems

Render a link to edit the title in a modal:

<a href="${python:context.absolute_url()}/field_edit_form?fields=IDublinCore.title"
   class="pat-plone-modal"
   data-pat-plone-modal='{"actionOptions": {"reloadWindowOnClose": false, "redirectOnResponse": true, "disableAjaxFormSubmit": true},
                          "buttons": ".formControls > button"'>
    Edit the Title in a modal
</a>

Edit multiple fields:

<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1&amp;fields=field2&amp;fields=field3"
    Edit some fields.
</a>

Display one field, edit another”

<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1:display&amp;fields=field2"
    Edit one field, display another.
</a>

Hide the label:

<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1::0"
    Edit one field, display another.
</a>

Add a hidden field:

<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1:hidden&amp;fields=field2"
    Edit one field, display another.
</a>

Behavior-fields need to be prefixed with the Behavior:

<a href="${python:context.absolute_url()}/@@field_edit_form?fields=IBasic.title"
    Edit one field, display another.
</a>

Supported Versions

collective.fieldedit is tested in Plone 5.1, 5.2 and 6.

Installation

Install collective.fieldedit by adding it to your buildout:

[buildout]

...

eggs =
    collective.fieldedit

and then running bin/buildout

Then got to the add-on controlpanel (/prefs_install_products_form) to enable it.

License

The project is licensed under the GPLv2.

Changelog

1.0 (2022-06-25)

  • Additional Markup for Plone 6.0 (Bootstrap 5) [jensens]
  • Formatted with Black/isort according to Plone standards. [jensens]
  • Add support for Python 3, Plone 5.2 and 6. [pbauer]

1.0a2 (2018-08-04)

  • Fix redirect and remaining webdav locks on cancel (#1) [pbauer]

1.0a1 (2017-10-10)

  • Initial release. [pbauer]

Project details


Download files

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

Source Distribution

collective.fieldedit-1.0.tar.gz (23.1 kB view hashes)

Uploaded source

Supported by

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