- 29 May, 2019 2 commits
-
-
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 !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 !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 8 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).
-
Vincent Pelletier authored
Provide a way to generate ids on specific documents when they make sense. Reduces the risk of conflicts that portal_ids's in-ZODB id generator creates. Reset generator state on any copy (both copy/pase and clone), but not on move (cut/paste and setId).
-
Vincent Pelletier authored
These two classes inherits from two classes implementing CopyContainer API: - ours, via low-priority bases - another one, via higher-priority bases, because these classes need some non-ERP5 methods to override ERP5 methods. So after defining these classes, resolve inheritance priority by binding all CopyContainer methods provided by their ERP5 base class, overriding the ones provided by their non-ERP5 bases while still allowing their ERP5 base class to override the CopyContainer method.
-
Vincent Pelletier authored
Allows for safe migration to another id generator, by preventing silent success of any piece of code still using the former generator, allowing its detection and resolution before duplicate ids are emitted. As a consequence, also allows on-demand and partial migration of id generators.
-
- 20 May, 2019 1 commit
-
-
Romain Courteaud authored
-
- 16 May, 2019 4 commits
-
-
Rafael Monnerat authored
-
Yusei Tahara authored
erp5_trade: Fix PackingList_getODTDataDict.py. Get source reference from supply paths. Movements are not predicates.
-
Vincent Pelletier authored
-
Vincent Pelletier authored
Otherwise, this test fails because of duplicate uids.
-
- 15 May, 2019 1 commit
-
-
Romain Courteaud authored
Display precalculated listbox content returned after a form validation error. Ensure the cell error_text is displayed and can be removed.
-