- 10 Nov, 2015 7 commits
-
-
Arnaud Fontaine authored
Followup of 4b664ba: When comparing Trade Model Rule input_movement from AmountGenerator and decision which is a Simulation Movement. This fixes test_13_AddAllowanceForOutsourcingOrder.
-
Arnaud Fontaine authored
getTradePhaseMovementList() returns temporary SM with appropriate arrow and dates but these temporary SM have their corresponding Trade Model Path as a parent which means that Simulation Movement API is partially unuseable (such as getting parent Applied Rule...). Moreover, it seems strange for a Simulation Movement to not be a child of an Applied Rule. Therefore, create the temporary SM as a child of its corresponding AR.
-
Arnaud Fontaine authored
When RSPL/RPPL Invoice Lines are on the same SIT TML as its corresponding SO/PO IL movements, the sum may be 0 and there is nothing wrong about it. This was implemented in Legacy Simulation.
-
Arnaud Fontaine authored
FloatEquivalenceTester does nothing if quantity_range_{min,max} are not defined so raises an exception showing the misconfiguration.
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
-
- 09 Nov, 2015 12 commits
-
-
Arnaud Fontaine authored
This should have been added and handles twisted use cases such as: 1. Install bt5 with ZODB Component C1 using version_priority V1. 2. Install another bt5 adding version_priority V1. 3. Install Portal Type using C1 as type_class. => No reset was done after 2., so C1 was not added to ZODB Component registry_dict (__registry_dict) and thus ignored.
-
Arnaud Fontaine authored
This only happens when using ZEO (see source code comments). Steps to reproduce: 1. Edit a ZODB Component in one tab. 2. At the same time, run Unit Tests in another tab. Backtrace: # ThreadID: 140153540167424 File: "eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py", line 31, in __init__ response=b) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 455, in publish_module environ, debug, request, response) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 249, in publish_module_standard response = publish(request, module_name, after_list, debug=debug) File: "parts/erp5/Products/Localizer/patches.py", line 84, in new_publish x = zope_publish(request, module_name, after_list, debug) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 138, in publish request, bind=1) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/mapply.py", line 44, in mapply f, count = zope.publisher.publish.unwrapMethod(object) File: "eggs/zope.publisher-3.12.6-py2.7.egg/zope/publisher/publish.py", line 46, in unwrapMethod elif getattr(unwrapped, 'func_code', None) is not None: File: "eggs/Products.ExternalMethod-2.13.0-py2.7.egg/Products/ExternalMethod/ExternalMethod.py", line 106, in <lambda> func_code = ComputedAttribute(lambda self: self.getFuncCode()) File: "eggs/Products.ExternalMethod-2.13.0-py2.7.egg/Products/ExternalMethod/ExternalMethod.py", line 190, in getFuncCode self._v_f = self.getFunction() File: "parts/erp5/Products/ERP5Type/patches/ExternalMethod.py", line 29, in getFunction level=0) File: "parts/erp5/Products/ERP5Type/dynamic/component_package.py", line 407, in load_module with aq_method_lock: File: "parts/python2.7/lib/python2.7/threading.py", line 174, in acquire rc = self.__block.acquire(blocking) => 1. Acquire Import lock in getFunction() (ZODB Component import) 2. Try to acquire aq_method_lock # ThreadID: 140153468495616 File: "eggs/Zope2-2.13.22-py2.7.egg/ZServer/PubCore/ZServerPublisher.py", line 31, in __init__ response=b) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 455, in publish_module environ, debug, request, response) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 249, in publish_module_standard response = publish(request, module_name, after_list, debug=debug) File: "parts/erp5/Products/Localizer/patches.py", line 84, in new_publish x = zope_publish(request, module_name, after_list, debug) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 138, in publish request, bind=1) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/mapply.py", line 77, in mapply if debug is not None: return debug(object,args,context) File: "eggs/Zope2-2.13.22-py2.7.egg/ZPublisher/Publish.py", line 48, in call_object result=apply(object,args) # Type s<cr> to step into published object. File: "parts/erp5/Products/TimerService/TimerService.py", line 90, in process_timer subscriptions.append(self.unrestrictedTraverse(path)) File: "eggs/Zope2-2.13.22-py2.7.egg/OFS/Traversable.py", line 249, in unrestrictedTraverse if getattr(aq_base(obj), name, _marker) is not _marker: File: "parts/erp5/Products/ERP5Type/dynamic/lazy_class.py", line 107, in __getattribute__ self.__class__.loadClass() File: "parts/erp5/Products/ERP5Type/dynamic/lazy_class.py", line 326, in loadClass class_definition = generatePortalTypeClass(site, portal_type) File: "parts/erp5/Products/ERP5Type/dynamic/portal_type_class.py", line 143, in generatePortalTypeClass type_class = portal_type.getTypeClass() File: "eggs/ZODB3-3.10.5+slapospatched001-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 860, in setstate self._setstate(obj) File: "eggs/ZODB3-3.10.5+slapospatched001-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 914, in _setstate self._reader.setGhostState(obj, p) File: "eggs/ZODB3-3.10.5+slapospatched001-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 612, in setGhostState state = self.getState(pickle) File: "eggs/ZODB3-3.10.5+slapospatched001-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 604, in getState unpickler.load() # skip the class metadata File: "eggs/ZODB3-3.10.5+slapospatched001-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 474, in find_global return factory(conn, modulename, name) File: "eggs/Zope2-2.13.22-py2.7.egg/Zope2/App/ClassFactory.py", line 21, in ClassFactory m=__import__(module, _globals, _globals, _silly) => 1. Acquire aq_method_lock (generatePortalTypeClass()) 2. Try to import module and acquire Import lock
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
As there may be several trade_phase which could be set on a Trade Model Path, all of them should be displayed in ListBox and not only the first one.
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
-
Romain Courteaud authored
-
Romain Courteaud authored
This reverts commit d6b94272. Listbox navigation was broken because of this change.
-
Boris Kocherov authored
-
Boris Kocherov authored
field_json.page is used as a selection click action
-
Boris Kocherov authored
-
Romain Courteaud authored
-
- 06 Nov, 2015 6 commits
-
-
Vivek authored
-
Vivek authored
-
Vivek authored
-
Xiaowu Zhang authored
-
Romain Courteaud authored
-
Romain Courteaud authored
-
- 05 Nov, 2015 5 commits
-
-
Romain Courteaud authored
[erp5_web_renderjs_ui] selection/history navigation should redirect to the parent document in case of unexpected issue
-
Romain Courteaud authored
-
Vivek authored
-
Vivek authored
-
Jérome Perrin authored
Change requested by Romain Can you instead do: <h1 data-i18n="0 item selected" class="ui-title ui-override-theme">0 item selected</h1> And push to erp5 master branch? Thx.
-
- 03 Nov, 2015 8 commits
-
-
Romain Courteaud authored
-
Jérome Perrin authored
-
Romain Courteaud authored
It's the easiest/laziest way to get correct test results
-
Jérome Perrin authored
-
Romain Courteaud authored
-
Romain Courteaud authored
The router gadget handles all URL interaction (generation, parsing). It is also responsible to handle redirection (as redirecting for hash and HTML5 pushState is different). Ensure that redirect "block" the application until cancellation of the current page rendering. This will prevent unexpected result for function calling redirect (in case of 401 for example)
-
Romain Courteaud authored
Error handling function should always throw the catched error by default
-
Romain Courteaud authored
run_only option does not seem to support regular expression or comma separated list.
-
- 02 Nov, 2015 2 commits
-
-
Romain Courteaud authored
For now, test ERP5 page template related gadget + some standalone pages.
-
Romain Courteaud authored
This used to generate a 404 error
-