- 16 Apr, 2020 22 commits
-
-
Romain Courteaud authored
This reverts commit 527d688e.
-
Romain Courteaud authored
-
Romain Courteaud authored
This prevent getting DB read/write conflicts
-
Romain Courteaud authored
Do not access form submission REQUEST from the listbox list method, as it is rendered asynchronously in ERP5JS
-
Romain Courteaud authored
-
Romain Courteaud authored
This reverts commit 35b2c024.
-
Romain Courteaud authored
-
Romain Courteaud authored
Allow edition in the new UI
-
Romain Courteaud authored
-
Romain Courteaud authored
This make everything slow as hell and prevent to quickly save.
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Arnaud Fontaine authored
Add them to BaseAccessorHolder (like `Base Category` accessors) instead of Base class so they can be regenerated on reset while not having to remove ZODB Components from Base class on reset. This means that providesIFoo() will only be available on Portal Type classes whereas before it was working for direct Document instanciation, but the latter has been banned for several years anyway and the few remaining ones have been fixed (23b2b5fd, e791d08a). Also, instead of Base.provides() being a CachingMethod() (does not work with resets), create a method dynamically on the Portal Type class (erp5.portal_type.Foo), as not caching at all is ~18 times slower.
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
And thus filesystem Interfaces were not displayed/selectable in BaseType_view.
-
Arnaud Fontaine authored
erp5_certificate_authority: Certificate Authority Tool: All ERP5 objects *must* have have a Portal Type in Types Tool. And remove hack in erp5_promise which was creating a non-Portal Type class of portal_certificate_authority. Instead, add a depend on erp5_certificate_authority. `providesI*` accessors are now in BaseAccessorHolder rather than Base due to ZODB Components, this breaks reindexing (`AttributeError: providesIPredicate`). This gets rid of: WARNING ERP5Type.dynamic Cannot find a portal type definition for 'Certificate Authority Tool', trying to guess...
-
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.
-
Arnaud Fontaine authored
This gets rid of: WARNING ERP5Type.dynamic Cannot find a portal type definition for 'ERP5 Form', trying to guess...
-
Jérome Perrin authored
-
- 15 Apr, 2020 1 commit
-
-
Jérome Perrin authored
km, content_translation, ods_style, open_trade, simulation and budget See merge request !1094
-
- 14 Apr, 2020 14 commits
-
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Cédric Le Ninivin authored
Expanding frozen Simulation resulting from a split and Defer raise a `NotImplementedError`. It comes from the `_extendMovementCollectionDiff` function in [RuleMixin](product/ERP5/mixin/rule.py) checking the recorded property "Quantity". The Quantity Split Solver set this variable to zero hence leading the function to consider compensation is needed. This merge request remove the setting of the recorded property `quantity` on the the split movement. Re-expanding from the root was also removing that recorded property asking the question if this is needed. As of now system having used Split and defer Quantity will most likely not be able to re-expand their resulting simulation. A Test is added to validate the fix. See merge request !1097
-
Jérome Perrin authored
Caching forever would produce wrong results after installing a business template containing interfaces, using a transaction cache is enough (actually it may not even be needed).
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
We were not considering interface without the I prefix for component interfaces
-
Jérome Perrin authored
-
Jérome Perrin authored
Like we do in product/ERP5/tests/testXHTML, this form does not work without preferences
-
Jérome Perrin authored
Not that the old `reversed` function was different from the builtin, we replace it with sorted(reverse=True) to keep the same logic.
-
- 13 Apr, 2020 3 commits
-
-
Jérome Perrin authored
This is a dependency of erp5_credential, it should be installed in the test. This fixes a test failure, portal_notification.sendNotification(store_as_event=True) is now an error when erp5_crm is not installed.
-
Jérome Perrin authored
Add some features to restricted python and fix problems revealed by running Zope's test suites. # Bug fixes - Disallow access to old style classes without security declarations. This is not allowed in vanilla zope, but we allowed this accidentally about two years ago. This branch includes some fixes for cases where we accessed not protected classes in a way that should not have been allowed - ERP5 test suite pass, but there might be more cases in code not covered by ERP5 test suite. - Fix iterating on `reversed(iterable)` which was unauthorized, maybe since python 2.7 - Disallow new style classes in container access (iteration, `{}.get` etc). Only classes had this problem, not instances, so this probably has no impact for us, but it allows running AccessControl test suite. - Disallow attribute names ending in `__roles__` in class name. This probably does not impact us either, but also for AccessControl tests suite. # New features - Allow iterating on a generator. It's still not possible to use `yield` statement in restricted python, but iterating is now possible - Allow `cStringIO.StringIO("initial value")`, only `cStringIO.StringIO()` was allowed - Enable `collections.namedtuple` and add a few tests for other members of `collections` ( not `collections.deque` because we never used it so far ) See merge request !1090
-
Jérome Perrin authored
This uses the new "only ERP5JS" actions to enable components editor in ERP5JS, so that we can edit components on ERP5JS . This does not change anything in the old UI (erp5_xhml_style), where the editor field will still be used. See merge request !982
-