1. 18 Nov, 2019 4 commits
    • Vincent Pelletier's avatar
      ERP5Form.Listbox: Do not use column titles from selection. · 3c171644
      Vincent Pelletier authored
      These titles duplicate listbox configuration, preventing any change from
      reaching users (...who customised their listbox).
      Also fixes cases where column title was stored in selection after
      translation, which breaks some reports.
      3c171644
    • Vincent Pelletier's avatar
      ERP5Form.Listbox: Modernise getSelectedColumnList · 7093c2a5
      Vincent Pelletier authored
      Avoid double-calls when one is enough.
      Avoid unused locals.
      Avoid repeating conditions.
      Inline single-use expressions.
      7093c2a5
    • Jérome Perrin's avatar
      ERP5Type: add a transaction note when bootstraping · f0890d93
      Jérome Perrin authored
      Bootstrap is actually the automatic migration of tools. It happened to me
      several times that I mistakenly start an old instance on a too new version of
      products and this instance is migrated automatically.
      
      By leaving a note in transaction it's easier to find out which
      transaction performed the automatic migration to revert to the state
      before using technique such as
      https://blog.gocept.com/2019/06/14/undo-transactions-by-truncating-zodb-data-fs/
      for FileStorage.
      
      with this change, a command such as;
      
          python -m ZODB.scripts.fstail -n 20 ./instance/slappart6/srv/zodb/root.fs
      
      show something like:
      
          2019-11-12 02:46:42.106313: hash=44fecb9a63411fbf305cea82f4c699c478000d61
          user=' None' description='/timer_service/process_timer\nSite migrated' length=462938 offset=881877846 (+70)
      
      for the transaction which did the migration, so it's easy to repair.
      
      /reviewed-on !975
      f0890d93
    • Arnaud Fontaine's avatar
      PortalTransforms: Move Transforms out of erp5_core to their appropriate bt5s. · 4f46e3ef
      Arnaud Fontaine authored
      * erp5_dms: ERP5OOo/ConversionServer-related Transforms.
      * erp5_web: Web Page-related Transform.
      * erp5_base: Everything else.
      
      Also, ZODB Components Transforms modules were 'Document Component', whereas
      it should be 'Module Component' (introduced recently) considering that they
      have no Portal Type.
      4f46e3ef
  2. 15 Nov, 2019 1 commit
  3. 14 Nov, 2019 9 commits
  4. 13 Nov, 2019 2 commits
  5. 12 Nov, 2019 3 commits
    • Jérome Perrin's avatar
      fixup! pdm: introduce a asCellRange script for Measure · 08bf6d94
      Jérome Perrin authored
      from a41f71c3 :
      > Remove the TALES for lines, columns and tab on the matrix box because
      > the default behavior is to call this updateCellRange script
      
      that's not true, we have to list the asCellRange script explicitly.
      08bf6d94
    • Arnaud Fontaine's avatar
      ZODB Components: ModuleSecurityInfo() should also apply to the alias module,... · eabcb211
      Arnaud Fontaine authored
      ZODB Components: ModuleSecurityInfo() should also apply to the alias module, not only to the versioned one.
      
      This fixes an Unauthorized error when GitLoginError is imported from
      erp5.component.module.Git defining ModuleSecurityInfo() for __name__
      (erp5.component.module.erp5_version.Git).
      
      Note that when migrating the content of a Product, ModuleSecurityInfo() first
      parameter must be __name__.
      
      Traceback (innermost last):
        [...]
        Module script, line 1, in BusinessTemplate_handleException
         - <PythonScript at /erp5/BusinessTemplate_handleException used for /erp5/portal_templates/832>
         - Line 1
          from erp5.component.module.Git import GitLoginError
        Module Products.ERP5Type.patches.Restricted, line 305, in guarded_import
          return orig_guarded_import(mname, globals, locals, fromlist, level)
        Module AccessControl.ZopeGuards, line 305, in guarded_import
          raise Unauthorized("import of '%s' is unauthorized" % mname)
      Unauthorized: import of 'erp5.component.module.Git' is unauthorized
      eabcb211
    • Arnaud Fontaine's avatar
      ZODB Components: Alias module was not added to sys.modules if the module it... · 223d4818
      Arnaud Fontaine authored
      ZODB Components: Alias module was not added to sys.modules if the module it points to had already been loaded before.
      223d4818
  6. 11 Nov, 2019 1 commit
  7. 08 Nov, 2019 6 commits
    • Roque's avatar
      erp5_forge: bug module domain · 40b23070
      Roque authored
      40b23070
    • Roque's avatar
      erp5_crm: new domain in support request list · 93df28d7
      Roque authored
      93df28d7
    • Roque's avatar
      erp5_base: common script to generate domains · b381ef8f
      Roque authored
      b381ef8f
    • Roque's avatar
    • Roque's avatar
      erp5_web_project_ui: initial commit for project.nexedi.net · 86b1843b
      Roque authored
      - new skin folder with project quick view form, scripts and gadgets
      - front page redirects to custom project module
      86b1843b
    • Jérome Perrin's avatar
      patches/pylint: fix regression with namedtuples · 5027502c
      Jérome Perrin authored
      with namedtuples and unicode literals enabled, our patch break with:
      
          Module py2stdlib, line 266, in infer_named_tuple
            ''' % {'name': name, 'fields': attributes})
          Module Products.ERP5Type.patches.pylint, line 74, in string_build
            encoding = _guess_encoding(data)
          Module astroid.builder, line 65, in _guess_encoding
            if string.startswith('\xef\xbb\xbf'):
          UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
      
      because pylint/astroid uses string_build to evaluate the named tuple and the source code enabled 
      unicode_literals future, string_build is called with an unicode object.
      
          -> for inferred in node.func.infer():
            astroid-1.3.8-py2.7.egg/astroid/bases.py(391)infer()
          -> return self._explicit_inference(self, context, **kwargs)
            astroid-1.3.8-py2.7.egg/astroid/brain/py2stdlib.py(266)infer_named_tuple()
          -> ''' % {'name': name, 'fields': attributes})
          > erp5/product/ERP5Type/patches/pylint.py(77)string_build()
          -> data = data.encode('utf-8')
          (Pdb) up
          > astroid-1.3.8-py2.7.egg/astroid/brain/py2stdlib.py(266)infer_named_tuple()
          -> ''' % {'name': name, 'fields': attributes})
          (Pdb) l
          249     def infer_named_tuple(node, context=None):
          250         """Specific inference function for namedtuple CallFunc node"""
          251         class_node, name, attributes = infer_func_form(node, nodes.Tuple._proxied,
          252                                                        context=context)
          253         fake = AstroidBuilder(MANAGER).string_build('''
          254     class %(name)s(tuple):
          255         _fields = %(fields)r
          256         def _asdict(self):
          257             return self.__dict__
          258         @classmethod
          259         def _make(cls, iterable, new=tuple.__new__, len=len):
          260             return new(cls, iterable)
          261         def _replace(_self, **kwds):
          262             result = _self._make(map(kwds.pop, %(fields)r, _self))
          263             if kwds:
          264                 raise ValueError('Got unexpected field names: %%r' %% list(kwds))
          265             return result
          266  ->     ''' % {'name': name, 'fields': attributes})
          (Pdb) pp name
          u'NamedTuple'
          (Pdb) pp attributes
          [u'foo', u'bar']
          (Pdb) pp [ (arg, arg.value) for arg in node.args ]
          [(<Const(unicode) l.4 [checkPythonSourceCodelXOzr3] at 0x7f9f1caee250>,
            u'NamedTuple'),
           (<Const(unicode) l.4 [checkPythonSourceCodelXOzr3] at 0x7f9f1caeebd0>,
            u'foo bar')]
          
          
      
      /reviewed-on !978
      5027502c
  8. 07 Nov, 2019 7 commits
  9. 06 Nov, 2019 3 commits
  10. 05 Nov, 2019 1 commit
  11. 31 Oct, 2019 3 commits