Skip to content

Do not save documents when there are pending activities

Jérome Perrin requested to merge fix/edit_activity_pending_error into master

When document has pending activities, we refuse changing ID ( because there might be pending updateRelatedContent activities if I remember correctly ), but it's done in a way that breaks the "atomic" aspect of the transaction a bit, because we

As a result, this happens sometimes that not all properties user changed are modified. In the example below, the change to Include Documents in Site Map is not saved (and also change to ID):

erp5-sorryPendingActivitiesSavePartially

The changed here is to use a field validator that refused editing when there are pending activities, so that user gets a:

erp5-pending-activiities

and the result is either all changes are applied or no change is applied at all.

This is done by:

  • introducing a new my_view_mode_id field in erp5_core's Base_viewFieldLibrary
  • using this field as proxy field of all editable my_id fields. Maybe I forgot some business templates, I changed only the most common ones. I intentionally did not change all fields of erp5_ui_test because I think they are used to compare speed of proxy fields vs traditional fields.

0352f50fd543fda2712bb8ca93d8a8814f975a26 introduces a Zelenium test exercising this new behavior.

Merge request reports