1. 07 May, 2021 1 commit
    • Jérome Perrin's avatar
      BusinessTemplate: fix removing and trashing a document and its container · ad81abc0
      Jérome Perrin authored
      Because we were backing up to trash documents in the wrong order (in the example
      from the test, portal_categories/test_category/removed_container/removed_document
      first and then portal_categories/test_category/removed_container), first the
      document was backed-up and some intermediate trash folders were created to
      keep the hierarchy. Then when backing up the container, there was an error like:
      
          BadRequest: The id "removed_container" is invalid - it is already in use.
      
      Similar error happens when upgrading erp5_configurator_standard, it was failing with:
      
          BadRequest: The id "officejs_sdk_workflow" is invalid - it is already in use.
      
      The fix is to backup in reverse order, to back up first the containers and then
      the document in containers.
      ad81abc0
  2. 06 May, 2021 1 commit
  3. 03 May, 2021 1 commit
  4. 30 Apr, 2021 7 commits
  5. 29 Apr, 2021 3 commits
  6. 28 Apr, 2021 2 commits
  7. 27 Apr, 2021 3 commits
  8. 26 Apr, 2021 3 commits
  9. 23 Apr, 2021 7 commits
    • Arnaud Fontaine's avatar
      ERP5Workflow: Remove unused variable_default_value and use... · 57fcbcec
      Arnaud Fontaine authored
      ERP5Workflow: Remove unused variable_default_value and use variable_default_expression instead (!1378).
      57fcbcec
    • Arnaud Fontaine's avatar
    • Arnaud Fontaine's avatar
    • Arnaud Fontaine's avatar
      ERP5Workflow: erp5_configurator_*: Migrate Configurator Workflows from... · a51a13c5
      Arnaud Fontaine authored
      ERP5Workflow: erp5_configurator_*: Migrate Configurator Workflows from workflow_module to portal_workflow (!1378).
      
      Migration Procedure: With your current instance:
        1. Update erp5.git
        2. Start your instance.
        3. Upgrade erp5_property_sheets, erp5_core and erp5_configurator bt5s.
        4. Add an External Method for the module migrateWorkflowModuleToPortalWorkflow and the function of the same name as the module.
        5. Run the External Method to convert them from workflow_module to portal_workflow.
        6. Move all workflow_module from PathTemplateItem of your Business Template to Workflows and commit.
      a51a13c5
    • Arnaud Fontaine's avatar
      ERP5Workflow: DC Workflows are now ERP5 objects (!1378). · df85ef46
      Arnaud Fontaine authored
      This also moves all Configurator Workflows in workflow_module to portal_workflow
      (workflow_module was an implementation of Workflows based on ERP5 objects and
      not using DCWorkflow code).
      
      * Workflows are now defined on on portal_workflow._chains_by_type anymore but,
        as everything else, on the Portal Type itself.
      * portal_workflow can contain and work at the same time with legacy and new
        Workflows (ERP5Type/patches/DCWorkflow.py monkey-patching DCWorkflow classes
        to provide the same API).
      * Existing Workflow Scripts should work as they are and the code can be updated
        later on to take advantage of the new API:
        + With legacy implementation Workflow {Scripts,Transitions,Worklists,States}
          were in a Folder ({scripts,transitions,worklists,states} attribute) but
          all of these are now in the Workflow itself and their IDs are prefixed
          (PropertySheet-style), for example `script_`. Legacy attributes are
          provided in new implementation to call the new API.
        + When calling a Workflow Script, `container` was bound to its parent, namely
          WF.scripts (Folder) and a Workflow Script could call another. Now `container`
          is bound to the WF itself and Workflow Scripts are in a Workflow directly.
          New implementation `scripts` attribute handle such use case.
        + Override portal_workflow.__getattr__ so that a Workflow Script can call
          another one without prefix.
      * Worklist are Predicate: Worklist filter objects based on given criterions and
        thus it makes more sense for a Worklist to be a Predicate (albeit a Predicate
        with only Identity Criterion and nothing else).
        + Criterion Properties:
          * state_variable.
          * local_roles (SECURITY_PARAMETER_ID).
          * Any Workflow Variables with for_catalog == 1.
      
      erp5_performance_test:testWorkflowPerformance were ran to compare DCWorkflow
      and ERP5Workflow implementations and it seems to be about 4% slower with the
      new implementation (legacy: 7.547, 7.593, 7.618, 7.59, 7.514 and new: 7.842,
      7.723, 7.902, 7.837, 7.875).
      
      Work done by Wenjie Zheng, Isabelle Vallet, Sebastien Robin and myself.
      df85ef46
    • Arnaud Fontaine's avatar
    • Jérome Perrin's avatar
      payment_mean: don't display specialise as "Mandate" · 81d98560
      Jérome Perrin authored
      this is not erp5_accounting data model.
      81d98560
  10. 21 Apr, 2021 2 commits
  11. 20 Apr, 2021 1 commit
  12. 19 Apr, 2021 2 commits
  13. 16 Apr, 2021 1 commit
    • Jérome Perrin's avatar
      xhtml_style: fix rendering of standard_error_message when site title is not ASCII · 8fffd3f8
      Jérome Perrin authored
      When rendering error page, the default header_title is computed in global_definitions
      and this is done by concatenating string:ERP5 (which is unicode) and the
      title of the portal (which is an UTF-8 encoded string), which causes an
      UnicodeDecodeError, because the portal title was decoded as ASCII.
      
      Because header_title is usually an UTF-8 encoded string, also use an UTF-8
      encoded string for 'ERP5' default value.
      8fffd3f8
  14. 15 Apr, 2021 6 commits