1. 30 Apr, 2024 4 commits
    • Roque's avatar
      erp5_officejs: add custom submit gadget option · dd3a84ec
      Roque authored
      - truncate long string in text area fields
      dd3a84ec
    • Roque's avatar
      erp5_web_monitoring: refactor monitoring app to use new ojs framework · 563c50f4
      Roque authored
      - site web section changes
      - update app router
      - update app panel
      - adapt monitoring jio gadget and jio storage
      - add form views configuration
      - add new portal types, views and actions
      - migration_version check
      - update precache manifest
      - sync checks and redirection
      - refactor dispatch page according to new monitor urls
      - add opml redirects to front page
      - slapos portal types
      - drop obsolete files
      - drop auto-sync on add OPML page
      - parameters gadget field for instance tree view
      - custom views for software instance resources and processes
      - options header gadget (custom header options)
      
      erp5_web_monitoring: update precache and  fix instance tree view parameter sort
      563c50f4
    • Roque's avatar
      erp5_officejs: update app customization via router settings · 4b3afea6
      Roque authored
      - allow custom app configurator
      - render listbox form field extra configuration
      - fix date format rendering
      - allow configuration form fields to have extra js code
      - allow to customize listbox column styles
      - allow to customize listbox jio_alldocs
      - fix custom view handling
      - fix gadget field rendering
      - allow dev user to set custom header options
      - truncate long string fields in listboxes rendering
      4b3afea6
    • Vincent Pelletier's avatar
      ERP5Site_dump*: Restrict access to only Manager users · 306aa82c
      Vincent Pelletier authored
      These scripts take time to run, so restrict them to Manager users.
      306aa82c
  2. 29 Apr, 2024 1 commit
  3. 24 Apr, 2024 1 commit
  4. 22 Apr, 2024 1 commit
  5. 16 Apr, 2024 5 commits
    • Rafael Monnerat's avatar
      More fixes for json editor · f2318991
      Rafael Monnerat authored
      See merge request nexedi/erp5!1919
      f2318991
    • Rafael Monnerat's avatar
      e17a41e5
    • Rafael Monnerat's avatar
      erp5_json_editor: Fixup const and ensureArraySize · 273c120a
      Rafael Monnerat authored
         * const is handled as enum with a single value automatically
         * patch ensureArraySize to not modify the user input, let the user safely slice by himself.
         * Reorganise patches so it is grouped by prototype
      273c120a
    • Vincent Pelletier's avatar
    • Vincent Pelletier's avatar
      Optimise security group generation performance · 354c857e
      Vincent Pelletier authored
      Improvements compared to the previous implementation:
      - avoid looking up the user document again, when the PAS plugin already did
        that job
      - make it possible to call a single script when multiple sources of groups
        are based on the same documents, avoiding iterating unnecessarily on
        those same documents multiple times
      - avoid repeating the same membership value (ex: when a user has multiple
        assignments with a common membership subset)
      - avoid resolving the same relation more than once
      - do not go from document value to relative URL only to go from relative
        URL back to document value at the next step
      - move security group id extraction to unrestricted python, as the security
        overhead was taking a large amount of time
      In a security setup with 8 scripts (all Assignment-based), 6 base
      categories, and 4 Assignments (all valid), this implementation is 10 times
      faster at producing the same group id set as the previous one.
      354c857e
  6. 15 Apr, 2024 1 commit
  7. 13 Apr, 2024 3 commits
  8. 11 Apr, 2024 1 commit
    • Carlos Ramos Carreño's avatar
      Do not overwrite `output.write` in live tests. · 9a7e3383
      Carlos Ramos Carreño authored
      The `write` method of the `output` object was being overwritten
      in live tests, replacing it to a function that printed both to
      the output and to stdout. This was not necessary, as it is
      possible to use this function directly. Moreover, the function
      code had two flaws:
        - It assumed that output was a particular (StringIO) class.
        This caused a problem during the migration (commit
        80bd30fc820d273d18d9c54566137301d9c40a4c).
        - It printed to stdout instead to stderr.
      Using the function directly allows `output.write` to be used
      inside it, preventing the first flaw. The second flaw has also
      been solved.
      9a7e3383
  9. 09 Apr, 2024 2 commits
  10. 08 Apr, 2024 1 commit
  11. 29 Mar, 2024 1 commit
  12. 27 Mar, 2024 5 commits
  13. 26 Mar, 2024 4 commits
  14. 25 Mar, 2024 1 commit
    • Titouan Soulard's avatar
      ERP5Type: fix dummy memcached placeholder · 0345d19e
      Titouan Soulard authored
      When trying to use `MemcachedTool` without the `python-memcached` package,
      a dummy implementation is supposed to allow installation while giving a
      warning when called.
      
      This dummy implementation was broken because it was calling a wrong class,
      named `_MemcachedTool`, which did not exist. Instead, `_MemcacheTool` did
      exist and was used for the real implementation.
      
      This commit renames `_MemcacheTool` to `_MemcachedTool` to allow dummy
      implementation to work.
      0345d19e
  15. 21 Mar, 2024 3 commits
    • Jérome Perrin's avatar
      officejs: fix a wrong ID in a PathTemplateItem object · e9c62981
      Jérome Perrin authored
      Fixes an logged error while indexing:
      
          2024-03-07 23:44:21.997 WARNING CMFActivity Message dropped (no object found at path ('', 'erp5_portal_ec7d28d9ada99a2cad998125d59fc158', 'image_module', 'gadget_officejs_appstore_app_text_editor_icon_text_editor_png'))
          Traceback (most recent call last):
            File "/srv/slapgrid/slappart22/t/eje/soft/de456d85f70e1b1a086396326977c83c/parts/erp5/product/CMFActivity/ActivityTool.py", line 262, in getObject
              obj = self._getObject(activity_tool)
            File "/srv/slapgrid/slappart22/t/eje/soft/de456d85f70e1b1a086396326977c83c/parts/erp5/product/CMFActivity/ActivityTool.py", line 256, in _getObject
              obj = obj[id]
            File "/srv/slapgrid/slappart22/t/eje/soft/de456d85f70e1b1a086396326977c83c/eggs/Zope-4.8.9+slapospatched002-py2.7.egg/OFS/ObjectManager.py", line 843, in __getitem__
              raise KeyError(key)
          KeyError: 'gadget_officejs_appstore_app_text_editor_icon_text_editor_png'
      e9c62981
    • Rafael Monnerat's avatar
      erp5_xhtml_style: Dont jump to workflow manage main · 9805e260
      Rafael Monnerat authored
         Workflows now are viable from ERP5 UI, so redirect to /view instead
      9805e260
    • Jérome Perrin's avatar
      Fix code depending on python2 __hash__ · 0ed7ff48
      Jérome Perrin authored
      With python2, iterating on a dictionary or a set always produces the same result,
      although this is not a documented behavior. On python3 this is not the case,
      because the hashing algorithm is random by default, which can also be set using [`PYTHONHASHSEED`](https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED). On SlapOS, this is done with slapos!1535 
      
      This fixes the parts where ERP5 code depends on python2 order, mostly tests, but also places
      where we iterate on a dictionary or set. Most of the time, the fix has been to sort so that
      the order is deterministic regardless of the hash algorithm randomization, but sometimes we
      had to extend a bit the configuration where the order was really important. We did this after
      discovering the problematic areas by running tests multiple times with different hash randomization
      seeds. It's not impossible that changing from "default python2 order" to "sorted" reveals some
      more problems in custom configurations, but this would mean that the configuration must be 
      adjusted to use explicit order instead of being lucky with the default python2 order.
      
      The main pattern was the use of `edit` method which edits properties in an order that is a bit
      constrained with the `edit_order` mechanism, because some properties depend on other properties,
      so it's important to set them in order. This extends a bit the `edit_order` mechanism to specify
      more properties that were edited in the right order with `PYTHONHASHSEED=0` by chance.
      
      This also extends delivery builders to edit properties in order defined in the equivalence tester,
      most equivalence tester were already properly configured, except the `start_date` and `stop_date`
      from delivery level movement groups. That probably only matters for some specific test assertions,
      but in practice this was visible in a lot of failing tests.
      
      Some visible changes are that:
       - workflows are now sorted alphabetically on history tab
       - properties are now sorted alphabetically on the diff view of history tab
       - business templates are installed in the order of dependencies and in alphabetic order when they
        are not constrained.
      
      See merge request !1882
      0ed7ff48
  16. 19 Mar, 2024 6 commits