1. 01 Jul, 2019 9 commits
  2. 04 Jun, 2019 2 commits
    • Boris Kocherov's avatar
    • Jérome Perrin's avatar
      Updates for xhtml style and gadgets · ce4e546b
      Jérome Perrin authored
      Gadgets:
      
      * Support `changed` flag from `erp5.js`: 
      
      ![unsaved changes sreenshot](/uploads/cff30eae0a5d87df26bac13d43e1da3f/image.png)
      
      * Comply with translation protocol used in ERP5JS. This does not translate, because it would not be easy ( ERP5JS translate client side with a json database of message, but in xhtml style the translation is performed server side with localizer) and not so important now. What matters is just that we can somehow reuse gadgets.
      
      Style:
      
      * While we are at it, fix a minor annoyance that the button in "long" dialogs where not easy to reach, at least on chrome
      
      ![before](/uploads/e03a8311571806a55fd72f6923cf855a/Screenshot_2019-05-31_at_10.38.05.png)
      
      ![after](/uploads/5753bc44fbc0f69b6adfeb14b3367236/Screenshot_2019-05-31_at_10.38.37.png)
      
      /reviewed-on nexedi/erp5!880
      ce4e546b
  3. 03 Jun, 2019 5 commits
    • Romain Courteaud's avatar
    • Romain Courteaud's avatar
      [erp5_core] Make live test gadget reusable · b22e7b69
      Romain Courteaud authored
      Remove all globals to allow multiple live tests running on the same page.
      Stop reading the test output if the browser tab doesn't have the focus.
      Stop hardcoding the URL in the javascript.
      Stop hardcoding other fields path in the javascript (+ embed the textarea in the gadget).
      
      Propagate all parameters via formulator.
      It will allow to use this gadget from another context document.
      
      Run live test from the RJS UI
      b22e7b69
    • Jérome Perrin's avatar
      xhtml_style: expose methods from interface_translation.html · 56297366
      Jérome Perrin authored
      This way we can use gadgets using of ERP5JS translation API in xhtml
      style.
      This is really minimal compatibility layer and translation is not
      actually performed.
      56297366
    • Vincent Pelletier's avatar
      ImplicitItemMovementModule_viewImplicitItemMovementList: Do not sort by title by default. · 34e4ada5
      Vincent Pelletier authored
      Sorting in a module is terrible for performance as soon as there is more
      than a trivial amount of documents in that module.
      34e4ada5
    • Jérome Perrin's avatar
      testInvalidationBug: update after CMFActivity's node families · ef9fe5da
      Jérome Perrin authored
      Test was failing because family mapping is loaded while connection is
      already closed.
      
      ```
      Traceback (most recent call last):
        File "erp5/Products/ERP5/tests/testInvalidationBug.py", line 156, in testLateInvalidationFromZEO
          activity_tool.tic()
        File "erp5/product/ERP5Type/tests/ProcessingNodeTestCase.py", line 96, in tic
          self._orig_tic(processing_node, force)
        File "erp5/product/CMFActivity/ActivityTool.py", line 1326, in tic
          node_family_id_set = self.getCurrentNodeFamilyIdSet()
        File "erp5/product/CMFActivity/ActivityTool.py", line 921, in getCurrentNodeFamilyIdSet
          return self._getNodeFamilyIdDict().get(getCurrentNode(), ())
        File "ZODB/Connection.py", line 909, in setstate
          self._setstate(obj, oid)
        File "ZODB/Connection.py", line 953, in _setstate
          p, serial = self._storage.load(oid, '')
        File "ZEO/ClientStorage.py", line 825, in load
          result = self.loadBefore(oid, m64)
        File "ZEO/ClientStorage.py", line 839, in loadBefore
          raise ClientDisconnected()
      ClientDisconnected
      ```
      
      Load the object explicitly before so that it's in cache.
      
      /reviewed-on nexedi/erp5!881
      ef9fe5da
  4. 31 May, 2019 5 commits
  5. 29 May, 2019 6 commits
  6. 28 May, 2019 2 commits
  7. 24 May, 2019 6 commits
    • Romain Courteaud's avatar
      [erp5_hal_json_style] Fix listbox pagination · 30b4f89e
      Romain Courteaud authored
      The pagination was not working when using the limit parameter, and when
      the total number of documents is equal to the pagination limit + 1.
      30b4f89e
    • Tatuya Kamada's avatar
      simulation: Test the divergence on Float Equivalence Tester with the epsilon-span by default · 6d17f0a1
      Tatuya Kamada authored
      Before:
         Float Equivalence Tester does not test the divergence even if Divergence Provider is ON
          
      After:
           Float Equivalence Tester test the divergence with the epsilon-span if Divergence Provider is ON
          
      Before, we needed the following condition to test the divergence at Float Equivalence Tester:
          
             "Divergence Provider is ON"  AND
             ("Absolute Tolerance has some value"  OR
              "Relative Tolerance has some value" )
          
      However this default behavior was not consistent with other testers, and
      difficult to notice from the user interface.
      Thus test the divergence by default with the epsilon span which is defined in 
      FloatEquivalenceTester class.
          
      The epsilon-span is the same amount that when we put 0.0 into the ranges.
      The 0.0 has been the configuration of erp5_configurator_standard_trade_template.
      
      /reviewed-on nexedi/erp5!865
      6d17f0a1
    • Vincent Pelletier's avatar
    • Vincent Pelletier's avatar
    • Vincent Pelletier's avatar
      ZSQLCatalog: Fix security indexation when indexing the same object multiple times · 048c4414
      Vincent Pelletier authored
      When an object is being indexed, it get wrapped so it has magic properties,
      like security definitions as they will be accessed by indexation methods.
      One such property is used to trigger the insertion of rows in
      roles_and_users table. That property has the special feature that it is
      only produced on the first object needing a new set of rows added to
      roles_and_users, other objects will get a None value instead for that
      property so that no further lines are inserted.
      Then, SQCatalog iterates over that wrapper list to compute all indexation
      method parameters. It does so via a cache (LazyIndexationParameterList) so
      that unused parameters are not computed. The cache key is wrapped object's
      uid.
      All this together means that if an object is indexed multiple times in a
      single call (which happens at site creation, for example) and it needs a
      new set of rows added in roles_and_users, only one of produced wrappers
      will get the appropriate value. If that object is not the first on which
      that parameter is evaluated (which gets more likely with every copy of the
      same object being indexed), it will be cached as None and shared between
      all copies, causing no row to be added to roles_and_users.
      
      Full investigation done by by Yusei Tahara.
      wrappers will get the
      048c4414
    • Nicolas Wavrant's avatar
      erp5_interface_post: do not pass potentially huge data as acitvity parameters · 51c065f4
      Nicolas Wavrant authored
      As we may reach database limits, and to avoid them to be logged.
      51c065f4
  8. 23 May, 2019 4 commits
  9. 22 May, 2019 1 commit
    • Thomas Gambier's avatar
      TemplateTool: upgrader first removes deprecated BT and then upgrade all BT · 8f270323
      Thomas Gambier authored
      For example, if property_sheet "prop" was moved from BT 1 to BT 2 and BT 1 doesn't exist anymore.
      
      Before this commit we have this order:
      1.  install BT 2 ("prop" exist and isn't touched)
      2. remove BT 1 ("prop" is removed)
      => at the end "prop" doesn't exist anymore
      
      After this commit we have this order:
      1. remove BT 1 ("prop" is removed)
      2. install BT 2 ("prop" is readded)
      => at the end "prop" exists and is OK
      
      /reviewed-on nexedi/erp5!866
      8f270323