- 11 Mar, 2019 37 commits
-
-
Stemmermann authored
-
Stemmermann authored
-
Romain Courteaud authored
Creating a Software Publication doesn't require to change the Software Product.
-
Romain Courteaud authored
And so, simplify the code logic, as product is always created before the publication
-
Romain Courteaud authored
-
Romain Courteaud authored
Do not wait too long when pushing a new application.
-
Romain Courteaud authored
Do not modify document history if nothing changed
-
Romain Courteaud authored
Set the wildcard URL on a system preference.
-
Romain Courteaud authored
Those web site do not work in offline mode, so client must revalidate the components.
-
Romain Courteaud authored
Update appcache Drop unused scripts Thanks to Vincent Bechu for his work on this commit.
-
Romain Courteaud authored
-
Vincent Pelletier authored
As noted in a comment in this BT's Base_redirect implementation, original code does raise when abort_transaction is true. Not raising in this implementation means that this script will return to caller, while it never does on original code. Also, to add insult to injury, this utterly bogus implementation interferes with transaction boundaries. So suddenly, a single publication spans over 2 transactions, which can lead to: - ZODB Connection sharing, breaking transaction isolation - the second transaction implicitly created by this abort (actually, by the next transactional connector registration to transaction) may be committed, in which case anything done after Base_redirect returns will be persistently committed, against caller's explicitly specified intent, and against all developer expectations. NEVER TOUCH TRANSACTION ! Only CMFActivity and unittests are allowed this level of access (and CMFActivity should be modified out of this exceptional state).
-
Romain Courteaud authored
Linshare Use the same configuration than ERP5 Thanks to Vincent Bechu for his work on this topic.
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Sebastien Robin authored
This reverts commit fba5767e. Sorry, I went too quickly, there was difference between self and context
-
Sebastien Robin authored
-
Jérome Perrin authored
This reverts commit 7aa5fb76 > this change makes title empty when reply nexedi/erp5!823 (comment 73439) /reviewed-on nexedi/erp5!826
-
Romain Courteaud authored
-
Xiaowu Zhang authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
only calculate exchange rate if necessary use transaction cache make getExchangeRate as local function
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
remove useless test_21 update test_20 with various packing list
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
-
Xiaowu Zhang authored
multiple owner test case multiple cancel packing list test circular movement test
-
- 21 Jan, 2019 2 commits
-
-
Xiaowu Zhang authored
if i have a url like: https://erp5xxx/form_idxxx?relative_item_relative_url=item_module/7817 with the old way, form id will be 7817 /reviewed-on nexedi/erp5!824
-
Jérome Perrin authored
According to pep-0263, python scripts can define encoding magic on first or second line. If we use for example such a script: ```python # coding: utf-8 return "héhé" ``` then using .read() was wrong, because it return the script with headers, ie: ```python ## Script (Python) "test_coding" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## # coding: utf-8 return "héhé" ``` so the coding magic is no longer in first line and pylint complains with error like: Cannot decode using encoding "ascii", unexpected byte at position 11 (invalid-encoded-data)] /reviewed-on nexedi/erp5!825
-
- 18 Jan, 2019 1 commit
-
-
Arnaud Fontaine authored
This method is used to import ZODB Components when fallback on filesystem is needed and used when loading Document and Extension Components. 1,000,000 executions: * Before: timeit("erp5.component.extension.find_load_module(module_name)", setup="import erp5.component.extension; module_name='Hoge'") 59.073 59.324 * b45914fa ExternalMethod optimization: timeit("__import__('erp5.component.extension.' + module_name, fromlist='*', level=0)", setup="module_name='Hoge'") 1.754 1.845 * This commit: timeit("import_module('erp5.component.extension.' + module_name)", setup="from importlib import import_module; module_name='Hoge'") 1.346 1.311 => Faster because import_module() calls __import__() without fromlist (not needed as it returns module from sys.modules after this) and level parameters. => Introduced in python3 and backported to python2.7. Recommended over __import__ in Python documentation for non-internal usage and when getting the module itself and not its top-level one.
-