Commit 5439dc02 authored by Jérome Perrin's avatar Jérome Perrin

Enable coding style on more business templates

authentication policy, invoicing, ingestion and credential

See merge request !1081
parents a8cd4c03 c9b43e4b
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>password, request={}</string> </value> <value> <string>password, request=None</string> </value>
</item> </item>
<item> <item>
<key> <string>_proxy_roles</string> </key> <key> <string>_proxy_roles</string> </key>
......
""" """
File a failed authentication attempt. File a failed authentication attempt.
""" """
from DateTime import DateTime
portal = context.getPortalObject() portal = context.getPortalObject()
portal_preferences = portal.portal_preferences portal_preferences = portal.portal_preferences
......
...@@ -10,8 +10,6 @@ if not portal.portal_preferences.isAuthenticationPolicyEnabled(): ...@@ -10,8 +10,6 @@ if not portal.portal_preferences.isAuthenticationPolicyEnabled():
now = DateTime() now = DateTime()
one_second = 1/24.0/60.0/60.0 one_second = 1/24.0/60.0/60.0
check_duration = portal_preferences.getPreferredAuthenticationFailureCheckDuration() check_duration = portal_preferences.getPreferredAuthenticationFailureCheckDuration()
block_duration = portal_preferences.getPreferredAuthenticationFailureBlockDuration()
max_authentication_failures = portal_preferences.getPreferredMaxAuthenticationFailure()
check_time = now - check_duration*one_second check_time = now - check_duration*one_second
# acknowledge last authentication events for user # acknowledge last authentication events for user
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
""" """
from DateTime import DateTime from DateTime import DateTime
from Products.ZSQLCatalog.SQLCatalog import Query from Products.ZSQLCatalog.SQLCatalog import Query
from Products.ERP5Type.Document import newTempBase
portal = context.getPortalObject() portal = context.getPortalObject()
portal_preferences = portal.portal_preferences portal_preferences = portal.portal_preferences
......
...@@ -30,11 +30,6 @@ from AccessControl import ClassSecurityInfo ...@@ -30,11 +30,6 @@ from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5.Document.Ticket import Ticket from Products.ERP5.Document.Ticket import Ticket
from erp5.component.mixin.EncryptedPasswordMixin import EncryptedPasswordMixin from erp5.component.mixin.EncryptedPasswordMixin import EncryptedPasswordMixin
try:
from Products import PluggableAuthService
from Products.ERP5Security.ERP5UserManager import ERP5UserManager
except ImportError:
PluggableAuthService = None
class CredentialRecovery(Ticket, EncryptedPasswordMixin): class CredentialRecovery(Ticket, EncryptedPasswordMixin):
......
...@@ -6,10 +6,22 @@ ...@@ -6,10 +6,22 @@
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item>
<key> <string>_recorded_property_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>CredentialRecovery</string> </value> <value> <string>CredentialRecovery</string> </value>
</item> </item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>document.erp5.CredentialRecovery</string> </value> <value> <string>document.erp5.CredentialRecovery</string> </value>
...@@ -24,6 +36,18 @@ ...@@ -24,6 +36,18 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>text_content_error_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>erp5</string> </value> <value> <string>erp5</string> </value>
...@@ -31,13 +55,28 @@ ...@@ -31,13 +55,28 @@
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle> <pickle>
<global name="PersistentMapping" module="Persistence.mapping"/> <global name="PersistentMapping" module="Persistence.mapping"/>
</pickle> </pickle>
...@@ -50,7 +89,7 @@ ...@@ -50,7 +89,7 @@
<item> <item>
<key> <string>component_validation_workflow</string> </key> <key> <string>component_validation_workflow</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
...@@ -59,13 +98,15 @@ ...@@ -59,13 +98,15 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="3" aka="AAAAAAAAAAM="> <record id="4" aka="AAAAAAAAAAQ=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<key> <string>_log</string> </key>
<value>
<list> <list>
<dictionary> <dictionary>
<item> <item>
...@@ -78,7 +119,9 @@ ...@@ -78,7 +119,9 @@
</item> </item>
</dictionary> </dictionary>
</list> </list>
</tuple> </value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
</ZopeData> </ZopeData>
...@@ -31,6 +31,7 @@ from Products.ERP5Type import Permissions, PropertySheet ...@@ -31,6 +31,7 @@ from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5.Document.Ticket import Ticket from Products.ERP5.Document.Ticket import Ticket
from erp5.component.mixin.EncryptedPasswordMixin import EncryptedPasswordMixin from erp5.component.mixin.EncryptedPasswordMixin import EncryptedPasswordMixin
class CredentialRequest(Ticket, EncryptedPasswordMixin): class CredentialRequest(Ticket, EncryptedPasswordMixin):
""" """
""" """
......
...@@ -6,10 +6,22 @@ ...@@ -6,10 +6,22 @@
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item>
<key> <string>_recorded_property_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>CredentialRequest</string> </value> <value> <string>CredentialRequest</string> </value>
</item> </item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>document.erp5.CredentialRequest</string> </value> <value> <string>document.erp5.CredentialRequest</string> </value>
...@@ -24,6 +36,18 @@ ...@@ -24,6 +36,18 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>text_content_error_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>erp5</string> </value> <value> <string>erp5</string> </value>
...@@ -31,13 +55,28 @@ ...@@ -31,13 +55,28 @@
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle> <pickle>
<global name="PersistentMapping" module="Persistence.mapping"/> <global name="PersistentMapping" module="Persistence.mapping"/>
</pickle> </pickle>
...@@ -50,7 +89,7 @@ ...@@ -50,7 +89,7 @@
<item> <item>
<key> <string>component_validation_workflow</string> </key> <key> <string>component_validation_workflow</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
...@@ -59,13 +98,15 @@ ...@@ -59,13 +98,15 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="3" aka="AAAAAAAAAAM="> <record id="4" aka="AAAAAAAAAAQ=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<key> <string>_log</string> </key>
<value>
<list> <list>
<dictionary> <dictionary>
<item> <item>
...@@ -78,7 +119,9 @@ ...@@ -78,7 +119,9 @@
</item> </item>
</dictionary> </dictionary>
</list> </list>
</tuple> </value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
</ZopeData> </ZopeData>
...@@ -71,9 +71,9 @@ def isSingleSignOnEnable(self): ...@@ -71,9 +71,9 @@ def isSingleSignOnEnable(self):
if isinstance(acl_users,PluggableAuthServiceTool): if isinstance(acl_users,PluggableAuthServiceTool):
#List plugin which make authentication #List plugin which make authentication
plugin_list = acl_users.plugins.listPlugins(IAuthenticationPlugin) plugin_list = acl_users.plugins.listPlugins(IAuthenticationPlugin)
for plugin_name, plugin_value in plugin_list: for _, plugin_value in plugin_list:
#Try to find an ERP5RemoteUserManager #Try to find an ERP5RemoteUserManager
if isinstance(plugin_value,ERP5RemoteUserManager): if isinstance(plugin_value, ERP5RemoteUserManager):
#SSO is enable #SSO is enable
return True return True
return False return False
...@@ -6,10 +6,22 @@ ...@@ -6,10 +6,22 @@
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item>
<key> <string>_recorded_property_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>Credential</string> </value> <value> <string>Credential</string> </value>
</item> </item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>extension.erp5.Credential</string> </value> <value> <string>extension.erp5.Credential</string> </value>
...@@ -24,6 +36,18 @@ ...@@ -24,6 +36,18 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>text_content_error_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <string>erp5</string> </value> <value> <string>erp5</string> </value>
...@@ -31,13 +55,28 @@ ...@@ -31,13 +55,28 @@
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle> <pickle>
<global name="PersistentMapping" module="Persistence.mapping"/> <global name="PersistentMapping" module="Persistence.mapping"/>
</pickle> </pickle>
...@@ -50,7 +89,7 @@ ...@@ -50,7 +89,7 @@
<item> <item>
<key> <string>component_validation_workflow</string> </key> <key> <string>component_validation_workflow</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
</dictionary> </dictionary>
...@@ -59,13 +98,15 @@ ...@@ -59,13 +98,15 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="3" aka="AAAAAAAAAAM="> <record id="4" aka="AAAAAAAAAAQ=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<key> <string>_log</string> </key>
<value>
<list> <list>
<dictionary> <dictionary>
<item> <item>
...@@ -78,7 +119,9 @@ ...@@ -78,7 +119,9 @@
</item> </item>
</dictionary> </dictionary>
</list> </list>
</tuple> </value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
</ZopeData> </ZopeData>
if context.getParentValue().portal_type == 'Credential Request': if context.getParentValue().portal_type == 'Credential Request':
return {'Address':dict(organisation_default_address='Organisation Default Address')} return {'Address': dict(organisation_default_address='Organisation Default Address')}
return {} return {}
...@@ -3,7 +3,6 @@ send the password reset link by mail ...@@ -3,7 +3,6 @@ send the password reset link by mail
""" """
portal = context.getPortalObject() portal = context.getPortalObject()
person = context.getDestinationDecisionValue(portal_type="Person")
reference = context.getReference() reference = context.getReference()
if context.hasDocumentReference(): if context.hasDocumentReference():
message_reference = context.getDocumentReference() message_reference = context.getDocumentReference()
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
Parameters: Parameters:
value -- field value (string) value -- field value (string)
REQUEST -- standard REQUEST variable""" REQUEST -- standard REQUEST variable"""
portal = context.getPortalObject()
if value: if value:
# Same tag is used as in ERP5 Login _setReference, in order to protect against # Same tag is used as in ERP5 Login _setReference, in order to protect against
...@@ -13,7 +14,6 @@ def getRealContext(): ...@@ -13,7 +14,6 @@ def getRealContext():
if not REQUEST: if not REQUEST:
return context return context
object_path = REQUEST.get("object_path") object_path = REQUEST.get("object_path")
portal = context.getPortalObject()
return portal.restrictedTraverse(object_path) return portal.restrictedTraverse(object_path)
#Allow user to create a request with it's username #Allow user to create a request with it's username
...@@ -29,7 +29,7 @@ if context.getPortalType() == "Credential Request": ...@@ -29,7 +29,7 @@ if context.getPortalType() == "Credential Request":
related_person = context.getDestinationDecisionValue(portal_type="Person") related_person = context.getDestinationDecisionValue(portal_type="Person")
if related_person is not None: if related_person is not None:
for erp5_login_value in related_person.objectValues( for erp5_login_value in related_person.objectValues(
portal_type=self.getPortalObject().getPortalLoginTypeList(), portal_type=portal.getPortalLoginTypeList(),
): ):
if erp5_login_value.getValidationState() == 'validated' and erp5_login_value.getReference() == value: if erp5_login_value.getValidationState() == 'validated' and erp5_login_value.getReference() == value:
return True return True
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>role=[],comment=""</string> </value> <value> <string>role=(), comment=""</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -9,8 +9,6 @@ ...@@ -9,8 +9,6 @@
if REQUEST is not None: if REQUEST is not None:
return None return None
portal = context.getPortalObject()
portal_preferences = context.portal_preferences
# XXX by default we don't want to automatically create/update organisation # XXX by default we don't want to automatically create/update organisation
# Someone should confirm this informations before creating the organisation # Someone should confirm this informations before creating the organisation
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>related_portal_type = [\'Person\'], REQUEST=None</string> </value> <value> <string>related_portal_type=(\'Person\', ), REQUEST=None</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>create_portal_type=["Person"], REQUEST=None</string> </value> <value> <string>create_portal_type=("Person",), REQUEST=None</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
from Products.ERP5Type.Errors import UnsupportedWorkflowMethod
"""Copy subscription information to the related organisation""" """Copy subscription information to the related organisation"""
context.Credential_checkConsistency(['Organisation']) context.Credential_checkConsistency(['Organisation'])
...@@ -19,5 +20,5 @@ context.Credential_copyRegistredInformation(organisation, organisation_mapping) ...@@ -19,5 +20,5 @@ context.Credential_copyRegistredInformation(organisation, organisation_mapping)
#Try to validate #Try to validate
try: try:
organisation.validate() organisation.validate()
except: except UnsupportedWorkflowMethod:
pass pass
...@@ -7,7 +7,6 @@ if REQUEST is not None: ...@@ -7,7 +7,6 @@ if REQUEST is not None:
return None return None
from Products.ERP5Type.Errors import UnsupportedWorkflowMethod from Products.ERP5Type.Errors import UnsupportedWorkflowMethod
from Products.ERP5Type.Utils import sleep
context.Credential_checkConsistency(['Person']) context.Credential_checkConsistency(['Person'])
person = context.getDestinationDecisionValue(portal_type="Person") person = context.getDestinationDecisionValue(portal_type="Person")
......
...@@ -8,7 +8,6 @@ if REQUEST is not None: ...@@ -8,7 +8,6 @@ if REQUEST is not None:
person = context.getDestinationDecisionValue(portal_type="Person") person = context.getDestinationDecisionValue(portal_type="Person")
organisation = context.getDestinationDecisionValue(portal_type="Organisation") organisation = context.getDestinationDecisionValue(portal_type="Organisation")
assignment_configuration = {}
#Look on current assignment #Look on current assignment
old_role_list = context.portal_categories.role.getCategoryChildLogicalPathItemList()[1:] old_role_list = context.portal_categories.role.getCategoryChildLogicalPathItemList()[1:]
#old_role_list look like [['title','logical_path'],] #old_role_list look like [['title','logical_path'],]
......
...@@ -5,8 +5,8 @@ Manager -- allow to update all image property""" ...@@ -5,8 +5,8 @@ Manager -- allow to update all image property"""
if REQUEST is not None: if REQUEST is not None:
raise ValueError, "This script can not be call from url" raise ValueError, "This script can not be call from url"
def getAccessor(property): def getAccessor(prop):
return "".join([x.capitalize() for x in property.split('_')]) return "".join([x.capitalize() for x in prop.split('_')])
def copyValue(source_document, source_accessor, def copyValue(source_document, source_accessor,
destination_document, destination_accessor): destination_document, destination_accessor):
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>destination_decision_type=[\'Person\']</string> </value> <value> <string>destination_decision_type=(\'Person\', )</string> </value>
</item> </item>
<item> <item>
<key> <string>_proxy_roles</string> </key> <key> <string>_proxy_roles</string> </key>
......
...@@ -4,8 +4,8 @@ destination -- Object where copy property value ...@@ -4,8 +4,8 @@ destination -- Object where copy property value
mapping -- Define property mapping (List of tuple of 2 property) mapping -- Define property mapping (List of tuple of 2 property)
copy_none_value -- Copy or not None value of context to destination copy_none_value -- Copy or not None value of context to destination
erase_empty_value -- Erase or not empty value of destination""" erase_empty_value -- Erase or not empty value of destination"""
def getAccessor(property): def getAccessor(prop):
return "".join([x.capitalize() for x in property.split('_')]) return "".join([x.capitalize() for x in prop.split('_')])
def copyValue(source_document, source_accessor, def copyValue(source_document, source_accessor,
destination_document, destination_accessor): destination_document, destination_accessor):
......
object = state_change['object'] state_change['object'].Base_checkConsistency()
object.Base_checkConsistency()
# This script uses file= argument
# pylint: disable=redefined-builtin
""" """
Use to contribute file to ERP5. Use to contribute file to ERP5.
""" """
......
autorized_format_list = [] autorized_format_item_list = []
format_list = context.getTargetFormatItemList() for format_item_list in context.getTargetFormatItemList():
for format in format_list: if context.Document_isTargetFormatPermitted(format_item_list[1]):
if context.Document_isTargetFormatPermitted(format[1]): autorized_format_item_list.append(format_item_list)
autorized_format_list.append(format) return autorized_format_item_list
return autorized_format_list
# This script uses file= argument
# pylint: disable=redefined-builtin
""" """
This script provides a facility to permit conversion by format. This script provides a facility to permit conversion by format.
""" """
......
erp5_full_text_mroonga_catalog erp5_full_text_mroonga_catalog
erp5_ingestion_mysql_innodb_catalog erp5_ingestion_mysql_innodb_catalog
erp5_ingestion_test
\ No newline at end of file
...@@ -4,12 +4,12 @@ if resource is not None: ...@@ -4,12 +4,12 @@ if resource is not None:
base_category_list = resource.getVariationBaseCategoryList(omit_optional_variation=1) base_category_list = resource.getVariationBaseCategoryList(omit_optional_variation=1)
for base_category in base_category_list: for base_category in base_category_list:
if matrixbox == 1: if matrixbox:
# XXX matrixbox is right_display (not as listfield) => invert display and value in item # XXX matrixbox is right_display (not as listfield) => invert display and value in item
cell_range.append( map(lambda x: (x[1],x[0]), context.getVariationCategoryItemList(base_category_list = (base_category,) ) ) ) cell_range.append([(x[1], x[0]) for x in context.getVariationCategoryItemList(base_category_list=(base_category,))])
else: else:
cell_range.append( context.getVariationCategoryList(base_category_list = (base_category,) ) ) cell_range.append( context.getVariationCategoryList(base_category_list = (base_category,) ) )
cell_range = filter(lambda x: x != [], cell_range ) cell_range = [x for x in cell_range if x != []]
return cell_range return cell_range
"""This script is called on the Invoice after the delivery builder has created """This script is called on the Invoice after the delivery builder has created
the new Invoice. the new Invoice.
""" """
from Products.ERP5Type.Message import translateString
if related_simulation_movement_path_list is None: if related_simulation_movement_path_list is None:
raise RuntimeError, 'related_simulation_movement_path_list is missing. Update ERP5 Product.' raise RuntimeError, 'related_simulation_movement_path_list is missing. Update ERP5 Product.'
......
...@@ -24,4 +24,4 @@ for movement in movement_list: ...@@ -24,4 +24,4 @@ for movement in movement_list:
if line is not None: if line is not None:
deliveries_keys[line.getExplanationValue()] = 1 deliveries_keys[line.getExplanationValue()] = 1
return filter(lambda x : x is not None, deliveries_keys.keys()) return [x for x in deliveries_keys.keys() if x is not None]
...@@ -17,14 +17,8 @@ def recursiveCopyLine(to_document, from_document): ...@@ -17,14 +17,8 @@ def recursiveCopyLine(to_document, from_document):
recursiveCopyLine(reverse_line, line) recursiveCopyLine(reverse_line, line)
newCell = reverse_line.newContent newCell = reverse_line.newContent
for cell in line.objectValues(portal_type='Invoice Cell'): for cell in line.objectValues(portal_type='Invoice Cell'):
raise NotImplementedError raise NotImplementedError("NotImplemented: Should do something with %s and %s" % (cell, newCell))
newCell(
# TODO: what properties ?
portal_type=cell.getPortalType(),
category_list=cell.getCategoryList(),
)
portal = context.getPortalObject()
reverse_invoice = context.getParentValue().newContent( reverse_invoice = context.getParentValue().newContent(
portal_type=context.getPortalType(), portal_type=context.getPortalType(),
created_by_builder=1, # tell init script to not create lines created_by_builder=1, # tell init script to not create lines
......
...@@ -2,5 +2,7 @@ ...@@ -2,5 +2,7 @@
If the business template 'erp5_advanced_invoicing' is installed, returns True. If the business template 'erp5_advanced_invoicing' is installed, returns True.
If it is not, returns False. If it is not, returns False.
""" """
business_template_list = context.portal_templates.getInstalledBusinessTemplateList() for bt in context.portal_templates.getInstalledBusinessTemplateList():
return filter(lambda x: x.getTitle() == "erp5_advanced_invoicing", business_template_list, False) if bt.getTitle() == "erp5_advanced_invoicing":
return True
return False
# This script uses format= argument
# pylint: disable=redefined-builtin
if target_language: if target_language:
container.REQUEST['AcceptLanguage'].set(target_language, 10) container.REQUEST['AcceptLanguage'].set(target_language, 10)
......
erp5_advanced_invoicing
\ No newline at end of file
...@@ -167,6 +167,16 @@ ignored_skin_id_set = { ...@@ -167,6 +167,16 @@ ignored_skin_id_set = {
'FCKeditor_getDocumentListQuery', 'FCKeditor_getDocumentListQuery',
'FCKeditor_getImageList', 'FCKeditor_getImageList',
'FCKeditor_getSetReferenceUrl', 'FCKeditor_getSetReferenceUrl',
'Credential_accept',
'Credential_checkConsistency',
'Credential_copyRegistredInformation',
'Credential_updatePersonPassword',
'InvoiceTransaction_postGeneration',
'InvoiceTransaction_postTransactionLineGeneration',
'InvoiceTransaction_selectDelivery',
'InvoiceTransaction_selectInvoiceMovement',
'PurchaseInvoice_selectTradeModelMovementList',
'SaleInvoice_selectTradeModelMovementList',
} }
# Generic method to check consistency of a skin item # Generic method to check consistency of a skin item
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment