collective.easyform


Namecollective.easyform JSON
Version 4.1.6 PyPI version JSON
download
home_pagehttps://github.com/collective/collective.easyform
SummaryForms for Plone
upload_time2024-03-08 12:23:11
maintainerPlone Release Team
docs_urlNone
authorRoman Kozlovskyi
requires_python>=3.8
licenseGPLv2
keywords form plone ttw builder email
VCS
bugtrack_url
requirements zc.buildout
Travis-CI No Travis.
coveralls test coverage
            =================================
EasyForm - Form Builder for Plone
=================================

.. image:: https://badge.fury.io/py/collective.easyform.svg
    :target: https://badge.fury.io/py/collective.easyform
    :alt: latest release version badge by Badge Fury

.. image:: https://github.com/collective/collective.easyform/actions/workflows/test.yml/badge.svg
    :target: https://github.com/collective/collective.easyform/actions
    :alt: Travis CI status

.. image:: https://coveralls.io/repos/github/collective/collective.easyform/badge.svg?branch=master
    :target: https://coveralls.io/github/collective/collective.easyform?branch=master
    :alt: Coveralls status


The add on ``collective.easyform`` adds Plone content types for form creation.

EasyForm provides a Plone form builder through-the-web using fields, widgets, actions and validators (based on `Dexterity <https://github.com/plone/plone.dexterity>`_).

Form input can be saved or emailed.
A simple and user-friendly interface allows non-programmers to create custom forms.


Installation
============

Install collective.easyform by adding it to your buildout:

.. code-block:: shell

    [buildout]

    ...

    eggs =
        collective.easyform


Run buildout:

.. code-block:: shell

    bin/buildout

The last step is to activate ``EasyForm`` in the Add-ons control panel.


Migration from PloneFormGen
===========================

With PloneFormGen installed, open the following url:

``@@migrate-ploneformgen``


Usage
=====

- Choose EasyForm from the toolbars 'Add new' menu.
  Insert form title, description and other settings.
- Add fields or fieldsets to create a unique form that will meet your particular requirements.
  There are enough basic field types to satisfy any demands:

  - File Upload
  - Text line (String)
  - Integer
  - Yes/No
  - Date, Date/Time
  - Floating-point number
  - Choice
  - Rich Text
  - Image
  - Multiple Choice
  - Text
  - Password
  - ReСaptcha

- Continue to customize form by setting the order of fields,
  defining required and hidden ones,
  choosing validator, if necessary,
  and other field type specific settings.

Click on the picture below for a short introduction video:

.. image:: docs/images/easyform-youtube.png
    :target: https://www.youtube.com/watch?v=DMCYnYE9RKU
    :alt: EasyForm instructional video

Using conditional fields
------------------------

Under Advanced > field depends on, you can define conditions to hide a field and only fade it in when a condition is fulfilled.
We are using pat-depends here, all options are documented in the `pat-depends docs <https://patternslib.com/demos/depends>`_.

You can also set a CSS class string for every field under Advanced > CSS Class.

.. image:: docs/images/conditional_fields_and_field_css.png
    :width: 350

.. image:: docs/images/form_multicolumns.png

Since the form is marked with the ``row`` css class you can use the existing Bootstrap 5 CSS column classes for the fields
to create simple column layouts. See the `Bootstrap Grid System <https://getbootstrap.com/docs/5.2/layout/grid/>`_ documentation
for more information.

For more complex layouts you can also add your own CSS classes and definitions. Here is one example CSS
to define a form with up to 4 columns and different col span for individual fields.


.. code-block:: css

    .easyformForm fieldset{
      display: grid;
      gap: 1em;
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .easyformForm .field{
      background-color: #eeeeee;
      padding: 0.5em;
      grid-column: auto / span 2;
    }

    .easyformForm fieldset > p:first-of-type{
      background-color: transparent;
      grid-column: auto / span 4;
    }

    .easyformForm .field.formCol14{
      grid-column: auto / span 1;
    }

    .easyformForm .field.formCol34{
      grid-column: auto / span 3;
    }

    .easyformForm .field.formCol44{
      grid-column: auto / span 4;
    }


ReCaptcha support
=================

Install ``collective.easyform`` with the  ``recaptcha`` extra:

.. code-block:: shell

    [buildout]

    ...

    eggs =
        collective.easyform [recaptcha]


Run buildout. In the Add-ons control panel, activate both EasyForm and the ReCaptcha widget.

In the ReCaptcha control panel, set the public key and private key values you obtained from https://developers.google.com/recaptcha/ (you can use reCAPTCHA V2).

In the EasyFrom control panel (``/@@easyform-controlpanel``), add the "ReCaptcha" field to "Allowed Fields".
Alternatively, activate it by adding it as an ``registry.xml`` entry for Generic Setup:

.. code-block:: xml

    <record name="easyform.allowedFields">
      <value purge="False">
        <element>collective.easyform.fields.ReCaptcha</element>
      </value>
    </record>

Add the ReCaptcha field to the forms where you want to use it.
Use the field type ``ReCaptcha`` and leave ``require`` unchecked.

As a last step you might want to avoid including the recaptcha field in the thank you page and in the mailer action.
To do that, edit the form, go to the "Thanks page" settings, disable "Show all fields" and then include only those you want.
Likewise for the mailer: open the form actions via the Actions toolbar menu and edit the mailer settings accordingly.


collective.z3cform.norobots support
===================================

Install ``collective.easyform`` with the  ``norobots`` extra:

.. code-block:: shell

    [buildout]

    ...

    eggs =
        collective.easyform [norobots]


Run buildout. In the Add-ons control panel, install EasyForm.

In the EasyFrom control panel (``/@@easyform-controlpanel``), add the "NorobotCaptcha" field to "Allowed Fields".
Alternatively, activate it by adding it as an ``registry.xml`` entry for Generic Setup:

.. code-block:: xml

    <record name="easyform.allowedFields">
      <value purge="False">
        <element>collective.easyform.fields.NorobotCaptcha</element>
      </value>
    </record>

Add the NorobotCaptcha field to the forms where you want to use it.
Use the field type ``NorobotCaptcha`` and leave ``require`` unchecked.

As a last step you might want to avoid including the norobotcaptcha field in the thanks page and the mailer action.
To do that, edit the form, go to the "Thanks page" settings, disable "Show all fields" and then include only those you want.
Likewise for the mailer: open the form actions via the Actions toolbar menu and edit the mailer settings accordingly.


Download XLSX from savedata adapter support
===========================================

Install ``collective.easyform`` with the  ``downloadxlsx`` extra:

.. code-block:: shell

    [buildout]

    ...

    eggs =
        collective.easyform [downloadxlsx]


This gives you the option to download the saved data as XLSX using openpyxl to generate the XLSX file.


Actions
=======

You can choose between the following actions after form submission:

* Mailer
* DataStorage
* CustomScript

The mailer stores a HTML template for sending the results of the form. You can override it with a file named
`easyform_mail_body_default.pt` in your site. If it is not found the default from the `default_schemata` directory
of this package is taken. If you plan to override start with the the `mail_body_default.pt` file and make sure
it is a valid pagetemplate.


Translations
============

This add-on has been translated into

- Basque
- Brazilian Portuguese
- Deutsch
- Dutch
- English
- French
- Italian
- Japanese
- Spanish
- Ukrainian


Related Addons
==============

**Note:** This Plone package is similar to `Archetypes <http://docs.plone.org/develop/plone/content/archetypes/>`_ based `Products.PloneFormGen <https://github.com/smcmahon/Products.PloneFormGen>`_ for Plone versions 1 to 4. Now, Dexterity is the default framework for building content types in Plone 5. ``collective.easyform`` is based on Dexterity.


Source Code and Contributions
=============================

If you want to help with the development (improvement, update, bug-fixing, ...) of ``collective.easyform`` this is a great idea!

- `Source code at Github <https://github.com/collective/collective.easyform>`_
- `Issue tracker at Github <https://github.com/collective/collective.easyform/issues>`_

You can clone it or `get access to the github-collective <https://github.com/collective>`_ and work directly on the project.

Please do larger changes on a branch and submit a Pull Request.

Maintainer of ``collective.easyform`` is the Plone Collective community.

We appreciate any contribution !

For new release, please contact one of the owners or maintainers mentioned at the `Python Package Index page <https://pypi.python.org/pypi/collective.easyform>`_.


Contribute
==========

- Issue Tracker: https://github.com/collective/collective.easyform/issues
- Source Code: https://github.com/collective/collective.easyform


License
=======

The project is licensed under the GPLv2.


Compatibility
=============

- 1.x targets Plone 4.x
- 2.x targets Plone 5.x onwards
- 3.x targets Plone 5.2
- 4.x targets Plone 6, on Python 3

Changelog
=========


4.1.6 (2024-03-08)
------------------

- Fix unused, incorrect and undeclared imports in serializer.
  [thet]


4.1.5 (2023-11-03)
------------------

- check for "collective.easyform.DownloadSavedInput" permission, before including the saved data in serializer.
  [MrTango]


4.1.4 (2023-07-27)
------------------

- fix folder_contents accessibility from @@saveddata. [ThibautBorn]

- make ReCaptcha fields not required during PloneFormGen migration [ThibautBorn]


4.1.3 (2023-05-16)
------------------


Bug fixes:

- Add upgrade step and profile to update contenttype icon in registry.
  [maurits]

- Add icon expressions for actions.
  [maurits]

- Update Spanish translations.
  [macagua]


4.1.2 (2023-01-02)
------------------

- Define 'Edit' and 'View' icons for the form. (#390)
  [frapell]

- Require at least Python 3.8.  Test with 3.8-3.11.  [maurits]


4.1.1 (2022-10-28)
------------------

- Fix display of stored values in Likert field.
  [gotcha]

- Add icon for the control panel tool
  [frapell]

- Prevent RichLabel fields from breaking the form
  [MrTango]

- Schemaeditor UI: close modals and reload fields(sets) when saving.
  [petschki]

- Fix bug which did not render correctly GroupForm widgets (see #370)
  [petschki]


4.1.0 (2022-08-10)
------------------

New features:

- Add support for field level CSS classes.
  [mrtango]

- Add support for conditional fields.
  [mrtango]

- Add Likert scale field.
  [gotcha]

- Add French translations
  [mpeeters, laulaz]

- Use ``collective.easyform.DownloadSavedInput`` permission for displaying/downloading saved data (#357)
  [laulaz]

- restapi (de)serializer that includes saved data
  [ThibautBorn, gotcha, Mychae1]

- Use "|" as delimiter of list types in exports. [mathias.leimgruber]


Bug fixes:

- Fix persistence issue with SaveData storage.
  [mathias.leimgruber] (#259)

- Add missing translations strings
  [laulaz]

- Remove unused ``migrate_all_forms`` setting and record (#206)
  [laulaz]

- Modify the "Form Fields" to work with latest schemaeditor (#345)
  [frapell]

Enhancements:

- Standarize how the "Form Fields" and "Form Actions" behave. Have a single
  "Save" button that will redirect back to the form once changes are applied
  [frapell]


4.0.0 (2022-04-07)
------------------

Breaking change:

- This is for Plone 6 only. At least this is the only version that is tested.
  (Changelog edited later to avoid misunderstandings, use 3.x for Plone 5.2)
  [maurits]

New features:

- Add support for Plone 6
  [pbauer, frappell]

- Update Field/Actions listing to work with Plone 6
  [petschki] (#260)

- Added Japanese translation, supported by Ochanomizu University. [terapyon] (#263)

- User-friendly delimiter setup for csv download
  [ThibautBorn, gotcha] (#267)

- Add support for plone.formwidget.hcaptcha
  [fredvd] (#292)

- Update the css registration and use the schemaeditor pattern
  [frapell] (#319)

- Add name attribute field to form, default empty doesn't include it.
  Useful for form analytics like matomo that can check for this attribute.
  [fredvd] (#328)

- Download XLSX version of saved data.
  [mathias.leimgruber] (#285)

- Add option to append formdata as xlsx as well.
  [mathias.leimgruber] (#287)


Bug fixes:

- Add upgrade step for the csv_delimiter field.
  [fredvd] (267b)

- Always display fieldsets legends : in tabbed mode, they are hidden by autotoc pattern
  [laulaz] (#173)

- Show the pro- and epilogue texts also on embedded forms.
  [fredvd] (#274)

- Fix field order in Mailer attachments
  [MrTango]

- Optinally add CSV/XLSX headers to attachments
  [MrTango] (#323)

- Fix table of saved data: do not show labels in table; colored buttons, slight cleanup.
  [jensens]

- Fixes in German translation.
  [jensens]

- Fix recaptcha support: include it's zcml when installed.
  [jensens]

- Fix translations of validation errors.
  [mathias.leimgruber] (#284)

- Fix download bug for RichTextFields
  [szakitibi] (#288)


3.0.5 (2020-11-17)
------------------

Bug fixes:


- Fix validators in field sets with zope.interface 5.1+.
  This fixes `issue 252 <https://github.com/collective/collective.easyform/issues/252>`_.
  [maurits] (#252)

- For increased security, in the modeleditor do not resolve entities, and remove processing instructions.
  [maurits] (#3209)


3.0.4 (2020-09-26)
------------------

Bug fixes:


- Fix ModuleNotFoundError: No module named 'App.class_init' on Zope 5.
  [agitator] (#251)


3.0.3 (2020-09-09)
------------------

Bug fixes:


- Make sure the catalog is updated after setting fields or actions.
  Fixes `issue 8 <https://github.com/collective/collective.easyform/issues/8>`_.
  [maurits] (#8)
- Make sure action urls are always relative to the easyform object.
  And redirect `folder/easyform/folder_contents` to `folder/folder_contents`.
  And show a View link in the toolbar when you are in a sub item of a form.
  See `issue 219 <https://github.com/collective/collective.easyform/issues/219>`_
  and `PR 239 <https://github.com/collective/collective.easyform/pull/239>`_.
  [maurits] (#219)


3.0.2 (2020-08-17)
------------------

Bug fixes:


- Better saved data handling (ux forms, redirect to only adapter). [jensens (#1)
- More German translations [jensens] (#2)
- Fixes #217: Stop loosing action errors in form update. [wobsta] (#238)
- Fixes #182: actions urls when on action or field traverser. [jensens] (#239)


3.0.1 (2020-07-29)
------------------

Bug fixes:


- Fixes #235: ``Module collective.easyform.fields, line 63, in superAdapter IndexError: tuple index out of range``.
  [jensens] (#235)


3.0.0 (2020-07-28)
------------------

Breaking changes:


- Hide the "description" field from form actions, as it is not used anywhere.
  Customizations which try to omit or use the description field might need adaptions. (#226)
- Change semantics for the "advanced" permission and introduce new "technical" permission.
  To better support use cases for "power users" while not overloading them with complex fields where a technical understanding is necessary the permissions are changed as follows:

  "Edit Advanced Fields":
  - IEasyForm.form_tabbing
  - IEasyForm.default_fieldset_label
  - IFieldExtender.field_widget
  - IFieldExtender.validators

  "Edit Technical Fields":
  - IEasyForm.method
  - IEasyForm.unload_protection
  - IEasyForm.CSRFProtection
  - IEasyForm.forceSSL
  - IMailer.replyto_field
  - IMailer.xinfo_headers
  - IMailer.additional_headers (#229)


New features:


- Use profile to configure roles instead of ZCML for easier customization. (#224)
- Simplify the editing UI: Introduce a new "Advanced" tab when creating a form for not so frequent used settings.
  Change permissions to allow editors to define the recipient from form field values in addition to a fixed recipient. (#227)
- Make the fields editor look nicer. (#228)


Bug fixes:


- Fix deprecated ``fieldset`` import in interfaces. (#222)
- Rewrite upgrades bobtemplates.plone style to get a better overview. (#223)
- Make Actions better compatible with plone.supermodel/autoform directives. (#225)
- Fix translation of default values for the easyform content type fields in the current active language. (#231)


2.2.0 (2020-06-04)
------------------

- Implement PloneFormGen migration.
  [buchi, laulaz]

- Fixed errors with ``header_injection`` implementation.
  [maurits, thet]

- Format code according to Plone standards: black, isort, zpretty.
  [thet]

- Fix Validators for value None: return valid and let required handle it
  [Nimo-19]


2.1.5 (2020-02-09)
------------------

- Remove hardcoded download button label check (#175)
  [davide-targa]


2.1.4 (2020-02-06)
------------------

- Add 'easyform-thankspage' css class to the content-core div if the thankspage is
  displayed. Combined with the header_injection field you can style elements
  only for the thankspage, for example as a workaround to remove empty
  fieldsets (#154).
  [fredvd]

- do not append the re-rendered download form when generating the
  data download file (#175)
  [mamico, tkimnguyen]

- fix Travis install of google-chrome-stable
  [tkimnguyen]

- PEP8 fixes
  [mamico]

2.1.3 (2019-12-11)
------------------

- Brazilian Portuguese translation `#200 <https://github.com/collective/collective.easyform/issues/200>`_
  [ericof]


2.1.2 (2019-11-18)
------------------

- Fix broken image in README (partly addresses #197)
  [tkimguyen]

- Mention reCAPTCHA V2 when obtaining public/private key pair
  [tkimnguyen]


2.1.1 (2019-11-18)
------------------

NOTE: if you deploy 2.1.1+, the easyform extended validations start working again on fields
in extra field sets (they only worked on the main/default fields). This could cause some
issues if those validators, or default values, were misconfigured in the first place.

- Let ``filter_fields`` return fields in the correct order.
  This fixes the order on the default mailer template.
  Part of `issue #163 <https://github.com/collective/collective.easyform/issues/163>`_.
  [maurits]

- Fixed validation, inline validation, and defaults for fields in fieldsets.
  Refs issues `#172 <https://github.com/collective/collective.easyform/issues/172>`_
  and ` #157 <https://github.com/collective/collective.easyform/issues/157>`_. [fredvd, maurits]

- Moved from dotted to named behaviors.
  [iham]

- Avoid potential CannotGetPortalError on startup #164
  [laulaz]

- Add collective.z3cform.norobots integration #145
  [1letter/gomez]

- For CSV and XML attachments send an empty string if the value is None instead of the string "None"
  [nngu6036]

- Put in tests to show recaptcha validation prevents submissions
  [djay]

- Fix UnicodeDecodeError while attaching an image to a mail #187
  [krissik]

- update instructions for recaptcha functionality
  [tkimnguyen]

2.1.0 (2019-04-25)
------------------

New features:

- Code style black & isort.
  [jensens]

- Add "CheckBoxFieldWidget" for Multi-Choice-Field and "RadioFieldWidget" for Single-Choice-Field
  [petschki]

- add ``plone.formwidget.recaptcha`` to test dependencies
  [petschki]

- Added style bundle with content type icon for toolbar and folder_contents
  [agitator]

- nicer representation of complex field types such as bools and dates when serialized to XML or CSV attachments
  [nngu6036]

Bug fixes:

- fix bug where lines longer than 998 in XML or CSV attachmentments can get wrapped
  [nngu6036]

- add missing ``header_injection`` implementation
  [krissik]


2.1.0rc1 (2019-03-19)
---------------------

New features:

- Add Support for Python 3.
  [pbauer]

- a11y: Added role attribute for portalMessage
  [nzambello]

Bug fixes:

- fixed startup ResourceWarning on open files
  [ajung]

2.0.1 (2018-12-04)
------------------

- Spanish translation.
  [erral]


2.0.0 (2018-10-03)
------------------

New features:

- New method in api: filter_widgets. If a isn't selected, mailer action don't try
  to render its widget. This is useful when we want to avoid to show some widgets
  like recaptcha, that could breaks if it's in the wrong context.
  [cekk]

Bug fixes:

- changed the permission of saveddata action from "Manage portal" to "Modify portal content" so "action" and "view" have the same permission
  [eikichi18]

- Fix to thanks page regression introduced in 2.0.0b4
  [instification]

- Fix e-mail attachments with non ASCII chars
  [tomgross]

2.0.0b7 (2018-09-01)
--------------------

- Add option to attach form data in XML format to email
  [nngu6036]

- add some mailer adapter documentation, add required package version pins
  [tkimnguyen]


2.0.0b6 (2018-08-20)
--------------------

- Bug fixes:

- update some old documentation, add documentation for @@get_save_data_adapters view
  [tkimnguyen]


New features:

- add @@get_save_data_adapters view
  [tkimnguyen]


2.0.0b5 (2018-06-22)
--------------------

Bug fixes:

- Fix display of items in fieldset on thanks page
  [tomgross]


2.0.0b4 (2018-05-17)
--------------------

New features:

- Add support for hidden fields
  [tomgross]


Bug fixes:

- Fix filtering regression introduced with 2.0.0b3
  [tomgross]


2.0.0b3 (2018-05-08)
--------------------

New features:

- Add browserlayer.
  [jensens]

- Enhance file validation view with type check
  [tomgross]

- Basque translation
  [erral]

- Update italian translations.
  [arsenico13]

- Allow default fields, actions & mailtemplate in DB
  [tomgross]

- New mailer adapter checkbox to send CSV data attachment
  [tkimnguyen]

Bug fixes:

- Do not override configured widgets with default widgets in thank-you-page.
  This fixes #111. Includes code cleanup.
  [jensens]

- Hide profiles not used for regular install.
  [jensens]

- Remove ProtectedEmail and ProtectedTextLine  as addable fields
  https://github.com/collective/collective.easyform/issues/94
  [fgrcon]

- Support ``showAll`` and ``includeEmpties`` also for the thanks page.
  [thet]

- Register the recaptcha validator more specifically, so that it overrides the default easyform validator.
  Fixes an issue where plone.formwidget.recaptcha had no effect when used.
  [thet]

- Fix broken access to saved data due to acquisition problems if action is called 'data'.
  Fixes: #87.
  [sverbois]

- Fix action URLs to savedata, export, import
  [tomgross]

- Fix display of values in mailer template  #76
  [tomgross]


2.0.0b2 (2017-08-31)
--------------------

Bug fixes:

- Update italian translations.
  [arsenico13]

- Added Products.validation dependency to make it work for archetypes-free sites.
  [agitator]

- In the schema editor for fields, Fix the URL to ACE library according to the modeleditor in plone.app.dexterity.
  [thet]

- Fix saver action with non ASCII filename uploads #77
  [tomgross]

- In the schema editor for fields, Fix the URL to ACE library according to the modeleditor in plone.app.dexterity.
  [thet]

2.0.0b1 (2017-06-14)
--------------------

New features:

- Add filesize upload validator
  [tomgross]

Bug fixes:

- Take over signature linebreaks to HTML email
  [tomgross]

- Allow multi-select fields as subject field
  https://github.com/collective/collective.easyform/issues/71
  [tomgross]

- Update german translations.
  [tomgross, jensens]

- Keep line breaks for body_pre, body_post and body_footer field.
  Changed field type to RichText with TextAreaWidget and default_mime_type='text/x-web-intelligent'.
  Updated default mailer template.
  [agitator]

- Use site email address as default recipient address also for Plone 5.
  [tmassman]

- Update README
  [svx]

- Allow emails (CC, BCC) separated by ';' and newlines
  https://github.com/collective/collective.easyform/issues/49
  [tomgross]

- Allow managment of fields enabled for c.easyform in controlpanel
  [karalics]


2.0.0a2 (2016-10-14)
--------------------

New:

- Rename api.get_fields to api.get_schema
  [jensens, agitator]

Fixes:

- Fix field order
  [jensens, agitator]


2.0.0a1 (2016-10-13)
--------------------

New:

- Update for Plone 5, no longer support Plone 4.x
  [agitator]

Fixes:

- Fix: Overhaul TravisCI setup to really use caches.
  Use bobtemplates.plone travis setup as best practice.
  [jensens]

- Don't show the reset button after form submission at the summary page.
  [thet]

- Housekeeping: isort, zca decorators, autopep8 and major manual cleanup.
  Includes structural cleanup and
  [jensens, agitator]


1.0a4 (unreleased)
------------------

New:

- Change recipient address field to Email type so it gets properly validated
  [davilima6]

- Make the default buildout use Plone 5. Update travis setup to the point where
  tests actually run, though many still fail.
  [smcmahon]


- look up email_from_address in registry
  [kcleong]

- Move the default xml configuration out into xml files. These can be picked up
  by ``i18ndude`` or other po file generators for translations strings. Also
  translate the ``FIELDS_DEFAULT`` fields.
  [thet]

- Add German translations.
  [thet]

- Allow the definition of some EasyForm default values via the i18n translation
  mechanism.
  [thet]

- Reworked mail address formating, avoiding recipient address in the form of
  ``name <<account@domain.com>>`` and having instead
  ``name <account@domain.com>``.
  [thet]

- Depend on plone.schemaeditor > 2.0 for JS compatibility.
  [thet]

- fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support.
  [vangheem]

- Fix modeleditor.pt markup so it works with barceloneta.
  [ebrehault]

Fixes:

- fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support


1.0a3 (2015-06-02)
------------------

- Fixed templates
  [kroman0]

- Fixed field order #17
  [kroman0]

- Fixed Plone 5 support
  [kroman0]

- Fixed dependencies
  [kroman0]

- Set script type correctly
  [fredvd]


1.0a2 (2014-06-13)
------------------

- Fixed conflict with plone.app.multilingual[dexterity]
  [kroman0]

- Fixed rendering saved data form
  [kroman0]

- Fixed and updated tests
  [kroman0]

- Fix unicode encoding in download csv
  [gborelli]

- Added Italian translation
  [gborelli]

- Added fields parameter in Mailer override expressions
  [gborelli]


1.0a1 (2014-03-18)
------------------

- Initial release

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/collective/collective.easyform",
    "name": "collective.easyform",
    "maintainer": "Plone Release Team",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "releaseteam@plone.org",
    "keywords": "form plone ttw builder email",
    "author": "Roman Kozlovskyi",
    "author_email": "krzroman@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/51/95/c109990ccdf62cdfb5b259ca86569baf7727c20177834a0989e61ba86ef7/collective.easyform-4.1.6.tar.gz",
    "platform": null,
    "description": "=================================\nEasyForm - Form Builder for Plone\n=================================\n\n.. image:: https://badge.fury.io/py/collective.easyform.svg\n    :target: https://badge.fury.io/py/collective.easyform\n    :alt: latest release version badge by Badge Fury\n\n.. image:: https://github.com/collective/collective.easyform/actions/workflows/test.yml/badge.svg\n    :target: https://github.com/collective/collective.easyform/actions\n    :alt: Travis CI status\n\n.. image:: https://coveralls.io/repos/github/collective/collective.easyform/badge.svg?branch=master\n    :target: https://coveralls.io/github/collective/collective.easyform?branch=master\n    :alt: Coveralls status\n\n\nThe add on ``collective.easyform`` adds Plone content types for form creation.\n\nEasyForm provides a Plone form builder through-the-web using fields, widgets, actions and validators (based on `Dexterity <https://github.com/plone/plone.dexterity>`_).\n\nForm input can be saved or emailed.\nA simple and user-friendly interface allows non-programmers to create custom forms.\n\n\nInstallation\n============\n\nInstall collective.easyform by adding it to your buildout:\n\n.. code-block:: shell\n\n    [buildout]\n\n    ...\n\n    eggs =\n        collective.easyform\n\n\nRun buildout:\n\n.. code-block:: shell\n\n    bin/buildout\n\nThe last step is to activate ``EasyForm`` in the Add-ons control panel.\n\n\nMigration from PloneFormGen\n===========================\n\nWith PloneFormGen installed, open the following url:\n\n``@@migrate-ploneformgen``\n\n\nUsage\n=====\n\n- Choose EasyForm from the toolbars 'Add new' menu.\n  Insert form title, description and other settings.\n- Add fields or fieldsets to create a unique form that will meet your particular requirements.\n  There are enough basic field types to satisfy any demands:\n\n  - File Upload\n  - Text line (String)\n  - Integer\n  - Yes/No\n  - Date, Date/Time\n  - Floating-point number\n  - Choice\n  - Rich Text\n  - Image\n  - Multiple Choice\n  - Text\n  - Password\n  - Re\u0421aptcha\n\n- Continue to customize form by setting the order of fields,\n  defining required and hidden ones,\n  choosing validator, if necessary,\n  and other field type specific settings.\n\nClick on the picture below for a short introduction video:\n\n.. image:: docs/images/easyform-youtube.png\n    :target: https://www.youtube.com/watch?v=DMCYnYE9RKU\n    :alt: EasyForm instructional video\n\nUsing conditional fields\n------------------------\n\nUnder Advanced > field depends on, you can define conditions to hide a field and only fade it in when a condition is fulfilled.\nWe are using pat-depends here, all options are documented in the `pat-depends docs <https://patternslib.com/demos/depends>`_.\n\nYou can also set a CSS class string for every field under Advanced > CSS Class.\n\n.. image:: docs/images/conditional_fields_and_field_css.png\n    :width: 350\n\n.. image:: docs/images/form_multicolumns.png\n\nSince the form is marked with the ``row`` css class you can use the existing Bootstrap 5 CSS column classes for the fields\nto create simple column layouts. See the `Bootstrap Grid System <https://getbootstrap.com/docs/5.2/layout/grid/>`_ documentation\nfor more information.\n\nFor more complex layouts you can also add your own CSS classes and definitions. Here is one example CSS\nto define a form with up to 4 columns and different col span for individual fields.\n\n\n.. code-block:: css\n\n    .easyformForm fieldset{\n      display: grid;\n      gap: 1em;\n      grid-template-columns: 1fr 1fr 1fr 1fr;\n    }\n\n    .easyformForm .field{\n      background-color: #eeeeee;\n      padding: 0.5em;\n      grid-column: auto / span 2;\n    }\n\n    .easyformForm fieldset > p:first-of-type{\n      background-color: transparent;\n      grid-column: auto / span 4;\n    }\n\n    .easyformForm .field.formCol14{\n      grid-column: auto / span 1;\n    }\n\n    .easyformForm .field.formCol34{\n      grid-column: auto / span 3;\n    }\n\n    .easyformForm .field.formCol44{\n      grid-column: auto / span 4;\n    }\n\n\nReCaptcha support\n=================\n\nInstall ``collective.easyform`` with the  ``recaptcha`` extra:\n\n.. code-block:: shell\n\n    [buildout]\n\n    ...\n\n    eggs =\n        collective.easyform [recaptcha]\n\n\nRun buildout. In the Add-ons control panel, activate both EasyForm and the ReCaptcha widget.\n\nIn the ReCaptcha control panel, set the public key and private key values you obtained from https://developers.google.com/recaptcha/ (you can use reCAPTCHA V2).\n\nIn the EasyFrom control panel (``/@@easyform-controlpanel``), add the \"ReCaptcha\" field to \"Allowed Fields\".\nAlternatively, activate it by adding it as an ``registry.xml`` entry for Generic Setup:\n\n.. code-block:: xml\n\n    <record name=\"easyform.allowedFields\">\n      <value purge=\"False\">\n        <element>collective.easyform.fields.ReCaptcha</element>\n      </value>\n    </record>\n\nAdd the ReCaptcha field to the forms where you want to use it.\nUse the field type ``ReCaptcha`` and leave ``require`` unchecked.\n\nAs a last step you might want to avoid including the recaptcha field in the thank you page and in the mailer action.\nTo do that, edit the form, go to the \"Thanks page\" settings, disable \"Show all fields\" and then include only those you want.\nLikewise for the mailer: open the form actions via the Actions toolbar menu and edit the mailer settings accordingly.\n\n\ncollective.z3cform.norobots support\n===================================\n\nInstall ``collective.easyform`` with the  ``norobots`` extra:\n\n.. code-block:: shell\n\n    [buildout]\n\n    ...\n\n    eggs =\n        collective.easyform [norobots]\n\n\nRun buildout. In the Add-ons control panel, install EasyForm.\n\nIn the EasyFrom control panel (``/@@easyform-controlpanel``), add the \"NorobotCaptcha\" field to \"Allowed Fields\".\nAlternatively, activate it by adding it as an ``registry.xml`` entry for Generic Setup:\n\n.. code-block:: xml\n\n    <record name=\"easyform.allowedFields\">\n      <value purge=\"False\">\n        <element>collective.easyform.fields.NorobotCaptcha</element>\n      </value>\n    </record>\n\nAdd the NorobotCaptcha field to the forms where you want to use it.\nUse the field type ``NorobotCaptcha`` and leave ``require`` unchecked.\n\nAs a last step you might want to avoid including the norobotcaptcha field in the thanks page and the mailer action.\nTo do that, edit the form, go to the \"Thanks page\" settings, disable \"Show all fields\" and then include only those you want.\nLikewise for the mailer: open the form actions via the Actions toolbar menu and edit the mailer settings accordingly.\n\n\nDownload XLSX from savedata adapter support\n===========================================\n\nInstall ``collective.easyform`` with the  ``downloadxlsx`` extra:\n\n.. code-block:: shell\n\n    [buildout]\n\n    ...\n\n    eggs =\n        collective.easyform [downloadxlsx]\n\n\nThis gives you the option to download the saved data as XLSX using openpyxl to generate the XLSX file.\n\n\nActions\n=======\n\nYou can choose between the following actions after form submission:\n\n* Mailer\n* DataStorage\n* CustomScript\n\nThe mailer stores a HTML template for sending the results of the form. You can override it with a file named\n`easyform_mail_body_default.pt` in your site. If it is not found the default from the `default_schemata` directory\nof this package is taken. If you plan to override start with the the `mail_body_default.pt` file and make sure\nit is a valid pagetemplate.\n\n\nTranslations\n============\n\nThis add-on has been translated into\n\n- Basque\n- Brazilian Portuguese\n- Deutsch\n- Dutch\n- English\n- French\n- Italian\n- Japanese\n- Spanish\n- Ukrainian\n\n\nRelated Addons\n==============\n\n**Note:** This Plone package is similar to `Archetypes <http://docs.plone.org/develop/plone/content/archetypes/>`_ based `Products.PloneFormGen <https://github.com/smcmahon/Products.PloneFormGen>`_ for Plone versions 1 to 4. Now, Dexterity is the default framework for building content types in Plone 5. ``collective.easyform`` is based on Dexterity.\n\n\nSource Code and Contributions\n=============================\n\nIf you want to help with the development (improvement, update, bug-fixing, ...) of ``collective.easyform`` this is a great idea!\n\n- `Source code at Github <https://github.com/collective/collective.easyform>`_\n- `Issue tracker at Github <https://github.com/collective/collective.easyform/issues>`_\n\nYou can clone it or `get access to the github-collective <https://github.com/collective>`_ and work directly on the project.\n\nPlease do larger changes on a branch and submit a Pull Request.\n\nMaintainer of ``collective.easyform`` is the Plone Collective community.\n\nWe appreciate any contribution !\n\nFor new release, please contact one of the owners or maintainers mentioned at the `Python Package Index page <https://pypi.python.org/pypi/collective.easyform>`_.\n\n\nContribute\n==========\n\n- Issue Tracker: https://github.com/collective/collective.easyform/issues\n- Source Code: https://github.com/collective/collective.easyform\n\n\nLicense\n=======\n\nThe project is licensed under the GPLv2.\n\n\nCompatibility\n=============\n\n- 1.x targets Plone 4.x\n- 2.x targets Plone 5.x onwards\n- 3.x targets Plone 5.2\n- 4.x targets Plone 6, on Python 3\n\nChangelog\n=========\n\n\n4.1.6 (2024-03-08)\n------------------\n\n- Fix unused, incorrect and undeclared imports in serializer.\n  [thet]\n\n\n4.1.5 (2023-11-03)\n------------------\n\n- check for \"collective.easyform.DownloadSavedInput\" permission, before including the saved data in serializer.\n  [MrTango]\n\n\n4.1.4 (2023-07-27)\n------------------\n\n- fix folder_contents accessibility from @@saveddata. [ThibautBorn]\n\n- make ReCaptcha fields not required during PloneFormGen migration [ThibautBorn]\n\n\n4.1.3 (2023-05-16)\n------------------\n\n\nBug fixes:\n\n- Add upgrade step and profile to update contenttype icon in registry.\n  [maurits]\n\n- Add icon expressions for actions.\n  [maurits]\n\n- Update Spanish translations.\n  [macagua]\n\n\n4.1.2 (2023-01-02)\n------------------\n\n- Define 'Edit' and 'View' icons for the form. (#390)\n  [frapell]\n\n- Require at least Python 3.8.  Test with 3.8-3.11.  [maurits]\n\n\n4.1.1 (2022-10-28)\n------------------\n\n- Fix display of stored values in Likert field.\n  [gotcha]\n\n- Add icon for the control panel tool\n  [frapell]\n\n- Prevent RichLabel fields from breaking the form\n  [MrTango]\n\n- Schemaeditor UI: close modals and reload fields(sets) when saving.\n  [petschki]\n\n- Fix bug which did not render correctly GroupForm widgets (see #370)\n  [petschki]\n\n\n4.1.0 (2022-08-10)\n------------------\n\nNew features:\n\n- Add support for field level CSS classes.\n  [mrtango]\n\n- Add support for conditional fields.\n  [mrtango]\n\n- Add Likert scale field.\n  [gotcha]\n\n- Add French translations\n  [mpeeters, laulaz]\n\n- Use ``collective.easyform.DownloadSavedInput`` permission for displaying/downloading saved data (#357)\n  [laulaz]\n\n- restapi (de)serializer that includes saved data\n  [ThibautBorn, gotcha, Mychae1]\n\n- Use \"|\" as delimiter of list types in exports. [mathias.leimgruber]\n\n\nBug fixes:\n\n- Fix persistence issue with SaveData storage.\n  [mathias.leimgruber] (#259)\n\n- Add missing translations strings\n  [laulaz]\n\n- Remove unused ``migrate_all_forms`` setting and record (#206)\n  [laulaz]\n\n- Modify the \"Form Fields\" to work with latest schemaeditor (#345)\n  [frapell]\n\nEnhancements:\n\n- Standarize how the \"Form Fields\" and \"Form Actions\" behave. Have a single\n  \"Save\" button that will redirect back to the form once changes are applied\n  [frapell]\n\n\n4.0.0 (2022-04-07)\n------------------\n\nBreaking change:\n\n- This is for Plone 6 only. At least this is the only version that is tested.\n  (Changelog edited later to avoid misunderstandings, use 3.x for Plone 5.2)\n  [maurits]\n\nNew features:\n\n- Add support for Plone 6\n  [pbauer, frappell]\n\n- Update Field/Actions listing to work with Plone 6\n  [petschki] (#260)\n\n- Added Japanese translation, supported by Ochanomizu University. [terapyon] (#263)\n\n- User-friendly delimiter setup for csv download\n  [ThibautBorn, gotcha] (#267)\n\n- Add support for plone.formwidget.hcaptcha\n  [fredvd] (#292)\n\n- Update the css registration and use the schemaeditor pattern\n  [frapell] (#319)\n\n- Add name attribute field to form, default empty doesn't include it.\n  Useful for form analytics like matomo that can check for this attribute.\n  [fredvd] (#328)\n\n- Download XLSX version of saved data.\n  [mathias.leimgruber] (#285)\n\n- Add option to append formdata as xlsx as well.\n  [mathias.leimgruber] (#287)\n\n\nBug fixes:\n\n- Add upgrade step for the csv_delimiter field.\n  [fredvd] (267b)\n\n- Always display fieldsets legends : in tabbed mode, they are hidden by autotoc pattern\n  [laulaz] (#173)\n\n- Show the pro- and epilogue texts also on embedded forms.\n  [fredvd] (#274)\n\n- Fix field order in Mailer attachments\n  [MrTango]\n\n- Optinally add CSV/XLSX headers to attachments\n  [MrTango] (#323)\n\n- Fix table of saved data: do not show labels in table; colored buttons, slight cleanup.\n  [jensens]\n\n- Fixes in German translation.\n  [jensens]\n\n- Fix recaptcha support: include it's zcml when installed.\n  [jensens]\n\n- Fix translations of validation errors.\n  [mathias.leimgruber] (#284)\n\n- Fix download bug for RichTextFields\n  [szakitibi] (#288)\n\n\n3.0.5 (2020-11-17)\n------------------\n\nBug fixes:\n\n\n- Fix validators in field sets with zope.interface 5.1+.\n  This fixes `issue 252 <https://github.com/collective/collective.easyform/issues/252>`_.\n  [maurits] (#252)\n\n- For increased security, in the modeleditor do not resolve entities, and remove processing instructions.\n  [maurits] (#3209)\n\n\n3.0.4 (2020-09-26)\n------------------\n\nBug fixes:\n\n\n- Fix ModuleNotFoundError: No module named 'App.class_init' on Zope 5.\n  [agitator] (#251)\n\n\n3.0.3 (2020-09-09)\n------------------\n\nBug fixes:\n\n\n- Make sure the catalog is updated after setting fields or actions.\n  Fixes `issue 8 <https://github.com/collective/collective.easyform/issues/8>`_.\n  [maurits] (#8)\n- Make sure action urls are always relative to the easyform object.\n  And redirect `folder/easyform/folder_contents` to `folder/folder_contents`.\n  And show a View link in the toolbar when you are in a sub item of a form.\n  See `issue 219 <https://github.com/collective/collective.easyform/issues/219>`_\n  and `PR 239 <https://github.com/collective/collective.easyform/pull/239>`_.\n  [maurits] (#219)\n\n\n3.0.2 (2020-08-17)\n------------------\n\nBug fixes:\n\n\n- Better saved data handling (ux forms, redirect to only adapter). [jensens (#1)\n- More German translations [jensens] (#2)\n- Fixes #217: Stop loosing action errors in form update. [wobsta] (#238)\n- Fixes #182: actions urls when on action or field traverser. [jensens] (#239)\n\n\n3.0.1 (2020-07-29)\n------------------\n\nBug fixes:\n\n\n- Fixes #235: ``Module collective.easyform.fields, line 63, in superAdapter IndexError: tuple index out of range``.\n  [jensens] (#235)\n\n\n3.0.0 (2020-07-28)\n------------------\n\nBreaking changes:\n\n\n- Hide the \"description\" field from form actions, as it is not used anywhere.\n  Customizations which try to omit or use the description field might need adaptions. (#226)\n- Change semantics for the \"advanced\" permission and introduce new \"technical\" permission.\n  To better support use cases for \"power users\" while not overloading them with complex fields where a technical understanding is necessary the permissions are changed as follows:\n\n  \"Edit Advanced Fields\":\n  - IEasyForm.form_tabbing\n  - IEasyForm.default_fieldset_label\n  - IFieldExtender.field_widget\n  - IFieldExtender.validators\n\n  \"Edit Technical Fields\":\n  - IEasyForm.method\n  - IEasyForm.unload_protection\n  - IEasyForm.CSRFProtection\n  - IEasyForm.forceSSL\n  - IMailer.replyto_field\n  - IMailer.xinfo_headers\n  - IMailer.additional_headers (#229)\n\n\nNew features:\n\n\n- Use profile to configure roles instead of ZCML for easier customization. (#224)\n- Simplify the editing UI: Introduce a new \"Advanced\" tab when creating a form for not so frequent used settings.\n  Change permissions to allow editors to define the recipient from form field values in addition to a fixed recipient. (#227)\n- Make the fields editor look nicer. (#228)\n\n\nBug fixes:\n\n\n- Fix deprecated ``fieldset`` import in interfaces. (#222)\n- Rewrite upgrades bobtemplates.plone style to get a better overview. (#223)\n- Make Actions better compatible with plone.supermodel/autoform directives. (#225)\n- Fix translation of default values for the easyform content type fields in the current active language. (#231)\n\n\n2.2.0 (2020-06-04)\n------------------\n\n- Implement PloneFormGen migration.\n  [buchi, laulaz]\n\n- Fixed errors with ``header_injection`` implementation.\n  [maurits, thet]\n\n- Format code according to Plone standards: black, isort, zpretty.\n  [thet]\n\n- Fix Validators for value None: return valid and let required handle it\n  [Nimo-19]\n\n\n2.1.5 (2020-02-09)\n------------------\n\n- Remove hardcoded download button label check (#175)\n  [davide-targa]\n\n\n2.1.4 (2020-02-06)\n------------------\n\n- Add 'easyform-thankspage' css class to the content-core div if the thankspage is\n  displayed. Combined with the header_injection field you can style elements\n  only for the thankspage, for example as a workaround to remove empty\n  fieldsets (#154).\n  [fredvd]\n\n- do not append the re-rendered download form when generating the\n  data download file (#175)\n  [mamico, tkimnguyen]\n\n- fix Travis install of google-chrome-stable\n  [tkimnguyen]\n\n- PEP8 fixes\n  [mamico]\n\n2.1.3 (2019-12-11)\n------------------\n\n- Brazilian Portuguese translation `#200 <https://github.com/collective/collective.easyform/issues/200>`_\n  [ericof]\n\n\n2.1.2 (2019-11-18)\n------------------\n\n- Fix broken image in README (partly addresses #197)\n  [tkimguyen]\n\n- Mention reCAPTCHA V2 when obtaining public/private key pair\n  [tkimnguyen]\n\n\n2.1.1 (2019-11-18)\n------------------\n\nNOTE: if you deploy 2.1.1+, the easyform extended validations start working again on fields\nin extra field sets (they only worked on the main/default fields). This could cause some\nissues if those validators, or default values, were misconfigured in the first place.\n\n- Let ``filter_fields`` return fields in the correct order.\n  This fixes the order on the default mailer template.\n  Part of `issue #163 <https://github.com/collective/collective.easyform/issues/163>`_.\n  [maurits]\n\n- Fixed validation, inline validation, and defaults for fields in fieldsets.\n  Refs issues `#172 <https://github.com/collective/collective.easyform/issues/172>`_\n  and ` #157 <https://github.com/collective/collective.easyform/issues/157>`_. [fredvd, maurits]\n\n- Moved from dotted to named behaviors.\n  [iham]\n\n- Avoid potential CannotGetPortalError on startup #164\n  [laulaz]\n\n- Add collective.z3cform.norobots integration #145\n  [1letter/gomez]\n\n- For CSV and XML attachments send an empty string if the value is None instead of the string \"None\"\n  [nngu6036]\n\n- Put in tests to show recaptcha validation prevents submissions\n  [djay]\n\n- Fix UnicodeDecodeError while attaching an image to a mail #187\n  [krissik]\n\n- update instructions for recaptcha functionality\n  [tkimnguyen]\n\n2.1.0 (2019-04-25)\n------------------\n\nNew features:\n\n- Code style black & isort.\n  [jensens]\n\n- Add \"CheckBoxFieldWidget\" for Multi-Choice-Field and \"RadioFieldWidget\" for Single-Choice-Field\n  [petschki]\n\n- add ``plone.formwidget.recaptcha`` to test dependencies\n  [petschki]\n\n- Added style bundle with content type icon for toolbar and folder_contents\n  [agitator]\n\n- nicer representation of complex field types such as bools and dates when serialized to XML or CSV attachments\n  [nngu6036]\n\nBug fixes:\n\n- fix bug where lines longer than 998 in XML or CSV attachmentments can get wrapped\n  [nngu6036]\n\n- add missing ``header_injection`` implementation\n  [krissik]\n\n\n2.1.0rc1 (2019-03-19)\n---------------------\n\nNew features:\n\n- Add Support for Python 3.\n  [pbauer]\n\n- a11y: Added role attribute for portalMessage\n  [nzambello]\n\nBug fixes:\n\n- fixed startup ResourceWarning on open files\n  [ajung]\n\n2.0.1 (2018-12-04)\n------------------\n\n- Spanish translation.\n  [erral]\n\n\n2.0.0 (2018-10-03)\n------------------\n\nNew features:\n\n- New method in api: filter_widgets. If a isn't selected, mailer action don't try\n  to render its widget. This is useful when we want to avoid to show some widgets\n  like recaptcha, that could breaks if it's in the wrong context.\n  [cekk]\n\nBug fixes:\n\n- changed the permission of saveddata action from \"Manage portal\" to \"Modify portal content\" so \"action\" and \"view\" have the same permission\n  [eikichi18]\n\n- Fix to thanks page regression introduced in 2.0.0b4\n  [instification]\n\n- Fix e-mail attachments with non ASCII chars\n  [tomgross]\n\n2.0.0b7 (2018-09-01)\n--------------------\n\n- Add option to attach form data in XML format to email\n  [nngu6036]\n\n- add some mailer adapter documentation, add required package version pins\n  [tkimnguyen]\n\n\n2.0.0b6 (2018-08-20)\n--------------------\n\n- Bug fixes:\n\n- update some old documentation, add documentation for @@get_save_data_adapters view\n  [tkimnguyen]\n\n\nNew features:\n\n- add @@get_save_data_adapters view\n  [tkimnguyen]\n\n\n2.0.0b5 (2018-06-22)\n--------------------\n\nBug fixes:\n\n- Fix display of items in fieldset on thanks page\n  [tomgross]\n\n\n2.0.0b4 (2018-05-17)\n--------------------\n\nNew features:\n\n- Add support for hidden fields\n  [tomgross]\n\n\nBug fixes:\n\n- Fix filtering regression introduced with 2.0.0b3\n  [tomgross]\n\n\n2.0.0b3 (2018-05-08)\n--------------------\n\nNew features:\n\n- Add browserlayer.\n  [jensens]\n\n- Enhance file validation view with type check\n  [tomgross]\n\n- Basque translation\n  [erral]\n\n- Update italian translations.\n  [arsenico13]\n\n- Allow default fields, actions & mailtemplate in DB\n  [tomgross]\n\n- New mailer adapter checkbox to send CSV data attachment\n  [tkimnguyen]\n\nBug fixes:\n\n- Do not override configured widgets with default widgets in thank-you-page.\n  This fixes #111. Includes code cleanup.\n  [jensens]\n\n- Hide profiles not used for regular install.\n  [jensens]\n\n- Remove ProtectedEmail and ProtectedTextLine  as addable fields\n  https://github.com/collective/collective.easyform/issues/94\n  [fgrcon]\n\n- Support ``showAll`` and ``includeEmpties`` also for the thanks page.\n  [thet]\n\n- Register the recaptcha validator more specifically, so that it overrides the default easyform validator.\n  Fixes an issue where plone.formwidget.recaptcha had no effect when used.\n  [thet]\n\n- Fix broken access to saved data due to acquisition problems if action is called 'data'.\n  Fixes: #87.\n  [sverbois]\n\n- Fix action URLs to savedata, export, import\n  [tomgross]\n\n- Fix display of values in mailer template  #76\n  [tomgross]\n\n\n2.0.0b2 (2017-08-31)\n--------------------\n\nBug fixes:\n\n- Update italian translations.\n  [arsenico13]\n\n- Added Products.validation dependency to make it work for archetypes-free sites.\n  [agitator]\n\n- In the schema editor for fields, Fix the URL to ACE library according to the modeleditor in plone.app.dexterity.\n  [thet]\n\n- Fix saver action with non ASCII filename uploads #77\n  [tomgross]\n\n- In the schema editor for fields, Fix the URL to ACE library according to the modeleditor in plone.app.dexterity.\n  [thet]\n\n2.0.0b1 (2017-06-14)\n--------------------\n\nNew features:\n\n- Add filesize upload validator\n  [tomgross]\n\nBug fixes:\n\n- Take over signature linebreaks to HTML email\n  [tomgross]\n\n- Allow multi-select fields as subject field\n  https://github.com/collective/collective.easyform/issues/71\n  [tomgross]\n\n- Update german translations.\n  [tomgross, jensens]\n\n- Keep line breaks for body_pre, body_post and body_footer field.\n  Changed field type to RichText with TextAreaWidget and default_mime_type='text/x-web-intelligent'.\n  Updated default mailer template.\n  [agitator]\n\n- Use site email address as default recipient address also for Plone 5.\n  [tmassman]\n\n- Update README\n  [svx]\n\n- Allow emails (CC, BCC) separated by ';' and newlines\n  https://github.com/collective/collective.easyform/issues/49\n  [tomgross]\n\n- Allow managment of fields enabled for c.easyform in controlpanel\n  [karalics]\n\n\n2.0.0a2 (2016-10-14)\n--------------------\n\nNew:\n\n- Rename api.get_fields to api.get_schema\n  [jensens, agitator]\n\nFixes:\n\n- Fix field order\n  [jensens, agitator]\n\n\n2.0.0a1 (2016-10-13)\n--------------------\n\nNew:\n\n- Update for Plone 5, no longer support Plone 4.x\n  [agitator]\n\nFixes:\n\n- Fix: Overhaul TravisCI setup to really use caches.\n  Use bobtemplates.plone travis setup as best practice.\n  [jensens]\n\n- Don't show the reset button after form submission at the summary page.\n  [thet]\n\n- Housekeeping: isort, zca decorators, autopep8 and major manual cleanup.\n  Includes structural cleanup and\n  [jensens, agitator]\n\n\n1.0a4 (unreleased)\n------------------\n\nNew:\n\n- Change recipient address field to Email type so it gets properly validated\n  [davilima6]\n\n- Make the default buildout use Plone 5. Update travis setup to the point where\n  tests actually run, though many still fail.\n  [smcmahon]\n\n\n- look up email_from_address in registry\n  [kcleong]\n\n- Move the default xml configuration out into xml files. These can be picked up\n  by ``i18ndude`` or other po file generators for translations strings. Also\n  translate the ``FIELDS_DEFAULT`` fields.\n  [thet]\n\n- Add German translations.\n  [thet]\n\n- Allow the definition of some EasyForm default values via the i18n translation\n  mechanism.\n  [thet]\n\n- Reworked mail address formating, avoiding recipient address in the form of\n  ``name <<account@domain.com>>`` and having instead\n  ``name <account@domain.com>``.\n  [thet]\n\n- Depend on plone.schemaeditor > 2.0 for JS compatibility.\n  [thet]\n\n- fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support.\n  [vangheem]\n\n- Fix modeleditor.pt markup so it works with barceloneta.\n  [ebrehault]\n\nFixes:\n\n- fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support\n\n\n1.0a3 (2015-06-02)\n------------------\n\n- Fixed templates\n  [kroman0]\n\n- Fixed field order #17\n  [kroman0]\n\n- Fixed Plone 5 support\n  [kroman0]\n\n- Fixed dependencies\n  [kroman0]\n\n- Set script type correctly\n  [fredvd]\n\n\n1.0a2 (2014-06-13)\n------------------\n\n- Fixed conflict with plone.app.multilingual[dexterity]\n  [kroman0]\n\n- Fixed rendering saved data form\n  [kroman0]\n\n- Fixed and updated tests\n  [kroman0]\n\n- Fix unicode encoding in download csv\n  [gborelli]\n\n- Added Italian translation\n  [gborelli]\n\n- Added fields parameter in Mailer override expressions\n  [gborelli]\n\n\n1.0a1 (2014-03-18)\n------------------\n\n- Initial release\n",
    "bugtrack_url": null,
    "license": "GPLv2",
    "summary": "Forms for Plone",
    "version": "4.1.6",
    "project_urls": {
        "Homepage": "https://github.com/collective/collective.easyform"
    },
    "split_keywords": [
        "form",
        "plone",
        "ttw",
        "builder",
        "email"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de1c363515c50ca1b902ec22bb6a42294ca63e774eacf29a3f422cedf62ca079",
                "md5": "77186d59cf915262f0a424df9f22ec03",
                "sha256": "b1c24d49961fa0ac72d73b5f473369b42f889d5b75ebe870f642a02399fd36ea"
            },
            "downloads": -1,
            "filename": "collective.easyform-4.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "77186d59cf915262f0a424df9f22ec03",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 341539,
            "upload_time": "2024-03-08T12:23:04",
            "upload_time_iso_8601": "2024-03-08T12:23:04.767104Z",
            "url": "https://files.pythonhosted.org/packages/de/1c/363515c50ca1b902ec22bb6a42294ca63e774eacf29a3f422cedf62ca079/collective.easyform-4.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5195c109990ccdf62cdfb5b259ca86569baf7727c20177834a0989e61ba86ef7",
                "md5": "3066596da1eed503c47f56aa566934fb",
                "sha256": "c9466c147c7ea9221229c9b6e50797acbe85eeacd396fef3605956daeb9a9446"
            },
            "downloads": -1,
            "filename": "collective.easyform-4.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "3066596da1eed503c47f56aa566934fb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 1579931,
            "upload_time": "2024-03-08T12:23:11",
            "upload_time_iso_8601": "2024-03-08T12:23:11.191387Z",
            "url": "https://files.pythonhosted.org/packages/51/95/c109990ccdf62cdfb5b259ca86569baf7727c20177834a0989e61ba86ef7/collective.easyform-4.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-08 12:23:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "collective",
    "github_project": "collective.easyform",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "zc.buildout",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "collective.easyform"
}
        
Elapsed time: 0.21106s