diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py index d21a387ffe71653039d98bd38bbb23db97d223fa..b8d2f0d585499060f80788ffddae3c6b8aa2c642 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py @@ -56,7 +56,7 @@ class Currency(Resource): # Unit conversion security.declareProtected(Permissions.AccessContentsInformation, 'convertQuantity') - def convertQuantity(self, quantity, from_unit, to_unit, variation_list=()): + def convertQuantity(self, quantity, from_unit, to_unit, variation_list=(), transformed_resource=None, transformed_variation_list=()): # 'variation_list' parameter may be deprecated: # cf Measure.getConvertedQuantity return quantity diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml index 1c0ba2cfc7f9bcf141efb73c7cbd5d8da3610a4c..5bf3b30c1e22de8f25908723b187cd8e344d0b9a 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>Currency</string> </value> @@ -14,6 +20,12 @@ <key> <string>default_source_reference</string> </key> <value> <string>Products.ERP5.Document.Currency</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>document.erp5.Currency</string> </value> @@ -37,9 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W: 59, 2: Arguments number differs from overridden \'convertQuantity\' method (arguments-differ)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -49,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -68,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -77,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py index 19b30869ba27001afa65b85220758cf870cca783..30dce8cdfefb5a874d857f3947fa57e1d124e223 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py @@ -54,7 +54,7 @@ from Products.ERP5Type.ImageUtil import transformUrlToDataURI # import mixin from Products.ERP5.mixin.text_convertable import TextConvertableMixin -def getDefaultImageQuality(portal, format=None): +def getDefaultImageQuality(portal, format=None): # pylint: disable=redefined-builtin preference_tool = portal.portal_preferences return preference_tool.getPreferredImageQuality() @@ -173,7 +173,10 @@ class Image(TextConvertableMixin, File, OFSImage): return self.height security.declareProtected(Permissions.AccessContentsInformation, 'getContentType') - def getContentType(self, default=_MARKER): + def getContentType( # pylint: disable=arguments-differ,dangerous-default-value + self, + default=_MARKER, + ): """Original photo content_type.""" self._upgradeImage() if self.hasData() and not self.hasContentType(): @@ -208,8 +211,13 @@ class Image(TextConvertableMixin, File, OFSImage): return links security.declareProtected(Permissions.AccessContentsInformation, 'displayMap') - def displayMap(self, exclude=None, format=None, quality=_MARKER,\ - resolution=None): + def displayMap( # pylint: disable=dangerous-default-value + self, + exclude=None, + format=None, # pylint: disable=redefined-builtin + quality=_MARKER, + resolution=None, + ): """Return list of displays with size info.""" displays = [] if quality is _MARKER: @@ -236,7 +244,7 @@ class Image(TextConvertableMixin, File, OFSImage): security.declarePrivate('_convertToText') - def _convertToText(self, format): + def _convertToText(self, format): # pylint: disable=redefined-builtin """ Convert the image to text with portaltransforms """ @@ -258,7 +266,7 @@ class Image(TextConvertableMixin, File, OFSImage): return mime_type, result # Conversion API - def _convert(self, format, **kw): + def _convert(self, format, **kw): # pylint: disable=redefined-builtin """ Implementation of conversion for Image files """ @@ -319,7 +327,16 @@ class Image(TextConvertableMixin, File, OFSImage): # Photo processing # - def _resize(self, quality, width, height, format, resolution, frame, crop=False): + def _resize( + self, + quality, + width, + height, + format, # pylint: disable=redefined-builtin + resolution, + frame, + crop=False, + ): """Resize and resample photo.""" icc_profile = os.path.join(os.path.dirname(__file__), '..', 'misc', 'sRGB.icc') @@ -376,7 +393,15 @@ class Image(TextConvertableMixin, File, OFSImage): return StringIO(image) raise ConversionError('Image conversion failed (%s).' % err) - def _getDisplayData(self, format, quality, resolution, frame, image_size, crop): + def _getDisplayData( + self, + format, # pylint: disable=redefined-builtin + quality, + resolution, + frame, + image_size, + crop, + ): """Return raw photo data for given display.""" if crop: width, height = image_size @@ -389,13 +414,19 @@ class Image(TextConvertableMixin, File, OFSImage): return self.getData() return self._resize(quality, width, height, format, resolution, frame, crop) - def _makeDisplayPhoto(self, format=None, quality=_MARKER, - resolution=None, frame=None, image_size=None, - crop=False): + def _makeDisplayPhoto( # pylint: disable=dangerous-default-value + self, + format=None, # pylint: disable=redefined-builtin + quality=_MARKER, + resolution=None, + frame=None, + image_size=None, + crop=False, + ): """Create given display.""" if quality is _MARKER: quality = self.getDefaultImageQuality(format) - width, height = image_size + width, height = image_size # pylint: disable=unpacking-non-sequence base, ext = splitext(self.id) id_ = '%s_%s_%s.%s'% (base, width, height, ext,) image = OFSImage(id_, self.getTitle(), @@ -453,7 +484,7 @@ class Image(TextConvertableMixin, File, OFSImage): self._update_image_info() security.declareProtected(Permissions.AccessContentsInformation, 'getDefaultImageQuality') - def getDefaultImageQuality(self, format=None): + def getDefaultImageQuality(self, format=None): # pylint: disable=redefined-builtin """ Get default image quality for a format. """ diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml index 16a96ab02fca077fb4753cc1c61ff49a1e0e6137..2723ce751181b75120aafc36404529ccd313be87 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>Image</string> </value> @@ -14,6 +20,12 @@ <key> <string>default_source_reference</string> </key> <value> <string>Products.ERP5.Document.Image</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>document.erp5.Image</string> </value> @@ -37,21 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W: 57, 35: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:176, 2: Dangerous default value _MARKER (__builtin__.list) as argument (dangerous-default-value)</string> - <string>W:176, 2: Arguments number differs from overridden \'getContentType\' method (arguments-differ)</string> - <string>W:211, 37: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:211, 2: Dangerous default value _MARKER (__builtin__.list) as argument (dangerous-default-value)</string> - <string>W:239, 27: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:261, 21: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:322, 44: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:379, 28: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:392, 30: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:392, 2: Dangerous default value _MARKER (__builtin__.list) as argument (dangerous-default-value)</string> - <string>W:398, 4: Attempting to unpack a non-sequence defined at line 393 (unpacking-non-sequence)</string> - <string>W:456, 35: Redefining built-in \'format\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -61,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -80,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -89,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py index b505793c7d8a620f78911e032084011962ad586b..d3bcc792ff79c575a2c1f5e97ca84a3691a9c343 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py @@ -6,7 +6,7 @@ # programmers who take the whole responsability of assessing all potential # consequences resulting from its eventual inadequacies and bugs # End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software +# guarantees and support are strongly adviced to contract a Free Software # Service Company # # This program is Free Software; you can redistribute it and/or @@ -30,9 +30,9 @@ from AccessControl import ClassSecurityInfo from erp5.component.mixin.EncryptedPasswordMixin import EncryptedPasswordMixin from erp5.component.mixin.LoginAccountProviderMixin import LoginAccountProviderMixin from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Type.TransactionalVariable import getTransactionalVariable from Products.ERP5Type.XMLObject import XMLObject + class Login(XMLObject, LoginAccountProviderMixin, EncryptedPasswordMixin): meta_type = 'ERP5 Login' portal_type = 'Login' diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py index b9d971625066746710be96bb9f19d8e773dc2477..00b32fd26f1b2a35608c064139d6c9775329fc04 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py @@ -76,13 +76,13 @@ class MappedProperty(XMLObject): return mapping_dict # XXX do we need to protect this method? - def getMappedPropertyId(self, property, reverse=False): + def getMappedPropertyId(self, property, reverse=False): # pylint: disable=redefined-builtin return self.getMappingDict(reverse=reverse).get(property, property) # Security should be handled by the target document not by the mapped # property document. security.declarePublic('getMappedProperty') - def getMappedProperty(self, document, property): + def getMappedProperty(self, document, property): # pylint: disable=redefined-builtin if property.endswith('_list'): property = property[:-5] getProperty = document.getPropertyList @@ -98,7 +98,7 @@ class MappedProperty(XMLObject): # Security should be handled by the target document not by the mapped # property document. security.declarePublic('setMappedProperty') - def setMappedProperty(self, document, property, value): + def setMappedProperty(self, document, property, value): # pylint: disable=redefined-builtin if property.endswith('_list'): property = property[:-5] setProperty = document.setPropertyList diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml index 6c1d83282eaad391026bc37dfeb09b1b8bdee172..40b1d0d381c38fc79202c97004598e3b8775d818 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>MappedProperty</string> </value> @@ -14,6 +20,12 @@ <key> <string>default_source_reference</string> </key> <value> <string>Products.ERP5.Document.MappedProperty</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>document.erp5.MappedProperty</string> </value> @@ -37,11 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W: 79, 32: Redefining built-in \'property\' (redefined-builtin)</string> - <string>W: 85, 40: Redefining built-in \'property\' (redefined-builtin)</string> - <string>W:101, 40: Redefining built-in \'property\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -51,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -70,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -79,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py index 292a49847af01bc8cca9392e59dc199e5a6dc1df..a88876f578e75d95bd55e4c22a0408e3af5ed86b 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py @@ -1,4 +1,3 @@ - # -*- coding: utf-8 -*- ############################################################################## # @@ -190,7 +189,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi return cached_getTargetFormatItemList(self.getBaseContentType()) - def _getConversionFromProxyServer(self, format): + def _getConversionFromProxyServer(self, format): # pylint: disable=redefined-builtin """ Communicates with server to convert a file """ @@ -226,7 +225,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi return response_dict['mime'], Pdata(dec(response_dict['data'])) # Conversion API - def _convert(self, format, frame=0, **kw): + def _convert(self, format, frame=0, **kw): # pylint: disable=redefined-builtin """Convert the document to the given format. If a conversion is already stored for this format, it is returned @@ -346,8 +345,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi if zip_file is None: format_list = [x for x in self.getTargetFormatList() if x.startswith('html') or x.endswith('html')] - format = format_list[0] - mime, data = self._getConversionFromProxyServer(format) + mime, data = self._getConversionFromProxyServer(format_list[0]) archive_file = cStringIO.StringIO() archive_file.write(str(data)) zip_file = zipfile.ZipFile(archive_file) diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml index 1de340f27f08f1fd1d2a25b7f8c6bc7a81f2be5c..2baa2ed90dda16ca29bc768ca085e667bdd95be4 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>OOoDocument</string> </value> @@ -43,11 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W:193, 42: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:229, 21: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:349, 6: Redefining built-in \'format\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -57,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -76,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -85,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py index 37ceb716ae7d98a8d0ee2c0eb7da0fa59ec55bcf..00b7ebb6ac42a1c4080567b4ca608486747e6240 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py @@ -28,4 +28,7 @@ # for builders, and still distinguish order builders from others # Once legacy simulation is dropped, "Order Builder" portal type should # should be changed to use SimulatedDeliveryBuilder class. -from erp5.component.document.GeneratedDeliveryBuilder import GeneratedDeliveryBuilder as OrderBuilder +from erp5.component.document.GeneratedDeliveryBuilder import GeneratedDeliveryBuilder + +class OrderBuilder(GeneratedDeliveryBuilder): + pass diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml index f086732129c25e017e97afadd52d8429dda88a67..425aa72c1a798ece5585abb724ae817477af4756 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>OrderBuilder</string> </value> @@ -53,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -72,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -81,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py index 2142489f8298a8272c638859499ea1e571536489..2c3c9a949b7581ac01a80e51ef71b6084dfd97f1 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py @@ -1,4 +1,3 @@ - ############################################################################## # # Copyright (c) 2002-2005 Nexedi SARL and Contributors. All Rights Reserved. @@ -46,10 +45,19 @@ else: from Products.ERP5Security.ERP5UserManager import ERP5UserManager from Products.ERP5Security.ERP5LoginUserManager import ERP5LoginUserManager -class UserExistsError(ValidationFailed): + +class UserExistsError( + ValidationFailed, + # to workaround pylint's false positive: + # Exception doesn't inherit from standard "Exception" class (nonstandard-exception) + # because it cannot import ValidationFailed (which is set by a monkey patch), we also + # inherit from Exception. + Exception, + ): def __init__(self, user_id): super(UserExistsError, self).__init__('user id %s already exists' % (user_id, )) + class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMixin): """ An Person object holds the information about @@ -91,7 +99,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi security.declareProtected(Permissions.AccessContentsInformation, 'getTitle') - def getTitle(self, **kw): + def getTitle(self, **kw): # pylint: disable=super-on-old-class """ Returns the title if it exists or a combination of first name, middle name and last name @@ -105,7 +113,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi security.declareProtected(Permissions.AccessContentsInformation, 'getTranslatedTitle') - def getTranslatedTitle(self, **kw): + def getTranslatedTitle(self, **kw): # pylint: disable=super-on-old-class """ Returns the title if it exists or a combination of first name, middle name and last name diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml index 7433a6852656eb1a9191e5e77b19c0d9e52e759e..fb0d2713c8b5784ca9bee8be3b820fac757878db 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>Person</string> </value> @@ -43,11 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W:158, 10: Exception doesn\'t inherit from standard "Exception" class (nonstandard-exception)</string> - <string>W:166, 6: Exception doesn\'t inherit from standard "Exception" class (nonstandard-exception)</string> - <string>W:178, 6: Exception doesn\'t inherit from standard "Exception" class (nonstandard-exception)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -57,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -76,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -85,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py index b79aa1efa1d25c7a1d50df04b4d7a925cccc6137..ae6edbe34b8f82d1f7cf19991ec4756231bf94ae 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py @@ -1,4 +1,3 @@ - # -*- coding: utf-8 -*- ############################################################################## # @@ -203,8 +202,8 @@ class SimulatedDeliveryBuilder(BuilderMixin): if property_dict in (None, {}): return delivery = self.getPortalObject().restrictedTraverse(delivery_relative_url) - for (property, value) in property_dict.iteritems(): - delivery.setPropertyList(property, value) + for (prop, value) in property_dict.iteritems(): + delivery.setPropertyList(prop, value) # Try to remove existing properties/categories from Movements that # should exist on Deliveries. @@ -341,7 +340,7 @@ class SimulatedDeliveryBuilder(BuilderMixin): 'solveDivergence') solveDivergence = UnrestrictedMethod(_solveDivergence) - def _createDelivery(self, delivery_module, movement_list, activate_kw): + def _createDelivery(self, delivery_module, movement_list, activate_kw): # pylint: disable=super-on-old-class """ Refer to the docstring in GeneratedDeliveryBuilder. Unlike GeneratedDeliveryBuilder, SimulatedDeliveryBuilder needs to respect diff --git a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml index ab166ddf5625f69d87c1588905a621a6da62c516..4b4825d04e66198a559cb30fa9a537a26d5e4543 100644 --- a/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml +++ b/bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>SimulatedDeliveryBuilder</string> </value> @@ -43,9 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W:206, 9: Redefining built-in \'property\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -55,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -74,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -83,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py index e5d67277d2ba77da86f9ff937e4bc57d956e3aef..a4ab5277363855b38103df0b921328fb9a4e8e2c 100644 --- a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py +++ b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py @@ -10,7 +10,7 @@ def generateBarcodeImage(self, barcode_type, data, REQUEST=None): stdout=PIPE, stderr=PIPE, close_fds=True) - output, error = process.communicate(input=data) + output, _ = process.communicate(input=data) elif barcode_type == 'ean13': from hubarcode.ean13 import EAN13Encoder encoder = EAN13Encoder(data) diff --git a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml index 895826d85bb1ea95ad455845292bb1518641888a..30ad3bd690ca0b7082a99e16179ca3673f6db9d8 100644 --- a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml +++ b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml @@ -6,10 +6,22 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>BarcodeUtils</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>extension.erp5.BarcodeUtils</string> </value> @@ -24,6 +36,18 @@ <none/> </value> </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> <key> <string>version</string> </key> <value> <string>erp5</string> </value> @@ -31,13 +55,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -50,7 +89,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -59,26 +98,30 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> - <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> + <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> <pickle> - <tuple> - <none/> - <list> - <dictionary> - <item> - <key> <string>action</string> </key> - <value> <string>validate</string> </value> - </item> - <item> - <key> <string>validation_state</string> </key> - <value> <string>validated</string> </value> - </item> - </dictionary> - </list> - </tuple> + <dictionary> + <item> + <key> <string>_log</string> </key> + <value> + <list> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> <string>validate</string> </value> + </item> + <item> + <key> <string>validation_state</string> </key> + <value> <string>validated</string> </value> + </item> + </dictionary> + </list> + </value> + </item> + </dictionary> </pickle> </record> </ZopeData> diff --git a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py index dd1b60794f4658c875292a73b468bdcc072e6548..b190ae27faf81e5cc1ec7123d2d1fdd2b459a92e 100644 --- a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py +++ b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py @@ -37,7 +37,6 @@ def migrateToEmbeddedFile(self, force=0): if portal_type in ('File', 'Image') and self.getValidationState()=='embedded': embedded_type = 'Embedded File' container = self.getParentValue() - id = self.id if force == 1: - changeObjectClass(container, id, getattr(erp5.portal_type, embedded_type)) + changeObjectClass(container, self.id, getattr(erp5.portal_type, embedded_type)) return '%s: %s -> %s' % (self.getRelativeUrl(), portal_type, embedded_type), diff --git a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml index b2fdf2fabd2560983dd5681a48f58894f1208f0f..195625e6628b5494de86dcd2ba8b48845dd86caf 100644 --- a/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml +++ b/bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml @@ -6,10 +6,22 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>BaseMigration</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>extension.erp5.BaseMigration</string> </value> @@ -24,6 +36,18 @@ <none/> </value> </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> <key> <string>version</string> </key> <value> <string>erp5</string> </value> @@ -31,13 +55,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -50,7 +89,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -59,26 +98,30 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> - <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> + <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> <pickle> - <tuple> - <none/> - <list> - <dictionary> - <item> - <key> <string>action</string> </key> - <value> <string>validate</string> </value> - </item> - <item> - <key> <string>validation_state</string> </key> - <value> <string>validated</string> </value> - </item> - </dictionary> - </list> - </tuple> + <dictionary> + <item> + <key> <string>_log</string> </key> + <value> + <list> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> <string>validate</string> </value> + </item> + <item> + <key> <string>validation_state</string> </key> + <value> <string>validated</string> </value> + </item> + </dictionary> + </list> + </value> + </item> + </dictionary> </pickle> </record> </ZopeData> diff --git a/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py b/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py index 6968f8eac30a8d42fb8af52906b07b48a7403fde..3769b39751269814d1f8f38131c3401a8a555589 100644 --- a/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py +++ b/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py @@ -47,7 +47,7 @@ class IEncryptedPassword(Interface): Check if the password value is acceptable - i.e. follows site rules. """ - def setEncodedPassword(value, format='default'): + def setEncodedPassword(value, format='default'): # pylint: disable=redefined-builtin """ Set an already encoded password. """ diff --git a/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml b/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml index 7c5562c8ab8f4e0dd8d3b99b287a3d1b9553733d..8af1730a2e67bd4925b3e8983b7e3bcc184cb349 100644 --- a/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml +++ b/bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>IEncryptedPassword</string> </value> @@ -14,6 +20,12 @@ <key> <string>default_source_reference</string> </key> <value> <string>Products.ERP5.interfaces.encrypted_password</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>interface.erp5.IEncryptedPassword</string> </value> @@ -37,9 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W: 50, 32: Redefining built-in \'format\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -49,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -68,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -77,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py index cc993e5e8e73a577ccf00803397ba4e6bbf3eb52..87572ac99577f3417b6fbf7552a1301b28ff6a83 100644 --- a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py +++ b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py @@ -77,14 +77,22 @@ class EncryptedPasswordMixin: if not _checkPermission(Permissions.SetOwnPassword, self): raise AccessControl_Unauthorized('setPassword') - def _setEncodedPassword(self, value, format='default'): + def _setEncodedPassword( + self, + value, + format='default', # pylint: disable=redefined-builtin + ): password = getattr(aq_base(self), 'password', None) if password is None or isinstance(password, basestring): password = self.password = PersistentMapping() self.password[format] = value security.declarePublic('setEncodedPassword') - def setEncodedPassword(self, value, format='default'): + def setEncodedPassword( + self, + value, + format='default', # pylint: disable=redefined-builtin + ): """ """ self.checkUserCanChangePassword() @@ -121,14 +129,14 @@ class EncryptedPasswordMixin: if password is marker: password = default_password else: - format = kw.get('format', 'default') + format_ = kw.get('format', 'default') # Backward compatibility: if it's not a PersistentMapping instance, # assume it's a monovalued string, which corresponds to default # password encoding. if isinstance(password, PersistentMapping): - password = password.get(format, default_password) + password = password.get(format_, default_password) else: - if format != 'default': + if format_ != 'default': password = default_password return password diff --git a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml index b93cc6f48f60a34a9d7216b0178c1deb7d80e039..e3ab20e18f401cfe9f19e6061b43ba514e97ff19 100644 --- a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml +++ b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml @@ -6,6 +6,12 @@ </pickle> <pickle> <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> <item> <key> <string>default_reference</string> </key> <value> <string>EncryptedPasswordMixin</string> </value> @@ -14,6 +20,12 @@ <key> <string>default_source_reference</string> </key> <value> <string>Products.ERP5.mixin.encrypted_password</string> </value> </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> <item> <key> <string>id</string> </key> <value> <string>mixin.erp5.EncryptedPasswordMixin</string> </value> @@ -37,11 +49,7 @@ <item> <key> <string>text_content_warning_message</string> </key> <value> - <tuple> - <string>W: 79, 39: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W: 86, 38: Redefining built-in \'format\' (redefined-builtin)</string> - <string>W:123, 6: Redefining built-in \'format\' (redefined-builtin)</string> - </tuple> + <tuple/> </value> </item> <item> @@ -51,13 +59,28 @@ <item> <key> <string>workflow_history</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> </value> </item> </dictionary> </pickle> </record> <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> <global name="PersistentMapping" module="Persistence.mapping"/> </pickle> @@ -70,7 +93,7 @@ <item> <key> <string>component_validation_workflow</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> </value> </item> </dictionary> @@ -79,7 +102,7 @@ </dictionary> </pickle> </record> - <record id="3" aka="AAAAAAAAAAM="> + <record id="4" aka="AAAAAAAAAAQ="> <pickle> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/> </pickle> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py index e339a13ca6e5645aaea2ce3abc371b5c3b457829..dc69727cdeea7da4d5b1ec55fd4ad13c46243eb3 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py @@ -67,8 +67,8 @@ iban_code = ''.join([str(letter_code_dict.get(x, x)) for x in bban + country_code + checksum]) try: - iban_int = int(iban_code) + iban_int = int(iban_code) except ValueError: - return False + return False return iban_int % 97 == 1 diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py index db642d7772cbf0ad39d4493251c165cc7293796b..17c9201fa027190bf9c1bcb3d78cdfedec03bb4a 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py @@ -1,3 +1,5 @@ +# this script has an `id` argument +# pylint: disable=redefined-builtin from Products.ERP5Type.Message import translateString if id and id != context.getId(): diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py index adb435696a592f98af1d5711e9e831350af5f2f9..6d36645a36fe6ca40dfd29353507ca3ab92c134e 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py @@ -23,7 +23,7 @@ if content_type == 'text/html': else: mail_template = context.Event_viewMimeMessage -attachment_list = attachment_list[:] +attachment_list = list(attachment_list) for embedded_file in embedded_file_list: mime_type, content = embedded_file.getMimeTypeAndContent() name = embedded_file.getFilename() diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml index 80d1658d1987cebda62d550c5e16d4e46337cb67..736d5f9b4da7d341465e5050f0de26c8f47c6846 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_params</string> </key> - <value> <string>from_url, to_url, subject, body, content_type, attachment_list=[], embedded_file_list=[], extra_header_dict=None</string> </value> + <value> <string>from_url, to_url, subject, body, content_type, attachment_list=(), embedded_file_list=(), extra_header_dict=None</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py index 5133ea8c6e0c6095dc609c747b65e05b85d282d2..8bde17a310f263f2051d3ca47c2aa6cbabc603b6 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py @@ -1,3 +1,5 @@ +# this script has an `id` argument +# pylint: disable=redefined-builtin domain = parent.generateTempDomain(id=id) domain.edit(title=title, criterion_property_list=[criterion_property]) diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py index dc985b190cc59be0a32339041fe9d13ec3dbd993..720a6b4793b8bf96d88dd325264c652178c7bfb0 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py @@ -3,7 +3,7 @@ if not date: try: now = DateTime() date = DateTime(date) -except: +except Exception: return '' Base_translateString = context.Base_translateString diff = now - date diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py index ebbe917564211a5ff5651b5b47d2c72da8dcffbe..f413ab2aac9dd76097bcbff1b6f908ad60aea5d2 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py @@ -1,5 +1,4 @@ translateString = context.Base_translateString -request = context.REQUEST ptype = context.getPortalType() if not description: diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py index f55a3b14615f01e41189549cedf7465f2b308640..ca697810bad67a426f1411142f266d2b65aad345 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py @@ -6,14 +6,14 @@ # Assumes that 2 currencies with the same ID, they are the same currency if from_currency is not None and to_currency is not None and \ [x for x in from_currency.split('/') if x.strip()][-1] == [x for x in to_currency.split('/') if x.strip()][-1]: - return [1] + return [1] def sort_by_date(a, b): if a.getStartDateRangeMin() > b.getStartDateRangeMin() : return -1 return 1 -object = context +object_ = context from Products.ERP5Type.Cache import CachingMethod @@ -37,15 +37,15 @@ if to_currency is not None: if currency_exchange_type is not None: temp_kw['category_list'].append('currency_exchange_type/%s' % currency_exchange_type) temp_object.edit(**temp_kw) - object = temp_object - mapped_value = context.portal_domains.generateMappedValue(object, + object_ = temp_object + mapped_value = context.portal_domains.generateMappedValue(object_, has_cell_content=0, validation_state='validated', sort_method=sort_by_date) base_price = getattr(mapped_value, 'base_price', None) discount = getattr(mapped_value, 'discount', None) if base_price is None and discount is None: - mapped_value = context.portal_domains.generateMappedValue(object, + mapped_value = context.portal_domains.generateMappedValue(object_, has_cell_content=1, validation_state='validated', sort_method=sort_by_date) @@ -63,14 +63,14 @@ else: if start_date is None: if getattr(context,'isDelivery',None): start_date = context.getStartDate() - mapped_value = context.portal_domains.generateMappedValue(object, + mapped_value = context.portal_domains.generateMappedValue(object_, has_cell_content=0, validation_state='validated', sort_method=sort_by_date) base_price = getattr(mapped_value, 'base_price', None) discount = getattr(mapped_value, 'discount', None) if base_price is None and discount is None: - mapped_value = context.portal_domains.generateMappedValue(object, + mapped_value = context.portal_domains.generateMappedValue(object_, has_cell_content=1, validation_state='validated', sort_method=sort_by_date) diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py index b5656e0dfdb47c7a90004cc0694dca630ebad2e9..6b422f49e9719dad28ee0630081da2a9ec487ddd 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py @@ -16,10 +16,10 @@ for divergence in divergence_list: uid = 'new_%s&%s' % (simulation_movement_url, divergence.getProperty('tested_property')) - object = portal_object.restrictedTraverse(object_relative_url) - o = newTempBase(object.getParentValue(), object.getId(), uid=uid, + document = portal_object.restrictedTraverse(object_relative_url) + o = newTempBase(document.getParentValue(), document.getId(), uid=uid, message=str(divergence.getTranslatedMessage()), - object_title=object.getTranslatedTitle(), + object_title=document.getTranslatedTitle(), prevision_title=prevision_title, decision_title=decision_title, candidate_list=[(context.Base_translateString('Do nothing'), 'ignore'), diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py index 1c58ff60883a480f589175fb11d442fb714182ff..a14acfc3882123ee30dae776a6b3bebc59978338 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py @@ -10,14 +10,14 @@ for divergence in divergence_list: prop = divergence.getProperty('tested_property') if prop in (None, '') or divergence.getCollectOrderGroup() != 'delivery': continue - message, candidate_list, value_list, decision_title_list, prevision_title_list = candidate_dict.get(prop, ['', [], [], [], []]) + _, candidate_list, value_list, decision_title_list, prevision_title_list = candidate_dict.get(prop, ['', [], [], [], []]) decision_value = divergence.getProperty('decision_value') decision_title = divergence.getProperty('decision_title', decision_value) prevision_value = divergence.getProperty('prevision_value') prevision_title = divergence.getProperty('prevision_title', prevision_value) object_relative_url = divergence.getProperty('object_relative_url') simulation_movement_url = divergence.getProperty('simulation_movement').getRelativeUrl() - object = portal_object.restrictedTraverse(object_relative_url) + document = portal_object.restrictedTraverse(object_relative_url) if decision_value not in value_list: candidate_list.append((decision_title, object_relative_url)) value_list.append(decision_value) @@ -32,11 +32,11 @@ for divergence in divergence_list: for prop, candidate_list in candidate_dict.items(): uid = 'new_%s' % prop - object = context + document = context o = newTempBase(context.getParentValue(), context.getId(), uid, uid=uid, message=candidate_list[0], - object_title=object.getTranslatedTitle(), + object_title=document.getTranslatedTitle(), decision_title=', '.join([str(x) for x in candidate_list[3]]), prevision_title=', '.join([str(x) for x in candidate_list[4]]), candidate_list=[(context.Base_translateString('Do nothing'), 'ignore')]+candidate_list[1]) diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py index 77e473b5023af26037fe310ca27dea8d4f0bb6b3..53934a31a2835cf1d5d704d3b8e1589c02173401 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py @@ -17,11 +17,11 @@ for divergence in divergence_list: uid = 'new_%s&%s' % (simulation_movement_url, divergence.getProperty('tested_property')) - object = portal_object.restrictedTraverse(object_relative_url) - o = newTempBase(object.getParentValue(), object.getId(), uid=uid, + document = portal_object.restrictedTraverse(object_relative_url) + o = newTempBase(document.getParentValue(), document.getId(), uid=uid, message=str(divergence.getTranslatedMessage()), - object_portal_type=object.getTranslatedPortalType(), - object_title=object.getTranslatedTitle(), + object_portal_type=document.getTranslatedPortalType(), + object_title=document.getTranslatedTitle(), prevision_title=prevision_title, decision_title=decision_title, candidate_list=[(context.Base_translateString('Do nothing'), 'ignore'), diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py index 50b12b0c86d7f5fea7a72ad0ab8fb63ce81eb100..d466d1ddf44f78cb88fcb9abdac0703b09b1ec30 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py @@ -1,3 +1,4 @@ +# coding: utf-8 translateString = context.Base_translateString request = context.REQUEST @@ -94,7 +95,6 @@ def getTaxLineList(order): return tax_line_list line_base_contribution_list = [] -number = 0 tax_free_line_totalprice = 0 line_list = [] line_not_tax = [] diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py index 1cc0abf4c47719dc032f3dd22506a94bfc20aa48..cab6965db9f3fc157e343518c90d718ee9ed2e53 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py @@ -1,3 +1,5 @@ +# this script has an `format` argument +# pylint: disable=redefined-builtin """ This script provides a facility to permit conversion by format. """ diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py index 8062d5d687e5bf37198dd601bc0c2f0c6d3c35ab..5e5f7576b3e6e4db07724625d4c6db1c7ba54f85 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py @@ -1,3 +1,5 @@ +# this script has an `format` argument +# pylint: disable=redefined-builtin """Just an alias for real script """ from Products.ERP5Type.Log import log diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py index 6551241b61023ee5356ef5176dafb91b8e017330..5ea32e5ebaaf89d1ace3494ed3a9ec083704cfd3 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py @@ -1,3 +1,5 @@ +# this script has an `format` argument +# pylint: disable=redefined-builtin """ This script returns a standard file name, build from reference, version and language (this is only the base part of the name, the extension should be appended diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py index 175e95e939edf568c5bb3f25c2baccaf098dcdd5..6e84dec82551b00c0f9f617392b8ae46985a1221 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py @@ -1,21 +1,21 @@ """ WARNING: this script requires proxy manager -This script tries to acquire category values from other objects +This script tries to acquire category values from other documents base_category_list - list of category values we need to retrieve -object - object which we want to assign roles to. +obj - document which we want to assign roles to. """ category_dict = {} -if object is None: +if obj is None: return [] for base_category in base_category_list: if base_category == 'parent': - o_list = [object.getParentValue()] + o_list = [obj.getParentValue()] else: - o_list = object.getValueList(base_category) + o_list = obj.getValueList(base_category) for o in o_list: for user, role_list in o.get_local_roles(): for role in role_list: diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml index b271774ac092dd829b496333a0a42c270d31a6fd..6de206c9736e8667ed2e97479764ae23fc3d050c 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_params</string> </key> - <value> <string>base_category_list, user_name, object, portal_type</string> </value> + <value> <string>base_category_list, user_name, obj, portal_type</string> </value> </item> <item> <key> <string>_proxy_roles</string> </key> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py index 43e27b8fd0d65eb8ef8f6cab80184d63dcf3330b..955e75bbfc4d5678c53e8af1152c919a908c1ce3 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py @@ -64,13 +64,12 @@ if download or not use_activity: if not from_url: raise ValueError('Preferred Event Sender Email not configured') - # Return-Path + # Return-Path (TODO) if reply_url is None: reply_url = portal.portal_preferences.getPreferredEventSenderEmail() - additional_headers = None + additional_headers = None # pylint: disable=unused-variable if reply_url: additional_headers = {'Return-Path':reply_url} - content_type = context.getContentType() mail_message = context.Base_createMailMessageAsString( diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py index 3326a38cab63843ebc2b7c3a484c923d892f5da7..89882995871bc21b6760c807b19444e0b0ed221d 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py @@ -1 +1,2 @@ # this script can be overridden as you wish. +pass diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py index a14210c3f3ee52676a42654fc734a03c79a87dc2..2224560e3c12a239a47719550440ff2374571c8a 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py @@ -8,7 +8,7 @@ for career_step in all_career_step_list : career_step.getSubordination() == subordination_relative_url) and \ career_step.getStartDate() and \ career_step.getValidationState() not in ('cancelled', 'deleted'): - career_step_list.append(career_step) + career_step_list.append(career_step) # sort them by start date career_step_list.sort(key=lambda x: x.getStartDate()) diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py index 2694c0730702c9069722e2f0c49e5335c5933942..ab0de6ceecdff38668c47a1077ef680fbc108d72 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py @@ -1,5 +1,4 @@ from Products.PythonScripts.standard import Object -from Products.ZSQLCatalog.SQLCatalog import Query from Products.ERP5Type.DateUtils import atTheEndOfPeriod request = container.REQUEST from_date = request.get('from_date', None) @@ -8,10 +7,10 @@ aggregation_level = request.get('aggregation_level', None) portal = context.getPortalObject() module_list = [] for module_id in portal.objectIds(spec=('ERP5 Folder',)): - module = portal.restrictedTraverse(module_id, None) - if module is not None: - if portal.portal_membership.checkPermission('View', module): - module_list.append(module) + module = portal.restrictedTraverse(module_id, None) + if module is not None: + if portal.portal_membership.checkPermission('View', module): + module_list.append(module) module_list.sort(key=lambda x: x.getTitle()) # build document portal type list @@ -69,25 +68,25 @@ line_list = [] append = line_list.append period_count_dict = {} for portal_type in portal_type_list: - if portal_type_count_dict.has_key(portal_type): - period_count = portal_type_count_dict[portal_type] - obj = Object(uid="new_") - obj["document_type"] = context.Base_translateString(portal_type) - else: - continue - line_counter = 0 - for period in period_list: - if period_count.has_key(period): - obj[period] = period_count[period] - line_counter += period_count[period] - if period_count_dict.has_key(period): - period_count_dict[period] = period_count_dict[period] + period_count[period] - else: - period_count_dict[period] = period_count[period] + if portal_type_count_dict.has_key(portal_type): + period_count = portal_type_count_dict[portal_type] + obj = Object(uid="new_") + obj["document_type"] = context.Base_translateString(portal_type) + else: + continue + line_counter = 0 + for period in period_list: + if period_count.has_key(period): + obj[period] = period_count[period] + line_counter += period_count[period] + if period_count_dict.has_key(period): + period_count_dict[period] = period_count_dict[period] + period_count[period] else: - obj[period] = 0 - obj['total'] = line_counter - append(obj) + period_count_dict[period] = period_count[period] + else: + obj[period] = 0 + obj['total'] = line_counter + append(obj) # sort lines def cmpType(a, b): diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py index 7fd26c8f0aa447f7c74e7f371b119af727c9ec0d..0c4fc50c27cc3d0fe53e991783a0571cf40457a1 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py @@ -1,4 +1,3 @@ -from Products.ZSQLCatalog.SQLCatalog import Query from Products.ERP5Type.DateUtils import atTheEndOfPeriod request = container.REQUEST portal = context.getPortalObject() diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py index 2f72d73360796fa49e8848fd6894fd7db1ef71ae..79a4b1a4fb4f6efdf9d7e8199e9131342d49af29 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py @@ -28,7 +28,7 @@ for assignment in context.contentValues(portal_type='Assignment'): and assignment.getValidationState() == 'open' \ and ( assignment.getStartDate() is None or assignment.getStartDate() <= now <= assignment.getStopDate()): - existing_group_set[assignment.getGroup()] = 1 + existing_group_set[assignment.getGroup()] = 1 # If we have multiple groups defined on assignments, this scripts does not # try to guess, and fallback to the default career's group diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py index a374840ce46e90141c5fb4a7ee7b771acee8b089..e57a2a6fe483caf217d8cfbbe132ca42f94c6220 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py @@ -2,7 +2,6 @@ from Products.CMFActivity.Errors import ActivityPendingError Base_translateString = context.Base_translateString person = context -career_list = [] default_career = None if 'default_career' in person.objectIds(): diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py index 0839066b7a688e332ca1a360c725f30163ceed9a..3d249400653cea700ae889a9ce212f3b2d259f9b 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py @@ -1,75 +1,3 @@ request = container.REQUEST -RESPONSE = request.RESPONSE - stat_line = request.get('stat_line', None) - return stat_line - - -# XXX example of another way to get the stat line but this is slower -from Products.ERP5Type.Log import log -from Products.PythonScripts.standard import Object -from Products.ZSQLCatalog.SQLCatalog import Query -request = container.REQUEST -from_date = request.get('from_date', None) -to_date = request.get('at_date', None) -aggregation_level = request.get('aggregation_level', None) -log("in stat method", "") -# build document portal type list -portal_type_list = [] -extend = portal_type_list.extend -for title, path in context.ERP5Site_getModuleItemList(): - document_type_list = context.restrictedTraverse(path).allowedContentTypes() - extend([x.id for x in document_type_list]) - -# compute sql params, we group and order by date and portal type -if aggregation_level == "year": - sql_format = "%Y" -elif aggregation_level == "month": - sql_format = "%Y-%m" -elif aggregation_level == "week": - sql_format = "%Y-%u" -elif aggregation_level == "day": - sql_format = "%Y-%m-%d" -count_kw = {} -if from_date is not None and to_date is not None: - count_kw['creation_date'] = { - 'range': 'minngt', - 'query': (from_date, to_date), - } -elif from_date is not None: - count_kw['creation_date'] = { - 'range': 'min', - 'query': from_date, - } -elif to_date is not None: - count_kw['creation_date'] = { - 'range': 'ngt', - 'query': to_date, - } - -# count number of object created by the user for each type of document -result_list = context.portal_catalog.countResults(select_dict={'date': 'DATE_FORMAT(creation_date, "%s")' % sql_format}, - portal_type=portal_type_list,limit=None, - owner=context.Person_getUserId(), - group_by=['DATE_FORMAT(creation_date, "%s")' % sql_format], - **count_kw) - -# build result dict per portal_type then period -period_count_dict = {} -for result in result_list: - period_count_dict[result[1]] = result[0] - -# build line -obj = Object(uid="new_") -obj["document_type"] = 'Total' -line_counter = 0 -for period in period_list: - if period_count_dict.has_key(period): - obj[period] = period_count_dict[period] - line_counter += period_count_dict[period] - else: - obj[period] = 0 -obj['total'] = line_counter - -return [obj,] diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py index a4c36451297b3f7d0b60ef57dff7d8570afc9aa0..c4254765de0f93984bc7b57e1fd6773a3317b129 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py @@ -14,9 +14,8 @@ context.setMembershipCriterionCategoryList(membership_list) context.setResourceValue(context.getParentValue()) context.setMappedValuePropertyList(('base_price','discount')) if cell_range_key_list != [[None, None]] : - i = 0 for k in cell_range_key_list: - category_list = filter(lambda k_item: k_item is not None, k) + category_list = [k_item for k_item in k if k is not None] c = context.newCell(*k, **kwd) c.edit(mapped_value_property_list = ('base_price','discount'), force_update = 1, diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py index 882e708ec14b2edec026b9a7979480c5652bb911..2ebd3a3cdb22464bfe80a28cc8b353225d104df9 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py @@ -13,8 +13,7 @@ if listbox is not None: for k, v in listbox.items(): object_url = v['choice'] if object_url != 'ignore': - object = delivery.restrictedTraverse(object_url) - delivery_solve_property_dict[k] = object.getPropertyList(k) + delivery_solve_property_dict[k] = delivery.restrictedTraverse(object_url).getPropertyList(k) divergence_to_accept_list = [] divergence_to_adopt_list = [] @@ -22,8 +21,7 @@ divergence_to_adopt_list = [] divergence_dict = {} for divergence in divergence_list: simulation_movement_url = divergence.getProperty('simulation_movement').getRelativeUrl() - property = divergence.getProperty('tested_property') - divergence_dict['%s&%s' % (simulation_movement_url, property)] = divergence + divergence_dict['%s&%s' % (simulation_movement_url, divergence.getProperty('tested_property'))] = divergence for listbox in [state_change['kwargs'].get('line_group_listbox'), state_change['kwargs'].get('cell_group_listbox')]: diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py index 806a75e175204241404a1d4df2efb664fee0cadb..3c2b57b814fed24a19be03d7d9f2b98efd84435e 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py @@ -3,8 +3,6 @@ delivery = state_change['object'] stop_date = state_change.kwargs['stop_date'] start_date = state_change.kwargs['start_date'] -tag = delivery.getPath() + '_split' -split_and_defer = 0 listbox = state_change['kwargs'].get('listbox') split_movement_list = [] if listbox is not None: diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py index 5ac432e4ba6b37dd2bc75c6808088481f8b7b128..f5a3d6efd5270d9a81afbf59d1546b5a4dd2d4d5 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py @@ -19,10 +19,10 @@ delivery.activate(after_tag=tag).updateCausalityState() # Create delivery explanation_uid_list = [] -object = delivery -while object is not None: - explanation_uid_list.append(object.getUid()) - object = object.getCausalityValue() +object_ = delivery +while object_ is not None: + explanation_uid_list.append(object_.getUid()) + object_ = object_.getCausalityValue() previous_tag = None for delivery_builder in delivery.getBuilderList(): diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py index 9f9bf9c82223a88ab0d729090de066580888716a..752dac6f50be4e9e0306d56de3a543023ae831c3 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py @@ -1,10 +1,7 @@ delivery = state_change['object'] portal = delivery.getPortalObject() -try: - portal.portal_solvers - portal.portal_solver_processes -except AttributeError: +if not (hasattr(portal, 'portal_solvers') and hasattr(portal, 'portal_solver_processes')): delivery.diverge() else: solver_tag = '%s_solve' % delivery.getPath() diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py index 589895128142a2753771ce0cc03296e736e1d3ff..49153a9ba0c875ad2ccbe6e04d1d20c3f067782f 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py @@ -7,12 +7,12 @@ catalog. """ from Products.ERP5Type.Log import log -object = sci['object'] -portal = object.getPortalObject() +document = sci['object'] +portal = document.getPortalObject() translateString = portal.Base_translateString # Get the owner -owner = object.getViewPermissionOwner() +owner = document.getViewPermissionOwner() owner_value = portal.Base_getUserValueByUserId(owner) # Get the authenticated user @@ -43,11 +43,11 @@ Answer: ${answer} """ msg = translateString(msg, - mapping=dict(id=object.getId(), + mapping=dict(id=document.getId(), subject=subject, user=user_value.getTitle(), - question=object.getDescription(), - answer=object.getTextContent()) + question=document.getDescription(), + answer=document.getTextContent()) ) # We can now notify the owner through the notification tool diff --git a/bt5/erp5_base/bt/skip_coding_style_test b/bt5/erp5_base/bt/skip_coding_style_test deleted file mode 100644 index 56a6051ca2b02b04ef92d5150c9ef600403cb1de..0000000000000000000000000000000000000000 --- a/bt5/erp5_base/bt/skip_coding_style_test +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file