- 28 May, 2019 1 commit
-
-
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 !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.
-
- 22 May, 2019 11 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
-
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 5 commits
-
-
Romain Courteaud authored
Display precalculated listbox content returned after a form validation error. Ensure the cell error_text is displayed and can be removed.
-
Romain Courteaud authored
Return the submitted value in case if present in the REQUEST. Return the cell error_text if present. Execute the listbox listmethod in case of ValidationError. Ensure that it is rendered with the same query parameters.
-
Romain Courteaud authored
-
Romain Courteaud authored
This commit does not change the behaviour of the gadget. The goal is only to make the next commit more readable.
-
Vincent Pelletier authored
Even if it does not lead to ConflictError being raised, updating _max_uid has a cost and a transaction-serialising effect (most noticeable with NEO). This value is not used (outside of a bootstrap value for portal_ids generator), so stop doing this unnecessary work. Also, fold produceUid into its only caller. Also, change the folded pattern to react to an empty buffer rather than test for emptiness before each access.
-
- 13 May, 2019 3 commits
-
-
Jérome Perrin authored
The way of truncating the index file was an error in git 2.11.0, but it was not an error with git 2.17.0. /reviewed-on nexedi/erp5!863
-
Romain Courteaud authored
-
Romain Courteaud authored
-
- 10 May, 2019 1 commit
-
-
Vincent Pelletier authored
-