From c4e1897dd3e070ad13f85113a5b80ef6a81f5845 Mon Sep 17 00:00:00 2001 From: Alexandre Boeglin <alex@nexedi.com> Date: Fri, 18 Mar 2005 11:18:51 +0000 Subject: [PATCH] getInventory now belongs to SimulationTool. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@2721 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/Delivery.py | 372 ++++++--------------- product/ERP5/Document/Resource.py | 536 +++++++----------------------- 2 files changed, 226 insertions(+), 682 deletions(-) diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py index 0fda28371e..ea69710ca7 100755 --- a/product/ERP5/Document/Delivery.py +++ b/product/ERP5/Document/Delivery.py @@ -884,318 +884,142 @@ class Delivery(XMLObject): return resource_dict.keys() security.declareProtected(Permissions.AccessContentsInformation, 'getInventory') - def getInventory(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - resource_dict = {} - for m in self.contentValues(filter={'portal_type': self.getPortalMovementTypeList()}): - resource_dict[m.getResource()] = 1 - result = self.Resource_zGetInventory( resource = self._getMovementResourceList(), - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=simulation_state) - if len(result) > 0: - return result[0].inventory - return 0.0 - - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventory') - def getFutureInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns inventory at infinite - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+\ - list(self.getPortalReservedInventoryStateList())+\ - list(self.getPortalCurrentInventoryStateList()), **kw) + def getInventory(self, **kw): + """ + Returns inventory + """ + kw['resource'] = self._getMovementResourceList() + return self.portal_simulation.getInventory(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventory') - def getCurrentInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, ignore_variation=0, **kw): - """ - Returns current inventory - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=self.getPortalCurrentInventoryStateList(), **kw) - #return self.getInventory(section=section, node=node, payment=payment - # node_category=node_category, section_category=section_category, payment_category=payment_category, - # simulation_state='delivered', **kw) + def getCurrentInventory(**kw): + """ + Returns current inventory + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getCurrentInventory(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getAvailableInventory') - def getAvailableInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getAvailableInventory(**kw): + """ + Returns available inventory + (current inventory - deliverable) + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getAvailableInventory(**kw) + + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventory') + def getFutureInventory(**kw): """ - Returns available inventory, ie. current inventory - deliverable + Returns inventory at infinite """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(at_date=DateTime(), section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getFutureInventory(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryList') - def getInventoryList(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + def getInventoryList(self, **kw): """ - Returns list of inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - resource_dict = {} - for m in self.contentValues(filter={'portal_type': self.getPortalMovementTypeList()}): - resource_dict[m.getResource()] = 1 - result = self.Resource_zGetInventoryList(resource = resource_dict.keys(), - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=simulation_state, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getInventoryList(**kw) - return result + security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryList') + def getCurrentInventoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getCurrentInventoryList(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryList') - def getFutureInventoryList(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of future inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryList(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+\ - list(self.getPortalReservedInventoryStateList())+\ - list(self.getPortalCurrentInventoryStateList()), **kw) - - security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryList') - def getCurrentInventoryList(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): - """ - Returns list of current inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryList(simulation_state=self.getPortalCurrentInventoryStateList(), section=section, - node=node, payment=payment, - node_category=node_category, section_category=section_category, - payment_category=payment_category, **kw) - #return self.getInventoryList(at_date=DateTime(), section=section, node=node, payment=payment - # node_category=node_category, section_category=section_category, - # payment_category=payment_category, **kw) + def getFutureInventoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getFutureInventoryList(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryStat') - def getInventoryStat(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + def getInventoryStat(self, **kw): """ - Returns statistics of inventory list grouped by section or site + Returns statistics of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - resource_dict = {} - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - for m in self.contentValues(filter={'portal_type': self.getPortalMovementTypeList()}): - resource_dict[m.getResource()] = 1 - result = self.Resource_zGetInventory(resource = resource_dict.keys(), - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, **kw) - return result + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getInventoryStat(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryStat') - def getFutureInventoryStat(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryStat') + def getCurrentInventoryStat(**kw): """ - Returns statistics of future inventory list grouped by section or site + Returns statistics of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryStat(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, - payment_category=payment_category, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getCurrentInventoryStat(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryStat') - def getCurrentInventoryStat(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryStat') + def getFutureInventoryStat(**kw): """ - Returns statistics of current inventory list grouped by section or site + Returns statistics of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryStat(simulation_state='delivered', section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, - payment_category=payment_category, **kw) - #return self.getInventoryStat(at_date=DateTime(), section=section, node=node, payment=payment - # node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getFutureInventoryStat(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryChart') - def getInventoryChart(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.getInventoryList(at_date=at_date, section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state=simulation_state, ignore_variation=ignore_variation, **kw) - return map(lambda r: (r.node_title, r.inventory), result) + def getInventoryChart(self, **kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getInventoryChart(**kw) + + security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryChart') + def getCurrentInventoryChart(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getCurrentInventoryChart(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryChart') - def getFutureInventoryChart(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + def getFutureInventoryChart(**kw): """ - Returns list of future inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryChart(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, - payment_category=payment_category, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getFutureInventoryChart(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryChart') - def getCurrentInventoryChart(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryList') + def getInventoryHistoryList(**kw): """ - Returns list of current inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryChart(simulation_state=self.getPortalCurrentInventoryStateList(), section=section, - node=node, payment=payment, - node_category=node_category, section_category=section_category, - payment_category=payment_category, **kw) - # return self.getInventoryChart(at_date=DateTime(), section=section, node=node, payment=payment, - # node_category=node_category, section_category=section_category, - # payment_category=payment_category, **kw) + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getInventoryHistoryList(**kw) + security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryChart') + def getInventoryHistoryChart(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getInventoryHistoryChart(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryList') - def getMovementHistoryList(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_zGetMovementHistoryList(resource = self._getMovementResourceList(), - from_date=from_date, - to_date=to_date, - section=section, - node=node, - payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, **kw) - return result + def getMovementHistoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getMovementHistoryList(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryStat') - def getMovementHistoryStat(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_zGetInventory(resource = self._getMovementResourceList(), - from_date=from_date, - to_date=to_date, - section=section, - node=node, - payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, **kw) - return result - - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryList') - def getInventoryHistoryList(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - # Get Movement List - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_getInventoryHistoryList( resource = self._getMovementResourceList(), - from_date=from_date, - to_date=to_date, - section=section, - node=node, - payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state = simulation_state, - **kw) - return result - + def getMovementHistoryStat(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['category'] = self._getMovementResourceList() + return self.portal_simulation.getMovementHistoryStat(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryChart') - def getInventoryHistoryChart(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - # Get Movement List - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_getInventoryHistoryChart( resource = self._getMovementResourceList(), - from_date=from_date, - to_date=to_date, - section=section, - node=node, - payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state = simulation_state, - **kw) - return result security.declareProtected(Permissions.AccessContentsInformation, 'collectMovement') def collectMovement(self, movement_list): diff --git a/product/ERP5/Document/Resource.py b/product/ERP5/Document/Resource.py index 4f26c7147a..8333373031 100755 --- a/product/ERP5/Document/Resource.py +++ b/product/ERP5/Document/Resource.py @@ -99,7 +99,7 @@ class Resource(XMLMatrix, CoreResource, Variated): o = o_brain.getObject() for v in o.getVariationBaseCategoryList(): if base_category_list is () or v in base_category_list: - + display_value = getattr(o, display_id) if callable( display_value ): display_value = display_value() @@ -195,465 +195,185 @@ class Resource(XMLMatrix, CoreResource, Variated): # Stock Management security.declareProtected(Permissions.AccessContentsInformation, 'getInventory') - def getInventory(self, at_date = None, - section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, variation_text=None, - ignore_variation=0, standardise=0, **kw): - """ - resource (only in generic API in simulation) - - from_date (>=) - - - to_date (<) - - - at_date (<=) - only take rows which date is <= at_date - - section - only take rows in stock table which section_uid is equivalent to section - - node - only take rows in stock table which node_uid is equivalent to node - - payment - only take rows in stock table which payment_uid is equivalent to payment - - mirror_section - - section_category - only take rows in stock table which section_uid is in section_category - - node_category - only take rows in stock table which node_uid is in section_category - - payment_category - only take rows in stock table which payment_uid is in section_category - - mirror_section_category - - simulation_state - only take rows in stock table with specified simulation_state - - variation_text - only take rows in stock table with specified variation_text - this needs to be extended with some kind of variation_category ? - XXX this way of implementing variation selection is far from perfect - - variation_category - variation or list of possible variations - - ignore_variation - do not take into account variation in inventory calculation - - standardise - provide a standard quantity rather than an SKU - standardise_quantity - - omit_input - - omit_output - - query - not the propper name - we now use selection_domain and selection_report - (refer to catalog) - - **kw - if we want extended selection with more keywords (but bad performance) - check what we can do with buildSqlQuery - - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.Resource_zGetInventory(resource_uid = [self.getUid()], - resource=None, - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - variation_text=variation_text - ) - if len(result) > 0: - return result[0].inventory - return 0.0 - - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventory') - def getFutureInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + def getInventory(self, **kw): """ - Returns inventory at infinite + Returns inventory """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+ \ - list(self.getPortalReservedInventoryStateList())+ \ - list(self.getPortalCurrentInventoryStateList()), - **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventory(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventory') - def getCurrentInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, ignore_variation=0, variation_text=None, **kw): + def getCurrentInventory(**kw): """ - Returns current inventory + Returns current inventory """ - - # Consider only delivered - forget date at this point - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(simulation_state = self.getPortalCurrentInventoryStateList(), - section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) - - #return self.getInventory(at_date=DateTime(), section=section, node=node, payment=payment, - # node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getCurrentInventory(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getAvailableInventory') - def getAvailableInventory(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getAvailableInventory(**kw): """ - Returns available inventory, ie. current inventory - deliverable + Returns available inventory + (current inventory - deliverable) """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventory(at_date=DateTime(), section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getAvailableInventory(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryList') - def getInventoryList(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.Resource_zGetInventoryList(resource_uid = [self.getUid()], - resource=None, - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - **kw) - return result + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventory') + def getFutureInventory(**kw): + """ + Returns inventory at infinite + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getFutureInventory(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryList') - def getFutureInventoryList(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, ignore_variation=0, **kw): - """ - Returns list of future inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - LOG('getFutureInventoryList',0,str(kw)) - return self.getInventoryList(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+ \ - list(self.getPortalReservedInventoryStateList())+ \ - list(self.getPortalCurrentInventoryStateList()), - **kw) + security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryList') + def getInventoryList(self, **kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryList(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryList') - def getCurrentInventoryList(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getCurrentInventoryList(**kw): """ - Returns list of current inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryList(simulation_state=self.getPortalCurrentInventoryStateList(), - section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) - #return self.getInventoryList(at_date=DateTime(), section=section, node=node, payment=payment, - # node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getCurrentInventoryList(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryStat') - def getInventoryStat(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, ignore_variation=0, **kw): - """ - Returns statistics of inventory list grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.Resource_zGetInventory(resource_uid = [self.getUid()], - resource=None, - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - **kw) - return result + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryList') + def getFutureInventoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getFutureInventoryList(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryStat') - def getFutureInventoryStat(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, ignore_variation=0, **kw): + security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryStat') + def getInventoryStat(self, **kw): """ - Returns statistics of future inventory list grouped by section or site + Returns statistics of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryStat(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+ \ - list(self.getPortalReservedInventoryStateList())+ \ - list(self.getPortalCurrentInventoryStateList()), - **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryStat(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryStat') - def getCurrentInventoryStat(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getCurrentInventoryStat(**kw): """ - Returns statistics of current inventory list grouped by section or site + Returns statistics of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryStat(simulation_state=self.getPortalCurrentInventoryStateList(), - section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getCurrentInventoryStat(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryChart') - def getInventoryChart(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.Resource_zGetInventoryList(resource_uid = [self.getUid()], - resource=None, - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - **kw) - return map(lambda r: (r.node_title, r.inventory), result) + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryStat') + def getFutureInventoryStat(**kw): + """ + Returns statistics of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getFutureInventoryStat(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryChart') - def getFutureInventoryChart(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, ignore_variation=0, **kw): + security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryChart') + def getInventoryChart(self, **kw): """ - Returns list of future inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryChart(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+ \ - list(self.getPortalReservedInventoryStateList())+ \ - list(self.getPortalCurrentInventoryStateList()), - **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryChart(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryChart') - def getCurrentInventoryChart(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getCurrentInventoryChart(**kw): """ - Returns list of current inventory grouped by section or site + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryChart(simulation_state=self.getPortalCurrentInventoryStateList(), - section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) - #return self.getInventoryChart(at_date=DateTime(), section=section, node=node, payment=payment, - # node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) - + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getCurrentInventoryChart(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryList') - def getMovementHistoryList(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_zGetMovementHistoryList(resource_uid = [self.getUid()], - resource=None, - from_date=from_date, - to_date=to_date, - section=section, - node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - **kw) - return result - - security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryStat') - def getMovementHistoryStat(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_zGetInventory(resource_uid = [self.getUid()], - resource=None, - from_date=from_date, - to_date=to_date, - section=section, - node=node, payment=payment, - node_category=node_category, - simulation_state=simulation_state, - section_category=section_category, payment_category=payment_category, **kw) - return result + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryChart') + def getFutureInventoryChart(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getFutureInventoryChart(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryList') - def getInventoryHistoryList(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - # Get Movement List - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_getInventoryHistoryList( resource_uid = [self.getUid()], - resource=None, - from_date=from_date, - to_date=to_date, - section=section, - node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state = simulation_state, - **kw) - return result - + def getInventoryHistoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryHistoryList(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryHistoryChart') - def getInventoryHistoryChart(self, from_date = None, to_date=None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - # Get Movement List - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - result = self.Resource_getInventoryHistoryChart( resource_uid = [self.getUid()], - resource=None, - from_date=from_date, - to_date=to_date, - section=section, - node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state = simulation_state, - **kw) - return result + def getInventoryHistoryChart(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryHistoryChart(**kw) + security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryList') + def getMovementHistoryList(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getMovementHistoryList(**kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getNextNegativeInventoryDate') - def getNextNegativeInventoryDate(self, from_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - variation_text = None, - ignore_variation=0, **kw): - """ - Returns list of inventory grouped by section or site - """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if from_date is None: from_date = DateTime() - # Get Movement List - result = self.Resource_getInventoryHistoryList( resource_uid = [self.getUid()], - resource=None, - from_date=from_date, - variation_text = variation_text, - section=section, - node=node, payment=payment, - node_category=node_category, - section_category=section_category, - payment_category=payment_category, - simulation_state = simulation_state, - **kw) - for inventory in result: - if inventory['inventory'] < 0: - return inventory['stop_date'] + security.declareProtected(Permissions.AccessContentsInformation, 'getMovementHistoryStat') + def getMovementHistoryStat(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getMovementHistoryStat(**kw) - return None + security.declareProtected(Permissions.AccessContentsInformation, 'getNextNegativeInventoryDate') + def getNextNegativeInventoryDate(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getNextNegativeInventoryDate(**kw) - # Asset price API + # Asset Price API security.declareProtected(Permissions.AccessContentsInformation, 'getInventoryAssetPrice') - def getInventoryAssetPrice(self, at_date = None, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - simulation_state=None, variation_text=None, - ignore_variation=0, standardise=0, **kw): - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - if type(simulation_state) is type('a'): - simulation_state = [simulation_state] - result = self.Resource_zGetInventory(resource_uid = [self.getUid()], - resource=None, - to_date=at_date, - section=section, node=node, payment=payment, - node_category=node_category, - section_category=section_category, payment_category=payment_category, - simulation_state=simulation_state, - variation_text=variation_text - ) - if len(result) > 0: - return result[0].inventory - return 0.0 - - security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryAssetPrice') - def getFutureInventoryAssetPrice(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, simulation_state=None, - ignore_variation=0, **kw): + def getInventoryAssetPrice(**kw): """ - Returns inventory asset price at infinite + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryAssetPrice(at_date=None, section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, - simulation_state=list(self.getPortalFutureInventoryStateList())+ \ - list(self.getPortalReservedInventoryStateList())+ \ - list(self.getPortalCurrentInventoryStateList()), - **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getInventoryAssetPrice(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getCurrentInventoryAssetPrice') - def getCurrentInventoryAssetPrice(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, ignore_variation=0, variation_text=None, **kw): + def getCurrentInventoryAssetPrice(**kw): """ - Returns current inventory asset price + Returns list of inventory grouped by section or site """ - - # Consider only delivered - forget date at this point - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryAssetPrice(simulation_state = self.getPortalCurrentInventoryStateList(), - section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) - - #return self.getInventory(at_date=DateTime(), section=section, node=node, payment=payment, - # node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getCurrentInventoryAssetPrice(**kw) security.declareProtected(Permissions.AccessContentsInformation, 'getAvailableInventoryAssetPrice') - def getAvailableInventoryAssetPrice(self, section = None, node = None, payment = None, - node_category=None, section_category=None, payment_category = None, - ignore_variation=0, **kw): + def getAvailableInventoryAssetPrice(**kw): + """ + Returns list of inventory grouped by section or site + """ + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getAvailableInventoryAssetPrice(**kw) + + security.declareProtected(Permissions.AccessContentsInformation, 'getFutureInventoryAssetPrice') + def getFutureInventoryAssetPrice(**kw): """ - Returns available inventory asset price, ie. current inventory - deliverable + Returns list of inventory grouped by section or site """ - if section_category is None: - section_category = self.getPortalDefaultSectionCategory() - return self.getInventoryAssetPrice(at_date=DateTime(), section=section, node=node, payment=payment, - node_category=node_category, section_category=section_category, payment_category=payment_category, **kw) + kw['resource'] = self.getRelativeUrl() + return self.portal_simulation.getFutureInventoryAssetPrice(**kw) + - - # Industrial price API security.declareProtected(Permissions.AccessContentsInformation, 'getIndustrialPrice') def getIndustrialPrice(self, context=None, REQUEST=None, **kw): @@ -712,7 +432,7 @@ class Resource(XMLMatrix, CoreResource, Variated): # i did not do anything, because where is maybe some method for continuous range (Romain) # XXX why creating all cells ? it takes too much time and is not very useful (Romain) - # and it is not updated when we create a variation + # and it is not updated when we create a variation # and Base_edit does not create such cell.... """ cell_range_key_list = self.getCellRangeKeyList(base_id = base_id) @@ -760,7 +480,7 @@ class Resource(XMLMatrix, CoreResource, Variated): p.setCriterionPropertyList(('quantity', )) p.setCriterion('quantity', min=None, max=value[i]) p.setTitle(' quantity < %s' % repr(value[i])) - + for i in range(0, len(value) -1 ): p = self.newContent(id = 'quantity_range_%s' % str(i+1), portal_type = 'Predicate Group') p.setCriterionPropertyList(('quantity', )) -- 2.30.9