- 08 Dec, 2015 1 commit
-
-
Arnaud Fontaine authored
erp5_simulation: Display Divergence dialog even if there is nothing to solve (same as legacy Simulation Dialog). This fixes the following Site Error when there is no Divergence to solve: AttributeError: 'NoneType' object has no attribute 'SolverProcess_getSolverDecisionList' This may happen if user selects 'Solve Divergence' Action and solve Divergences, then immediately goes back and selects again this action whereas there is actually no Divergence to solve.
-
- 07 Dec, 2015 1 commit
-
-
Arnaud Fontaine authored
Selection.__call__() calls getParams() and as getParams() can be called directly from many places (such as SelectionTool.getSelectionParamsFor()), it makes more sense to have it here.
-
- 02 Dec, 2015 2 commits
-
-
Arnaud Fontaine authored
This reverts commit 5fac6732: When the Divergence is solved and user goes back to the main view, the button is visible but when user clicks ont it and if Activities have been processed in the meantime, this will raise an AttributeError because newSolverProcess returns None and there is nothing to display. This happens even when adding Delivery_isDivergent() as a guard because it still returns True if Activities are running in background.
-
Arnaud Fontaine authored
count_method was removed from Base_viewFieldLibrary/my_view_mode_module_listbox used by Resource Module ListBox (76282344) for performance issues when countFolder is called with a Module containing > ~50k documents but this should not be relevant for Resource Modules.
-
- 25 Nov, 2015 4 commits
-
-
Arnaud Fontaine authored
Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
simulation: MultiPropertyEquivalenceTester was missing from Variation Divergence Tester Portal Type. Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
With Legacy Simulation, when Adopting Prevision, the Builder was called again and the value was set either at Delivery, Line or Cell level according to the Movement Group definition. Implement the same kind of behavior for New Simulation.
-
Arnaud Fontaine authored
With ZODB Components, getBusinessTemplateList() only returns the test bt5 (as given on the command line, such as BT_TITLE:testFoo) and later it resolves dependencies. So filtering bt5 to be updated should be done as late as possible...
-
- 19 Nov, 2015 4 commits
-
-
Arnaud Fontaine authored
Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
Followup of: "simulation: improve equivalence testers explanations messages".
-
- 18 Nov, 2015 6 commits
-
-
Arnaud Fontaine authored
Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
This makes more sense as all Tester inherits from EquivalenceTesterMixin, even project-specific EquivalenceTester classes. Followup of: "simulation: improve equivalence testers explanations messages".
-
Arnaud Fontaine authored
* 2a188797: "simulation: improve equivalence testers explanations messages" * df04eb69: "Implement delivery.getQuantity() == 0."
-
Sebastien Robin authored
Default values for tested_property and tested_property_title must not be of type tuple any more since theses properties are no longer multi valued
-
Sebastien Robin authored
With latest simulation, the explanation given to user when solving a divergence was not good enough : - Property ids were displayed without possibility to display business word (like displaying 'stop_date' instead of 'Delivery Date' - Some message was displayed in the solve divergence dialog whatever was the equivalence tester behind. Therefore, customizations of messages made a equivalence tester level were not displayed to user Therefore, following was done: - in solve divergence dialog, include the message generated by the equivalence tester - use tested_property_title to allow using business words to describe properties having divergence - most equivalence testers are written in a way to evaluate divergence on a single property. To have better UI configuration of such equivalence testers, change tested_property and tested_property_title properties type from "lines" to "string". This required to add some backward compatible code. - use Variation Divergence Tester to show a case of an equivalence tester using different properties. For this, add a property sheet dedicated to multi properties equivalence testers - update propertysheets to allow translating tested_property_title Conflicts: product/ERP5/Document/DateTimeEquivalenceTester.py
-
Arnaud Fontaine authored
-
- 17 Nov, 2015 2 commits
-
-
Arnaud Fontaine authored
-
Arnaud Fontaine authored
-
- 16 Nov, 2015 2 commits
-
-
Sebastien Robin authored
Improve default dialog by avoiding doing "update" action to see solver parameters. Instead, use javascript to automatically fill the "parameter" column when a solver is selected. Since there is not yet good solution to have this in both legacy user interface and new interface, use a separated business template instead of just changing the original dialog. Use a lot proxification to avoid duplicatation of configuration.
-
Arnaud Fontaine authored
-
- 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 11 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
-