- 03 Jun, 2019 2 commits
-
-
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.
-
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 !881
-
- 31 May, 2019 3 commits
-
-
Alain Takoudjou authored
SlapOS and NMS documentation are moved into bt and committed in erp5-doc.git. This will allow to install documentation in another erp5 and also to test them. /reviewed-on nexedi/erp5!875
-
Vincent Pelletier authored
3 independent conditions does not guarantee to find the next row sorted simultaneously on those 3 values.
-
Vincent Pelletier authored
listActions result is cached, and may refer to non-existing workflows and/or worklists. Tolerate either of these being missing.
-
- 29 May, 2019 6 commits
-
-
Tristan Cavelier authored
It was failing due to addition of module actions in the menu panel. The test was checking the content of the menu panel before the page was fully loaded, so getting the old menu panel entries and failing.
-
Tristan Cavelier authored
- Hardcodes a panel "VIEWS: List" to hide "consistency", "history" and "metadata". - Only show "WORKFLOWS" on module document. For instance, on Foo Module the menu panel shows now : VIEWS List ACTIONS Do Something /reviewed-on nexedi/erp5!673
-
Tristan Cavelier authored
-
Tristan Cavelier authored
-
Yusei Tahara authored
[erp5_accounting_ui_test] Update check_row_in_transactions_table and check_row_in_accounts_ledger_table macros in AccountingZuite_reportMacros to follow the bugfix 17c0aa5a. But renderjs listbox still creates unneeded broken links and this problem is reproduced in test_journal although it is not tested yet.
-
Jérome Perrin authored
If event has an aggregate relation already, merge it with the aggregate relation of notification message. /reviewed-on nexedi/erp5!873
-
- 28 May, 2019 2 commits
-
-
Xiaowu Zhang authored
/reviewed-on nexedi/erp5!876
-
Yusei Tahara authored
When a cell value was empty, listbox js created a link that did not work.
-
- 24 May, 2019 6 commits
-
-
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.
-
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
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
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
-
Nicolas Wavrant authored
As we may reach database limits, and to avoid them to be logged.
-
- 23 May, 2019 4 commits
-
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
builder A delivery may have several delivery line like: Purchase Invoice Transaction has Purchase Invoice Transaction Line and Invoice Line
-
Xiaowu Zhang authored
-
- 22 May, 2019 12 commits
-
-
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
-
Xiaowu Zhang authored
-
Thomas Gambier authored
old key was simply "id" so when a container is a VirtualFolder (like Web Site), container._getOb("id") can return any object with id "id" including an object outside the container. Change the key to contain PhysicalPath of the container to get only objects inside the container. This actually fixes installation of some business templates with Web Site inside. /reviewed-on nexedi/erp5!867
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
1.auto centre for image 2.table line is centered 3. image option is left-margin 3cm under image
-
Vincent Pelletier authored
Not all lock uses in this code fit context managers, but use them where it does.
-
Vincent Pelletier authored
Add 10 seconds timeouts on all blocking calls in this test method, which should be a thousand times more than required on a slow machine but avoids completely blocking tests.
-
Vincent Pelletier authored
Even though it should not raise, a stale lock would be a serious issue.
-
Vincent Pelletier authored
-
- 21 May, 2019 5 commits
-
-
Yusei Tahara authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
The intent is to be able to tell that an independently-defined group of activity nodes may execute given activity, and no other node. This allows more flexible parallelism control than serialization_tag.
-
Vincent Pelletier authored
-
Vincent Pelletier authored
Divide conflict hot-spot to improve write performance: now, conflict risk will not be proportional to the number of zope processes, but only to the number of threads within considered process (...because there is no stable thread name, if there is one day and conflict splitting is needed, it will be easy to implement: just concatenate that name to node name in FragmentedLength._map). Automatically migrate to FragmentedCount on containers larger than 1k objects (this threshold may evolve).
-