- 04 Feb, 2023 1 commit
-
-
Jérome Perrin authored
In 44e0b22f (Move to new API, detailed properties take precedence, 2011-09-09) we introduce a new data model for coordinates, in the case of emails, we have "url_string" fro the "detailed" form and "coordinate_text", for the "store what user entered" form. In some places of erp5_credential, we use setDefaultEmailText, which calls Coordinate.setText which uses the deprecated Coordinate.fromText, which sets the same value for "url_string" and "coordinate_text", which seems a questionable behavior, because the data is saved twice and some code might be using the wrong property. This changes every usage to the new coordinate_text property
-
- 03 Feb, 2023 9 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This backports parts of zope 4 commits [bb7837c66 (Explicitly make all classes new-style., 2017-09-15)](https://github.com/zopefoundation/Zope/commit/bb7837c66) and [173658008 (Fix unpickling of instances those base class changed to a new-style class. (#208), 2017-10-24)](https://github.com/zopefoundation/Zope/commit/173658008) for zope2. This is done for two reasons: - so that business template XML are same when exported from zope4 and from zope2 - so that a business template created from zope4 can still be installed on zope2. See merge request !1596
-
Jérome Perrin authored
This is used to trigger recompilation of bytecode, but we don't export the byte code so we don't need to export it. This also prevent diffs when the Script_magic changed, like it's the case with Products.PythonScripts 4.2 , with commit 590125a (Force recompilation of scripts., 2017-10-23).
-
Jérome Perrin authored
This is patched to DateTime.DateTime._dt_reconstructor but we don't want _dt_reconstructor to appear in pickles, especially business templates ones.
-
Jérome Perrin authored
These properties are supposed to never be set on ERP5 documents. See https://lab.nexedi.com/nexedi/erp5/blob/34f4ae37/product/ERP5Type/Constraint/PropertyTypeValidity.py#L65
-
Jérome Perrin authored
This backports parts of zope commit bb7837c66 (Explicitly make all classes new-style., 2017-09-15) and 173658008 (Fix unpickling of instances those base class changed to a new-style class. (#208), 2017-10-24). This is done for two reasons: - so that business template XML are same when exported from zope4 and from zope2 - so that a business template created from zope4 can still be installed on zope2.
-
Jérome Perrin authored
This properties are not used, no need to have them exported
-
Jérome Perrin authored
-
- 02 Feb, 2023 1 commit
-
-
Yusei Tahara authored
-
- 30 Jan, 2023 9 commits
-
-
Jérome Perrin authored
If there's an error during the --save setup, we don't need to run the --load steps, because test failed already and if they don't fail in --load step, it would be a case where some errors are not reported.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
Usually we run tests with two nodes, so when there's a conflict it's always between the "main" node and the processing node, so we always have a distributing node during conflict. But when running with, for example, 2 nodes (the main node + 2 nodes), the conflict might occur between the two processing nodes and after the resolution we still don't have a distributing node.
-
Jérome Perrin authored
-
Jérome Perrin authored
When looking up a document by reference, using getDocumentValueList from the context of a web site / web section might not find the documents, depending on the predicates defined on the web site / web section.
-
Jérome Perrin authored
This gadget looks up a document by reference, by using getDocumentValueList on the context of the web section. getDocumentValueList also applies the criterions from the context, but because web page references are already unique, adding more criterions can just cause the document to be not found and the gadget to display the "No document" error.
-
Jérome Perrin authored
This sort was based on the id of the role definition but this did not work when the type definition had more than 10 documents, because: >>> sorted(['1', '2', '10']) ['1', '10', '2'] This switches to an approach of converting the id to integer, with a fallback in case the id generator is customized.
-
Jérome Perrin authored
-
- 29 Jan, 2023 1 commit
-
-
Aurel authored
-
- 28 Jan, 2023 1 commit
-
-
Arnaud Fontaine authored
-
- 26 Jan, 2023 1 commit
-
-
Xiaowu Zhang authored
See merge request nexedi/erp5!1732
-
- 25 Jan, 2023 4 commits
-
-
Xiaowu Zhang authored
See merge request nexedi/erp5!1731
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
cause by nexedi/erp5!1726
-
Jérome Perrin authored
On the way to Zope 4, the biggest change was DateTime >= 3, which has these main differences: - `DateTime` instances are new style classes - `DateTime.__eq__` now take into the timezone into account - `DateTime` supports timezone naive ( https://docs.python.org/3/library/datetime.html#aware-and-naive-objects ) - actually this is since DateTime 2.12 , but since we fully patched the method where the parsing happens, ERP5's patched DateTime never used timezone naive dates. - pickles are also different. These are changes to prepare ERP5 code base to support DateTime >= 3, while keeping compatibility with the previous behavior, this means that we keep patching to keep the same behavior as DateTime 2, so that `DateTime.__eq__` ignores timezone difference and `DateTime` does not support timezone naive dates - these two different behavior seemed to introduce too much breakages, especially in project code, with no immediate benefit for our usages. For now, while ERP5 is still based on Zope 2 / DateTime 2 the fact that DateTime are new style classes has no impact, this will only impact once we switch to Zope 4. This also change the code to adjust the part where we were depending on implementation details of DateTime and where the details changed on DateTime 3, sometimes exposing higher level API, like the new `timeZoneContext` to use in tests. See merge request nexedi/erp5!1593
-
- 24 Jan, 2023 3 commits
- 23 Jan, 2023 10 commits
-
-
Xiaowu Zhang authored
See merge request nexedi/erp5!1726
-
Jérome Perrin authored
use calendar module and public DateTime API instead.
-
Jérome Perrin authored
This ensures that we don't break more.
-
Jérome Perrin authored
We have code depending on these attributes, they were used in pattern like this: ```py try: DateTime(user_input) except DateTime.DateError: error("invalid date") ``` so it's safer to keep the attributes for now, since we are already patching a lot
-
Jérome Perrin authored
We have too much code depending on this behavior, so we keep this patch for now.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
By using iso format we create dates in UTC timezone
-
Jérome Perrin authored
This is a context manager which temporary allow to change the time zone. It is not thread safe and intended to be used in tests only, to replace setTimeZoneToUTC and setTimezone methods by something unified which makes the transition to DateTime 4 easier, because changing timezone was done by patching private attributes and the DateTime 4 use different attributes.
-