An error occurred fetching the project authors.
  1. 25 Oct, 2022 2 commits
  2. 24 Jan, 2022 1 commit
  3. 23 Apr, 2021 1 commit
    • 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
  4. 25 Mar, 2021 1 commit
    • Jérome Perrin's avatar
      accounting: Fix "Account Type must be set" constraint not always applying · 973ffdef
      Jérome Perrin authored
      This constraint had a TALES expression making it not apply on invalidated
      accounts, but during the transition invalidated -> validated, when the account's
      consistency is checked, the account is still in invalidated state, so that
      check was ignored, making it possible for users to validate an account without
      and account type.
      973ffdef
  5. 03 Mar, 2021 1 commit
  6. 19 Jan, 2021 1 commit
    • Jérome Perrin's avatar
      accounting: Fix timezone issues when checking periods are consecutive · 307470e2
      Jérome Perrin authored
      Opening an accounting period is refused if the start date of the period
      is more than one day after the stop date of the previous period, but this
      check did not take into account that "next day" might be more than 24
      hours, like it's the case when daylight saving happen between these dates.
      Instead we check that the difference is less than 1.9 days.
      
      Reorganise tests to group accounting period related tests in a dedicated
      test class and add missing tests for period validation checks.
      
      Also fix a few race conditions with catalog indexing that are probably not
      a problem in real life but were revealed by the test.
      307470e2
  7. 11 Nov, 2020 1 commit
  8. 24 Sep, 2020 1 commit
    • Jérome Perrin's avatar
      accounting: fix validation of accounting transactions with too precise amounts · 07e817df
      Jérome Perrin authored
      Round the amounts line by line when validating transactions balances and
      showing the totals on an accounting transaction.
      
      Even though float field configurations do not allow users to input transactions
      where amounts uses more digits that what makes sense for the selected currency,
      we had cases where some transactions generated by custom scripts were "too
      precise" and passed the validation because unlike in all reports where we
      display sum of rounded values, the check was only rounding the sum, which cause
      some transactions with 1.00 on one side and 0.333333 0.333333 and 0.333333 on
      the other side to be valid.
      
      The scripts used to display sums on an accounting transaction had the same
      problem, they were also showing the rounded sum and not the sum of rounded
      values.
      07e817df
  9. 07 Sep, 2020 1 commit
  10. 23 Apr, 2020 2 commits
    • Arnaud Fontaine's avatar
      ZODB Components: erp5_trade: Migrate Documents, Interfaces and Mixins from filesystem (MR !1101). · 85417113
      Arnaud Fontaine authored
      * Remove TaxLine Document which was replaced by Trade Model Line a while ago.
      * Keep {Delivery,Inventory,Order}{Cell,Line} on FS for now because of InventoryInteractor.
      * About DeliveryRootSimulation Document migration to erp5_trade:
        + AccountingTransactionRootSimulationRule (erp5_accounting) inherited from
          it but as this is probably not actually used/useful, avoid depending on
          erp5_trade or refactoring but just copy/paste.
        + InvoiceRootSimulationRule inherited from it but as it is only used in
          erp5_invoicing (which already depends on erp5_trade) move it there.
          - erp5_configurator_standard_accounting_template: Add depend on erp5_invoicing.
      * Move Documents used by several bt5 to erp5_core rather than add depends on erp5_core.
        Once migration of Products to ZODB Components will be finished, there will be moved to
        their appropriate bt5s as it would be complicated to reorganize bt5s too at this point.
        + Inventory: used by erp5_archive and erp5_accounting.
        + Order: used by erp5_project.
        + PackingList: used by erp5_publication.
      85417113
    • Arnaud Fontaine's avatar
      ZODB Components: erp5_invoicing: Migrate Documents from filesystem. · d810bfaf
      Arnaud Fontaine authored
      * Add bt5 dependencies:
        + erp5_demo_maxma_rule: Invoice*Rule rules.
      * Move Documents used by several bt5 to erp5_core rather than add depends on erp5_core.
        Once migration of Products to ZODB Components will be finished, there will be moved to
        their appropriate bt5s as it would be complicated to reorganize bt5s too at this point.
        + Invoice{Line,Cell}: used by erp5_payroll.
      d810bfaf
  11. 14 Feb, 2020 1 commit
    • Jérome Perrin's avatar
      tests: don't run coding style tests in unit tests · dab1dd86
      Jérome Perrin authored
      We run them in coding style test suite already.
      
      Also these test now need business template repository properly
      configured in template tool, which is not set in default setup, so
      keeping them working would require extra work.
      dab1dd86
  12. 16 May, 2019 2 commits
  13. 28 Mar, 2019 1 commit
    • Jérome Perrin's avatar
      accounting: reset grouping reference in a "context free" script · 439ff1b3
      Jérome Perrin authored
      Introduce a new ERP5Site_resetAccountingTransactionLineGroupingReference
      script to reset grouping reference on accounting transaction lines.
      
      This solve a problem with the way we activated on
      AccountingTransactionLine_resetGroupingReference the context of the
      line, if line was removed from OFS before activity was executed, the
      activity was discarded and grouping references on related lines was not
      reset.
      
      Also drop the unused `keep_if_valid_group` parameter, it was not making
      sense.
      
      /reviewed-on !849
      439ff1b3
  14. 25 Mar, 2019 2 commits
  15. 20 Mar, 2019 1 commit
  16. 19 Nov, 2018 1 commit
  17. 24 Jan, 2018 1 commit
    • Vincent Pelletier's avatar
      all: Avoid trivial direct calls to {recursiveI,i}mmediateReindexObject · ab9e0f93
      Vincent Pelletier authored
      These methods must not be called synchronously:
      - they can break catalog by not being careful enough about other
        reindexations which may happen in parallel. See the serialization_tag
        mechanism for more.
      - indexation gets executed in the security context of the user causing the
        call, which may lead to an indexation result different from what happens
        when indexation happens with an all-accesses user.
      These lines of code (some even commented-out) give a bad example. Replace
      them with safe equivalents.
      ab9e0f93
  18. 04 Oct, 2017 1 commit
  19. 05 Jul, 2017 2 commits
  20. 19 Jun, 2017 2 commits
  21. 16 Jun, 2017 1 commit
  22. 09 Mar, 2017 1 commit
  23. 18 Jan, 2017 1 commit
  24. 06 Dec, 2016 1 commit
  25. 09 Nov, 2016 1 commit
    • Jérome Perrin's avatar
      Accounting: fix a wrong constraint when checking accounting periods · f61b748d
      Jérome Perrin authored
      When we have a transaction with both sections from the same group, we
      only check accounting periods for the sides which actually define
      accounting. When there was a source or destination organiation defined
      at the delivery level it was acquired on the lines and in that check we
      wrongly considered this to be defining accounting.
      f61b748d
  26. 30 Sep, 2016 1 commit
  27. 27 Sep, 2016 1 commit
  28. 23 Jun, 2016 1 commit
  29. 22 Jun, 2016 1 commit
  30. 28 Jan, 2016 1 commit
  31. 21 Oct, 2015 1 commit
  32. 16 Jul, 2015 1 commit
  33. 10 Mar, 2015 1 commit
  34. 10 Feb, 2015 1 commit