1. 16 Oct, 2024 5 commits
    • Jérome Perrin's avatar
      ProcessingNodeTestCase: also setRequest in timerserver loop · 3b33a8bd
      Jérome Perrin authored
      This is similar to 18deb716 (ProcessingNodeTestCase: also setRequest
      in processing_node, 2023-05-02), as said in that commit message,
      timerserver loop calls setRequest, but before entering the loop, we
      wait for the portal to be created with:
      
       447   │           try:
       448   │             self.portal = self.app[self.app.test_portal_name]
       449   │           except (AttributeError, KeyError):
       450   │             continue
      
      While accessing like this, this will load classes and initialize dynamic
      modules, on python2 this was OK, but on python3 this was raising an
      error because `getRequest` returned None:
      
        File "./parts/erp5/product/ERP5Type/dynamic/component_package.py", line 449, in load_module
          return self.__load_module(fullname)
        File "./parts/erp5/product/ERP5Type/dynamic/component_package.py", line 416, in __load_module
          erp5.component.ref_manager.add_module(module)
        File "./parts/erp5/product/ERP5Type/dynamic/dynamic_module.py", line 86, in add_module
          self.add_request(get_request())
        File "./parts/erp5/product/ERP5Type/dynamic/dynamic_module.py", line 64, in add_request
          self.setdefault(last_sync, (WeakSet(), set()))[0].add(request_obj)
        File "./lib/python3.9/_weakrefset.py", line 89, in add
          self.data.add(ref(item, self._remove))
      TypeError: cannot create weak reference to 'NoneType' object
      
      On python2, this was actually raising as well, but this error is hidden
      by a `hasattr`, because on python2 `hasattr` ignores all exceptions and
      on python3 it only ignores only `AttributeError`.
      
        File "./parts/erp5/product/ERP5Type/Core/PropertySheet.py", line 61, in createAccessorHolder
          self.applyOnAccessorHolder(accessor_holder, expression_context, portal)
        File "./parts/erp5/product/ERP5Type/Core/PropertySheet.py", line 175, in applyOnAccessorHolder
          for property_definition in self.contentValues():
        File "./parts/erp5/product/ERP5Type/Core/Folder.py", line 1570, in contentValues
          portal_type_id_list = self._getTypesTool().listContentTypes()
        File "./parts/erp5/product/ERP5Type/Tool/TypesTool.py", line 173, in listContentTypes
          provider_value = _getOb(provider, None)
        File "./eggs/Zope-4.8.7-py2.7.egg/OFS/ObjectManager.py", line 323, in _getOb
          if id[:1] != '_' and hasattr(aq_base(self), id):
        File "./parts/erp5/product/ERP5Type/dynamic/lazy_class.py", line 120, in __getattribute__
          self.__class__.loadClass()
      3b33a8bd
    • Arnaud Fontaine's avatar
      WIP: Why? · 756b3cf2
      Arnaud Fontaine authored
      756b3cf2
    • Arnaud Fontaine's avatar
      WIP: py3: ZServer removed. · 29877b5b
      Arnaud Fontaine authored
      29877b5b
    • Jérome Perrin's avatar
      WIP: patches/python: override py3 builtin round to keep py2 behavior. · 000cdbab
      Jérome Perrin authored
      And workaround safeimage impacted by this round2 patch.
      000cdbab
    • Nicolas Wavrant's avatar
  2. 15 Oct, 2024 21 commits
  3. 14 Oct, 2024 6 commits
  4. 02 Oct, 2024 1 commit
  5. 01 Oct, 2024 1 commit
  6. 30 Sep, 2024 1 commit
  7. 27 Sep, 2024 5 commits
    • Roque's avatar
      Update monitoring app storage · 3982aa81
      Roque authored
      See merge request !1977
      3982aa81
    • Roque's avatar
      erp5_web_monitoring: refactor how app handles data · db9466f8
      Roque authored
      - app does not manipulate data structure anymore (jio does)
      - use union storage for multiple masters
      - remote slapos masters fetch is done in replicateopml storage repair method
      - sync repair method recreates the storage on new master urls, and updates the stored objects accordingly
      - add erp5monitor layer in monitoring jio storage
      db9466f8
    • Roque's avatar
      erp5_officejs: fix error in header rendering · b3c075f1
      Roque authored
      - add notify parameters on controller
      - fix form_view custom submit handling
      b3c075f1
    • Kazuhiko Shiozaki's avatar
      erp5_core: reindex recursively only if indexable children type exists in... · 18e9c69a
      Kazuhiko Shiozaki authored
      erp5_core: reindex recursively only if indexable children type exists in Base_reindexObjectSecurity.
      
      This is important especially for SyncML Subscription having tons of SyncML Signatures that is non-indexable.
      
      Note: first I tried the change in the restricted python only like :
      
      --- product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_reindexObjectSecurity.py
      +++ product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_reindexObjectSecurity.py
      @@ -4,7 +4,8 @@
       # with lots of content could mean hours of non-usable overloaded system.
       type_tool = context.getPortalObject().portal_types
       for portal_type_name in context.getTypeInfo().getTypeAllowedContentTypeList():
      -  if getattr(type_tool, portal_type_name).getTypeAcquireLocalRole():
      +  if getattr(type_tool, portal_type_name).getTypeAcquireLocalRole() and \
      +      type_tool.getPortalTypeClass(portal_type_name).isIndexable():
           reindex = context.recursiveReindexObject
           break
       else:
      
      but I got the following exception :
      
        File "Script (Python)", line 8, in Base_reindexObjectSecurity
          type_tool.getPortalTypeClass(portal_type_name).isIndexable():
        File "/(SR)/eggs/AccessControl-4.4-py2.7-linux-x86_64.egg/AccessControl/users.py", line 179, in allowed
          if self._check_context(object):
        File "/(SR)/parts/erp5/product/ERP5Type/patches/AccessControl_patch.py", line 44, in _check_context
          return aq_inContextOf(getattr(object, '__self__', object), context, 1)
      TypeError: unbound method _aq_dynamic() must be called with Address instance as first argument (got str instance instead)
      18e9c69a
    • Georgios Dagkakis's avatar
      erp5_core: Allow more attributes in gadget_html_viewer.js · 3ec082b3
      Georgios Dagkakis authored
      Plus, remove the duplicate of 'text-align'
      3ec082b3