An error occurred fetching the project authors.
  1. 10 Aug, 2021 1 commit
  2. 22 Jun, 2021 1 commit
    • Jérome Perrin's avatar
      ERP5Form: fix `cell` in Matrixbox TALES context · 6222335b
      Jérome Perrin authored
      TALESValue always had a strange behavior of setting the request as `cell` when
      rendering a matrixbox in the case where there was no cell at the given
      coordinates, but this code was not used, becase the request was not passed in
      kw. When in 777c5e6c ([ERP5Form] Pass request to fields, 2017-12-29) we
      changed to always pass the request, this changed the behavior. After this
      change when there was no matrix cell, in the TALES context the variable `cell`
      became request.
      
      This restore the original behavior (cell being the cell or None), by changing
      the questionable code that was not used before.
      6222335b
  3. 29 Apr, 2021 1 commit
  4. 29 Jan, 2021 3 commits
    • Jérome Perrin's avatar
      ERP5Form: implement a basic checkConsistency for ProxyField · 459093f3
      Jérome Perrin authored
      For now this only checks that every entries in .tales are also in .values
      so that .has_value works as expected. This also supports repairing the
      structures with fixit argument.
      
      We could check more, because there are other problems with proxy fields
      internal structures:
       - sometimes some keys are in .values / .tales but not in .delegated_list
         this seem to happen after changing the target to a field of a different
         type, with different keys.
       - .delegated_list are not always sorted
      459093f3
    • Jérome Perrin's avatar
      ERP5Form: fix Form.proxifyField when field only has TALES · 4068924a
      Jérome Perrin authored
      The internal data structures are made of two dicts: .values for values and
      .tales for TALES. Formulator expect that these two dicts have keys for all
      properties, because of the implementation of Field.has_value which checks
      for the presence of the key in .values
      
      When making a field with only TALES, this method was setting the value only
      in .tales but the same key needs to be present also in .values, otherwise
      get_value would return False for this key.
      4068924a
    • Jérome Perrin's avatar
      ERP5Form: keep delegated_list sorted in Form.proxifyField · 974f4347
      Jérome Perrin authored
      For same reasons as 5b1c03c8 (sort delegated lists to make proxy field
      representations more stable., 2009-05-18)
      974f4347
  5. 21 Dec, 2020 1 commit
  6. 16 Apr, 2020 1 commit
    • Arnaud Fontaine's avatar
      Portal Type as Classes: ERP5Form: Instances of Documents should never be created directly. · e791d08a
      Arnaud Fontaine authored
      This has been banned since the introduction of Portal Type class. When creating
      a new ERP5Form via addERP5Form/ZMI, its MRO:
        * Before:
          <class 'Products.ERP5Form.Form.ERP5Form'>
          <class 'Products.ERP5Type.Base.Base'>
          ...
          <type 'ExtensionClass.Base'>
        * Now:
          <class 'erp5.portal_type.ERP5 Form'>,
          <class 'Products.ERP5Form.Form.ERP5Form'>,
          <class 'Products.ERP5Type.Base.Base'>,
          ...
          <class 'erp5.accessor_holder.property_sheet.SimpleItem'>
          <class 'erp5.accessor_holder.property_sheet.Folder'>
          <class 'erp5.accessor_holder.property_sheet.Base'>
          <class 'erp5.accessor_holder.property_sheet.CategoryCore'>
          <class 'erp5.accessor_holder.BaseAccessorHolder'>
          <class 'Products.ERP5Type.dynamic.portal_type_class.GetAcquireLocalRolesMixIn'>
          <type 'ExtensionClass.Base'>
      
      Thus it was missing many accessors and was working only by chance (or at least
      unless these accessors were not called until the object was automatically migrated
      by the next call to __setstate__). Namely, as `providesI*` accessors are now in
      BaseAccessorHolder rather than Base due to ZODB Components, this breaks reindexing
      (`AttributeError: providesIPredicate`).
      
      Also, remove hardcoded _getAcquireLocalRoles() now that it is not used as a regular
      class anymore. Set this on the portal type object instead.
      e791d08a
  7. 26 Dec, 2019 1 commit
    • Jérome Perrin's avatar
      ERP5: fix content_type property · 5d5e0c49
      Jérome Perrin authored
      content_type is a bit special, because CMF's PortalFolderBase also have
      a content_type method, so this was confusing ERP5Type dynamic properties
      system. When the property was never set, the default value was the
      method acquired from PortalFolderBase.
      
      Fixes this by defining conten_type class attribute where needed.
      
      This also fixes an old expected failure test, it's now possible to use
      edit(content_type=something) in document without content type property
      set. It works now, but thanks to what seems to be outdated code in
      _valid_property_id from product/ERP5Type/patches/PropertyManager.py,
      because we have stopped setting all properties to None in Base years
      ago. For now, this works, but because of an outdated condition in
      _valid_property_id. We may revisit later in the future.
      5d5e0c49
  8. 16 Sep, 2019 1 commit
  9. 13 Sep, 2019 1 commit
  10. 24 Apr, 2019 1 commit
    • Vincent Pelletier's avatar
      ERP5Type: Allow overriding _getAcquireLocalRoles . · 58d4ab8e
      Vincent Pelletier authored
      Put auto-generated _getAcquireLocalRoles at the end of mro, removing it
      from Base.
      Also, document why it is treated specially here.
      Also, add _getAcquireLocalRoles methods on a few leaf classes whose
      instances fake being portal types, without actually being proper document
      instances. At least, the ones which are detected in unit tests. The
      proper fix would likely rather be to make them proper document classes,
      but this carries data migration concerns which go beyond the scope of
      this regression fix (_getAcquireLocalRoles was not possible to override
      anymore).
      58d4ab8e
  11. 26 Apr, 2018 1 commit
  12. 08 Jan, 2018 2 commits
  13. 25 Oct, 2017 1 commit
  14. 20 May, 2016 1 commit
  15. 11 May, 2016 1 commit
  16. 19 Jan, 2016 1 commit
  17. 12 Jan, 2016 2 commits
  18. 16 Oct, 2014 1 commit
  19. 04 Sep, 2014 1 commit
  20. 08 Aug, 2014 2 commits
  21. 10 Apr, 2014 1 commit
  22. 21 Feb, 2014 1 commit
  23. 06 Feb, 2014 1 commit
  24. 28 Oct, 2013 1 commit
  25. 14 Apr, 2011 1 commit
  26. 07 Apr, 2011 1 commit
  27. 17 Feb, 2011 1 commit
  28. 16 Nov, 2010 1 commit
  29. 29 Oct, 2010 1 commit
  30. 23 Aug, 2010 1 commit
  31. 27 Jul, 2010 1 commit
  32. 15 Jul, 2010 1 commit
    • Sebastien Robin's avatar
      sync with trunk@37114 · c1ae57b0
      Sebastien Robin authored
      Conflicts:
      	bt5/erp5_base/bt/revision
      	bt5/erp5_simulation/DocumentTemplateItem/InvoiceSimulationRule.py
      	bt5/erp5_simulation/bt/revision
      	bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Base_viewTradeFieldLibrary.xml
      	bt5/erp5_trade/bt/change_log
      	bt5/erp5_trade/bt/revision
      	products/ERP5/Document/BusinessPath.py
      	products/ERP5/Document/SimulationMovement.py
      	products/ERP5/Document/TradeCondition.py
      	products/ERP5/Document/TradeModelLine.py
      	products/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
      	products/ERP5Type/ERP5Type.py
      
      git-svn-id: https://svn.erp5.org/repos/public/erp5/sandbox/amount_generator@37129 20353a03-c40f-0410-a6d1-a30d3c3de9de
      c1ae57b0
  33. 10 Jun, 2010 1 commit
  34. 01 Jun, 2010 1 commit
  35. 21 May, 2010 1 commit