Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Boxiang Sun
erp5
Commits
ed5af4dd
Commit
ed5af4dd
authored
Mar 10, 2020
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
base: fix pylint messages and enable coding style test
parent
cdae0727
Changes
55
Hide whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
547 additions
and
307 deletions
+547
-307
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py
...tTemplateItem/portal_components/document.erp5.Currency.py
+1
-1
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml
...TemplateItem/portal_components/document.erp5.Currency.xml
+31
-6
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py
...mentTemplateItem/portal_components/document.erp5.Image.py
+44
-13
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml
...entTemplateItem/portal_components/document.erp5.Image.xml
+31
-18
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py
...mentTemplateItem/portal_components/document.erp5.Login.py
+2
-2
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py
...ateItem/portal_components/document.erp5.MappedProperty.py
+3
-3
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml
...teItem/portal_components/document.erp5.MappedProperty.xml
+31
-8
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py
...mplateItem/portal_components/document.erp5.OOoDocument.py
+3
-5
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml
...plateItem/portal_components/document.erp5.OOoDocument.xml
+25
-8
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py
...plateItem/portal_components/document.erp5.OrderBuilder.py
+4
-1
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml
...lateItem/portal_components/document.erp5.OrderBuilder.xml
+24
-3
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py
...entTemplateItem/portal_components/document.erp5.Person.py
+12
-4
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml
...ntTemplateItem/portal_components/document.erp5.Person.xml
+25
-8
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py
...rtal_components/document.erp5.SimulatedDeliveryBuilder.py
+3
-4
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml
...tal_components/document.erp5.SimulatedDeliveryBuilder.xml
+25
-6
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py
...lateItem/portal_components/extension.erp5.BarcodeUtils.py
+1
-1
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml
...ateItem/portal_components/extension.erp5.BarcodeUtils.xml
+62
-19
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py
...ateItem/portal_components/extension.erp5.BaseMigration.py
+1
-2
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml
...teItem/portal_components/extension.erp5.BaseMigration.xml
+62
-19
bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py
...em/portal_components/interface.erp5.IEncryptedPassword.py
+1
-1
bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml
...m/portal_components/interface.erp5.IEncryptedPassword.xml
+31
-6
bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py
...em/portal_components/mixin.erp5.EncryptedPasswordMixin.py
+13
-5
bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml
...m/portal_components/mixin.erp5.EncryptedPasswordMixin.xml
+31
-8
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py
...teItem/portal_skins/erp5_base/BankAccount_validateIBAN.py
+2
-2
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py
.../SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py
+2
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py
.../portal_skins/erp5_base/Base_createMailMessageAsString.py
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml
...portal_skins/erp5_base/Base_createMailMessageAsString.xml
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py
...emplateItem/portal_skins/erp5_base/Base_generateDomain.py
+2
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py
...m/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py
...SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py
+0
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py
...l_skins/erp5_base/CurrencyExchange_getExchangeRateList.py
+7
-7
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py
...al_skins/erp5_base/Delivery_getCellGroupDivergenceList.py
+3
-3
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py
...kins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py
+4
-4
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py
...al_skins/erp5_base/Delivery_getLineGroupDivergenceList.py
+4
-4
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py
...ateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py
...ins/erp5_base/Document_checkConversionFormatPermission.py
+2
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py
...em/portal_skins/erp5_base/Document_getStandardFileName.py
+2
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py
...em/portal_skins/erp5_base/Document_getStandardFilename.py
+2
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py
...l_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py
+5
-5
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml
..._skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py
...inTemplateItem/portal_skins/erp5_base/MailMessage_send.py
+2
-3
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py
...nTemplateItem/portal_skins/erp5_base/Organisation_init.py
+1
-0
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py
...eItem/portal_skins/erp5_base/Person_getCareerStartDate.py
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py
...ins/erp5_base/Person_getPersonDetailedContributionList.py
+22
-23
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py
...rtal_skins/erp5_base/Person_getPersonDetailedEventList.py
+0
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py
...lateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py
+1
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py
...eItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py
+0
-1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py
...ns/erp5_base/Person_statPersonDetailedContributionList.py
+0
-72
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py
...ion_workflow/scripts/CurrencyExchangeLine_updateMatrix.py
+1
-2
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py
...orkflow/scripts/Delivery_callSolveDivergenceTransition.py
+2
-4
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py
..._workflow/scripts/Delivery_callSplitAndDeferTransition.py
+0
-2
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py
...very_causality_workflow/scripts/Delivery_splitAndDefer.py
+4
-4
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py
...workflow/scripts/Workflow_solveDivergenceAutomatically.py
+1
-4
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py
...tem/portal_workflow/query_workflow/scripts/notifyOwner.py
+6
-6
bt5/erp5_base/bt/skip_coding_style_test
bt5/erp5_base/bt/skip_coding_style_test
+0
-1
No files found.
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.py
View file @
ed5af4dd
...
@@ -56,7 +56,7 @@ class Currency(Resource):
...
@@ -56,7 +56,7 @@ class Currency(Resource):
# Unit conversion
# Unit conversion
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'convertQuantity'
)
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:
# 'variation_list' parameter may be deprecated:
# cf Measure.getConvertedQuantity
# cf Measure.getConvertedQuantity
return
quantity
return
quantity
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Currency.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
Currency
</string>
</value>
<value>
<string>
Currency
</string>
</value>
...
@@ -14,6 +20,12 @@
...
@@ -14,6 +20,12 @@
<key>
<string>
default_source_reference
</string>
</key>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.Document.Currency
</string>
</value>
<value>
<string>
Products.ERP5.Document.Currency
</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.Currency
</string>
</value>
<value>
<string>
document.erp5.Currency
</string>
</value>
...
@@ -37,9 +49,7 @@
...
@@ -37,9 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<tuple/>
<string>
W: 59, 2: Arguments number differs from overridden \'convertQuantity\' method (arguments-differ)
</string>
</tuple>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -49,13 +59,28 @@
...
@@ -49,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -68,7 +93,7 @@
...
@@ -68,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -77,7 +102,7 @@
...
@@ -77,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.py
View file @
ed5af4dd
...
@@ -54,7 +54,7 @@ from Products.ERP5Type.ImageUtil import transformUrlToDataURI
...
@@ -54,7 +54,7 @@ from Products.ERP5Type.ImageUtil import transformUrlToDataURI
# import mixin
# import mixin
from
Products.ERP5.mixin.text_convertable
import
TextConvertableMixin
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
preference_tool
=
portal
.
portal_preferences
return
preference_tool
.
getPreferredImageQuality
()
return
preference_tool
.
getPreferredImageQuality
()
...
@@ -173,7 +173,10 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -173,7 +173,10 @@ class Image(TextConvertableMixin, File, OFSImage):
return
self
.
height
return
self
.
height
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getContentType'
)
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."""
"""Original photo content_type."""
self
.
_upgradeImage
()
self
.
_upgradeImage
()
if
self
.
hasData
()
and
not
self
.
hasContentType
():
if
self
.
hasData
()
and
not
self
.
hasContentType
():
...
@@ -208,8 +211,13 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -208,8 +211,13 @@ class Image(TextConvertableMixin, File, OFSImage):
return
links
return
links
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'displayMap'
)
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'displayMap'
)
def
displayMap
(
self
,
exclude
=
None
,
format
=
None
,
quality
=
_MARKER
,
\
def
displayMap
(
# pylint: disable=dangerous-default-value
resolution
=
None
):
self
,
exclude
=
None
,
format
=
None
,
# pylint: disable=redefined-builtin
quality
=
_MARKER
,
resolution
=
None
,
):
"""Return list of displays with size info."""
"""Return list of displays with size info."""
displays
=
[]
displays
=
[]
if
quality
is
_MARKER
:
if
quality
is
_MARKER
:
...
@@ -236,7 +244,7 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -236,7 +244,7 @@ class Image(TextConvertableMixin, File, OFSImage):
security
.
declarePrivate
(
'_convertToText'
)
security
.
declarePrivate
(
'_convertToText'
)
def
_convertToText
(
self
,
format
):
def
_convertToText
(
self
,
format
):
# pylint: disable=redefined-builtin
"""
"""
Convert the image to text with portaltransforms
Convert the image to text with portaltransforms
"""
"""
...
@@ -258,7 +266,7 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -258,7 +266,7 @@ class Image(TextConvertableMixin, File, OFSImage):
return
mime_type
,
result
return
mime_type
,
result
# Conversion API
# Conversion API
def
_convert
(
self
,
format
,
**
kw
):
def
_convert
(
self
,
format
,
**
kw
):
# pylint: disable=redefined-builtin
"""
"""
Implementation of conversion for Image files
Implementation of conversion for Image files
"""
"""
...
@@ -319,7 +327,16 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -319,7 +327,16 @@ class Image(TextConvertableMixin, File, OFSImage):
# Photo processing
# 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."""
"""Resize and resample photo."""
icc_profile
=
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
icc_profile
=
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'..'
,
'misc'
,
'sRGB.icc'
)
'..'
,
'misc'
,
'sRGB.icc'
)
...
@@ -376,7 +393,15 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -376,7 +393,15 @@ class Image(TextConvertableMixin, File, OFSImage):
return
StringIO
(
image
)
return
StringIO
(
image
)
raise
ConversionError
(
'Image conversion failed (%s).'
%
err
)
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."""
"""Return raw photo data for given display."""
if
crop
:
if
crop
:
width
,
height
=
image_size
width
,
height
=
image_size
...
@@ -389,13 +414,19 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -389,13 +414,19 @@ class Image(TextConvertableMixin, File, OFSImage):
return
self
.
getData
()
return
self
.
getData
()
return
self
.
_resize
(
quality
,
width
,
height
,
format
,
resolution
,
frame
,
crop
)
return
self
.
_resize
(
quality
,
width
,
height
,
format
,
resolution
,
frame
,
crop
)
def
_makeDisplayPhoto
(
self
,
format
=
None
,
quality
=
_MARKER
,
def
_makeDisplayPhoto
(
# pylint: disable=dangerous-default-value
resolution
=
None
,
frame
=
None
,
image_size
=
None
,
self
,
crop
=
False
):
format
=
None
,
# pylint: disable=redefined-builtin
quality
=
_MARKER
,
resolution
=
None
,
frame
=
None
,
image_size
=
None
,
crop
=
False
,
):
"""Create given display."""
"""Create given display."""
if
quality
is
_MARKER
:
if
quality
is
_MARKER
:
quality
=
self
.
getDefaultImageQuality
(
format
)
quality
=
self
.
getDefaultImageQuality
(
format
)
width
,
height
=
image_size
width
,
height
=
image_size
# pylint: disable=unpacking-non-sequence
base
,
ext
=
splitext
(
self
.
id
)
base
,
ext
=
splitext
(
self
.
id
)
id_
=
'%s_%s_%s.%s'
%
(
base
,
width
,
height
,
ext
,)
id_
=
'%s_%s_%s.%s'
%
(
base
,
width
,
height
,
ext
,)
image
=
OFSImage
(
id_
,
self
.
getTitle
(),
image
=
OFSImage
(
id_
,
self
.
getTitle
(),
...
@@ -453,7 +484,7 @@ class Image(TextConvertableMixin, File, OFSImage):
...
@@ -453,7 +484,7 @@ class Image(TextConvertableMixin, File, OFSImage):
self
.
_update_image_info
()
self
.
_update_image_info
()
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getDefaultImageQuality'
)
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.
Get default image quality for a format.
"""
"""
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Image.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
Image
</string>
</value>
<value>
<string>
Image
</string>
</value>
...
@@ -14,6 +20,12 @@
...
@@ -14,6 +20,12 @@
<key>
<string>
default_source_reference
</string>
</key>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.Document.Image
</string>
</value>
<value>
<string>
Products.ERP5.Document.Image
</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.Image
</string>
</value>
<value>
<string>
document.erp5.Image
</string>
</value>
...
@@ -37,21 +49,7 @@
...
@@ -37,21 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<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>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -61,13 +59,28 @@
...
@@ -61,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -80,7 +93,7 @@
...
@@ -80,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -89,7 +102,7 @@
...
@@ -89,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Login.py
View file @
ed5af4dd
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
# programmers who take the whole responsability of assessing all potential
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# g
u
arantees and support are strongly adviced to contract a Free Software
# Service Company
# Service Company
#
#
# This program is Free Software; you can redistribute it and/or
# This program is Free Software; you can redistribute it and/or
...
@@ -30,9 +30,9 @@ from AccessControl import ClassSecurityInfo
...
@@ -30,9 +30,9 @@ from AccessControl import ClassSecurityInfo
from
erp5.component.mixin.EncryptedPasswordMixin
import
EncryptedPasswordMixin
from
erp5.component.mixin.EncryptedPasswordMixin
import
EncryptedPasswordMixin
from
erp5.component.mixin.LoginAccountProviderMixin
import
LoginAccountProviderMixin
from
erp5.component.mixin.LoginAccountProviderMixin
import
LoginAccountProviderMixin
from
Products.ERP5Type
import
Permissions
,
PropertySheet
,
interfaces
from
Products.ERP5Type
import
Permissions
,
PropertySheet
,
interfaces
from
Products.ERP5Type.TransactionalVariable
import
getTransactionalVariable
from
Products.ERP5Type.XMLObject
import
XMLObject
from
Products.ERP5Type.XMLObject
import
XMLObject
class
Login
(
XMLObject
,
LoginAccountProviderMixin
,
EncryptedPasswordMixin
):
class
Login
(
XMLObject
,
LoginAccountProviderMixin
,
EncryptedPasswordMixin
):
meta_type
=
'ERP5 Login'
meta_type
=
'ERP5 Login'
portal_type
=
'Login'
portal_type
=
'Login'
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.py
View file @
ed5af4dd
...
@@ -76,13 +76,13 @@ class MappedProperty(XMLObject):
...
@@ -76,13 +76,13 @@ class MappedProperty(XMLObject):
return
mapping_dict
return
mapping_dict
# XXX do we need to protect this method?
# 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
)
return
self
.
getMappingDict
(
reverse
=
reverse
).
get
(
property
,
property
)
# Security should be handled by the target document not by the mapped
# Security should be handled by the target document not by the mapped
# property document.
# property document.
security
.
declarePublic
(
'getMappedProperty'
)
security
.
declarePublic
(
'getMappedProperty'
)
def
getMappedProperty
(
self
,
document
,
property
):
def
getMappedProperty
(
self
,
document
,
property
):
# pylint: disable=redefined-builtin
if
property
.
endswith
(
'_list'
):
if
property
.
endswith
(
'_list'
):
property
=
property
[:
-
5
]
property
=
property
[:
-
5
]
getProperty
=
document
.
getPropertyList
getProperty
=
document
.
getPropertyList
...
@@ -98,7 +98,7 @@ class MappedProperty(XMLObject):
...
@@ -98,7 +98,7 @@ class MappedProperty(XMLObject):
# Security should be handled by the target document not by the mapped
# Security should be handled by the target document not by the mapped
# property document.
# property document.
security
.
declarePublic
(
'setMappedProperty'
)
security
.
declarePublic
(
'setMappedProperty'
)
def
setMappedProperty
(
self
,
document
,
property
,
value
):
def
setMappedProperty
(
self
,
document
,
property
,
value
):
# pylint: disable=redefined-builtin
if
property
.
endswith
(
'_list'
):
if
property
.
endswith
(
'_list'
):
property
=
property
[:
-
5
]
property
=
property
[:
-
5
]
setProperty
=
document
.
setPropertyList
setProperty
=
document
.
setPropertyList
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.MappedProperty.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
MappedProperty
</string>
</value>
<value>
<string>
MappedProperty
</string>
</value>
...
@@ -14,6 +20,12 @@
...
@@ -14,6 +20,12 @@
<key>
<string>
default_source_reference
</string>
</key>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.Document.MappedProperty
</string>
</value>
<value>
<string>
Products.ERP5.Document.MappedProperty
</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.MappedProperty
</string>
</value>
<value>
<string>
document.erp5.MappedProperty
</string>
</value>
...
@@ -37,11 +49,7 @@
...
@@ -37,11 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<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>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -51,13 +59,28 @@
...
@@ -51,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -70,7 +93,7 @@
...
@@ -70,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -79,7 +102,7 @@
...
@@ -79,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.py
View file @
ed5af4dd
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
##############################################################################
##############################################################################
#
#
...
@@ -190,7 +189,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
...
@@ -190,7 +189,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
return cached_getTargetFormatItemList(self.getBaseContentType())
return cached_getTargetFormatItemList(self.getBaseContentType())
def _getConversionFromProxyServer(self, format):
def _getConversionFromProxyServer(self, format):
# pylint: disable=redefined-builtin
"""
"""
Communicates with server to convert a file
Communicates with server to convert a file
"""
"""
...
@@ -226,7 +225,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
...
@@ -226,7 +225,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
return response_dict['
mime
'], Pdata(dec(response_dict['
data
']))
return response_dict['
mime
'], Pdata(dec(response_dict['
data
']))
# Conversion API
# 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.
"""Convert the document to the given format.
If a conversion is already stored for this format, it is returned
If a conversion is already stored for this format, it is returned
...
@@ -346,8 +345,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
...
@@ -346,8 +345,7 @@ class OOoDocument(OOoDocumentExtensibleTraversableMixin, BaseConvertableFileMixi
if
zip_file
is
None
:
if
zip_file
is
None
:
format_list
=
[
x
for
x
in
self
.
getTargetFormatList
()
format_list
=
[
x
for
x
in
self
.
getTargetFormatList
()
if
x
.
startswith
(
'html'
)
or
x
.
endswith
(
'html'
)]
if
x
.
startswith
(
'html'
)
or
x
.
endswith
(
'html'
)]
format
=
format_list
[
0
]
mime
,
data
=
self
.
_getConversionFromProxyServer
(
format_list
[
0
])
mime
,
data
=
self
.
_getConversionFromProxyServer
(
format
)
archive_file
=
cStringIO
.
StringIO
()
archive_file
=
cStringIO
.
StringIO
()
archive_file
.
write
(
str
(
data
))
archive_file
.
write
(
str
(
data
))
zip_file
=
zipfile
.
ZipFile
(
archive_file
)
zip_file
=
zipfile
.
ZipFile
(
archive_file
)
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OOoDocument.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
OOoDocument
</string>
</value>
<value>
<string>
OOoDocument
</string>
</value>
...
@@ -43,11 +49,7 @@
...
@@ -43,11 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<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>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -57,13 +59,28 @@
...
@@ -57,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -76,7 +93,7 @@
...
@@ -76,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -85,7 +102,7 @@
...
@@ -85,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.py
View file @
ed5af4dd
...
@@ -28,4 +28,7 @@
...
@@ -28,4 +28,7 @@
# for builders, and still distinguish order builders from others
# for builders, and still distinguish order builders from others
# Once legacy simulation is dropped, "Order Builder" portal type should
# Once legacy simulation is dropped, "Order Builder" portal type should
# should be changed to use SimulatedDeliveryBuilder class.
# 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
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.OrderBuilder.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
OrderBuilder
</string>
</value>
<value>
<string>
OrderBuilder
</string>
</value>
...
@@ -53,13 +59,28 @@
...
@@ -53,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -72,7 +93,7 @@
...
@@ -72,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -81,7 +102,7 @@
...
@@ -81,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.py
View file @
ed5af4dd
##############################################################################
##############################################################################
#
#
# Copyright (c) 2002-2005 Nexedi SARL and Contributors. All Rights Reserved.
# Copyright (c) 2002-2005 Nexedi SARL and Contributors. All Rights Reserved.
...
@@ -46,10 +45,19 @@ else:
...
@@ -46,10 +45,19 @@ else:
from
Products.ERP5Security.ERP5UserManager
import
ERP5UserManager
from
Products.ERP5Security.ERP5UserManager
import
ERP5UserManager
from
Products.ERP5Security.ERP5LoginUserManager
import
ERP5LoginUserManager
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
):
def
__init__
(
self
,
user_id
):
super
(
UserExistsError
,
self
).
__init__
(
'user id %s already exists'
%
(
user_id
,
))
super
(
UserExistsError
,
self
).
__init__
(
'user id %s already exists'
%
(
user_id
,
))
class
Person
(
Node
,
LoginAccountProviderMixin
,
EncryptedPasswordMixin
,
ERP5UserMixin
):
class
Person
(
Node
,
LoginAccountProviderMixin
,
EncryptedPasswordMixin
,
ERP5UserMixin
):
"""
"""
An Person object holds the information about
An Person object holds the information about
...
@@ -91,7 +99,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi
...
@@ -91,7 +99,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getTitle'
)
'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
Returns the title if it exists or a combination of
first name, middle name and last name
first name, middle name and last name
...
@@ -105,7 +113,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi
...
@@ -105,7 +113,7 @@ class Person(Node, LoginAccountProviderMixin, EncryptedPasswordMixin, ERP5UserMi
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getTranslatedTitle'
)
'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
Returns the title if it exists or a combination of
first name, middle name and last name
first name, middle name and last name
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.Person.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
Person
</string>
</value>
<value>
<string>
Person
</string>
</value>
...
@@ -43,11 +49,7 @@
...
@@ -43,11 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<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>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -57,13 +59,28 @@
...
@@ -57,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -76,7 +93,7 @@
...
@@ -76,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -85,7 +102,7 @@
...
@@ -85,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.py
View file @
ed5af4dd
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
##############################################################################
##############################################################################
#
#
...
@@ -203,8 +202,8 @@ class SimulatedDeliveryBuilder(BuilderMixin):
...
@@ -203,8 +202,8 @@ class SimulatedDeliveryBuilder(BuilderMixin):
if
property_dict
in
(
None
,
{}):
if
property_dict
in
(
None
,
{}):
return
return
delivery
=
self
.
getPortalObject
().
restrictedTraverse
(
delivery_relative_url
)
delivery
=
self
.
getPortalObject
().
restrictedTraverse
(
delivery_relative_url
)
for
(
prop
erty
,
value
)
in
property_dict
.
iteritems
():
for
(
prop
,
value
)
in
property_dict
.
iteritems
():
delivery
.
setPropertyList
(
prop
erty
,
value
)
delivery
.
setPropertyList
(
prop
,
value
)
# Try to remove existing properties/categories from Movements that
# Try to remove existing properties/categories from Movements that
# should exist on Deliveries.
# should exist on Deliveries.
...
@@ -341,7 +340,7 @@ class SimulatedDeliveryBuilder(BuilderMixin):
...
@@ -341,7 +340,7 @@ class SimulatedDeliveryBuilder(BuilderMixin):
'solveDivergence'
)
'solveDivergence'
)
solveDivergence
=
UnrestrictedMethod
(
_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.
Refer to the docstring in GeneratedDeliveryBuilder.
Unlike GeneratedDeliveryBuilder, SimulatedDeliveryBuilder needs to respect
Unlike GeneratedDeliveryBuilder, SimulatedDeliveryBuilder needs to respect
...
...
bt5/erp5_base/DocumentTemplateItem/portal_components/document.erp5.SimulatedDeliveryBuilder.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
SimulatedDeliveryBuilder
</string>
</value>
<value>
<string>
SimulatedDeliveryBuilder
</string>
</value>
...
@@ -43,9 +49,7 @@
...
@@ -43,9 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<tuple/>
<string>
W:206, 9: Redefining built-in \'property\' (redefined-builtin)
</string>
</tuple>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -55,13 +59,28 @@
...
@@ -55,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -74,7 +93,7 @@
...
@@ -74,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -83,7 +102,7 @@
...
@@ -83,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.py
View file @
ed5af4dd
...
@@ -10,7 +10,7 @@ def generateBarcodeImage(self, barcode_type, data, REQUEST=None):
...
@@ -10,7 +10,7 @@ def generateBarcodeImage(self, barcode_type, data, REQUEST=None):
stdout
=
PIPE
,
stdout
=
PIPE
,
stderr
=
PIPE
,
stderr
=
PIPE
,
close_fds
=
True
)
close_fds
=
True
)
output
,
error
=
process
.
communicate
(
input
=
data
)
output
,
_
=
process
.
communicate
(
input
=
data
)
elif
barcode_type
==
'ean13'
:
elif
barcode_type
==
'ean13'
:
from
hubarcode.ean13
import
EAN13Encoder
from
hubarcode.ean13
import
EAN13Encoder
encoder
=
EAN13Encoder
(
data
)
encoder
=
EAN13Encoder
(
data
)
...
...
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BarcodeUtils.xml
View file @
ed5af4dd
...
@@ -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>
BarcodeUtils
</string>
</value>
<value>
<string>
BarcodeUtils
</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.BarcodeUtils
</string>
</value>
<value>
<string>
extension.erp5.BarcodeUtils
</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"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -59,26 +98,30 @@
...
@@ -59,26 +98,30 @@
</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>
<list>
<key>
<string>
_log
</string>
</key>
<dictionary>
<value>
<item>
<list>
<key>
<string>
action
</string>
</key>
<dictionary>
<value>
<string>
validate
</string>
</value>
<item>
</item>
<key>
<string>
action
</string>
</key>
<item>
<value>
<string>
validate
</string>
</value>
<key>
<string>
validation_state
</string>
</key>
</item>
<value>
<string>
validated
</string>
</value>
<item>
</item>
<key>
<string>
validation_state
</string>
</key>
</dictionary>
<value>
<string>
validated
</string>
</value>
</list>
</item>
</tuple>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</pickle>
</record>
</record>
</ZopeData>
</ZopeData>
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.py
View file @
ed5af4dd
...
@@ -37,7 +37,6 @@ def migrateToEmbeddedFile(self, force=0):
...
@@ -37,7 +37,6 @@ def migrateToEmbeddedFile(self, force=0):
if
portal_type
in
(
'File'
,
'Image'
)
and
self
.
getValidationState
()
==
'embedded'
:
if
portal_type
in
(
'File'
,
'Image'
)
and
self
.
getValidationState
()
==
'embedded'
:
embedded_type
=
'Embedded File'
embedded_type
=
'Embedded File'
container
=
self
.
getParentValue
()
container
=
self
.
getParentValue
()
id
=
self
.
id
if
force
==
1
:
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
),
return
'%s: %s -> %s'
%
(
self
.
getRelativeUrl
(),
portal_type
,
embedded_type
),
bt5/erp5_base/ExtensionTemplateItem/portal_components/extension.erp5.BaseMigration.xml
View file @
ed5af4dd
...
@@ -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>
BaseMigration
</string>
</value>
<value>
<string>
BaseMigration
</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.BaseMigration
</string>
</value>
<value>
<string>
extension.erp5.BaseMigration
</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"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -59,26 +98,30 @@
...
@@ -59,26 +98,30 @@
</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>
<list>
<key>
<string>
_log
</string>
</key>
<dictionary>
<value>
<item>
<list>
<key>
<string>
action
</string>
</key>
<dictionary>
<value>
<string>
validate
</string>
</value>
<item>
</item>
<key>
<string>
action
</string>
</key>
<item>
<value>
<string>
validate
</string>
</value>
<key>
<string>
validation_state
</string>
</key>
</item>
<value>
<string>
validated
</string>
</value>
<item>
</item>
<key>
<string>
validation_state
</string>
</key>
</dictionary>
<value>
<string>
validated
</string>
</value>
</list>
</item>
</tuple>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</pickle>
</record>
</record>
</ZopeData>
</ZopeData>
bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.py
View file @
ed5af4dd
...
@@ -47,7 +47,7 @@ class IEncryptedPassword(Interface):
...
@@ -47,7 +47,7 @@ class IEncryptedPassword(Interface):
Check if the password value is acceptable - i.e. follows site rules.
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.
Set an already encoded password.
"""
"""
...
...
bt5/erp5_base/InterfaceTemplateItem/portal_components/interface.erp5.IEncryptedPassword.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
IEncryptedPassword
</string>
</value>
<value>
<string>
IEncryptedPassword
</string>
</value>
...
@@ -14,6 +20,12 @@
...
@@ -14,6 +20,12 @@
<key>
<string>
default_source_reference
</string>
</key>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.interfaces.encrypted_password
</string>
</value>
<value>
<string>
Products.ERP5.interfaces.encrypted_password
</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>
interface.erp5.IEncryptedPassword
</string>
</value>
<value>
<string>
interface.erp5.IEncryptedPassword
</string>
</value>
...
@@ -37,9 +49,7 @@
...
@@ -37,9 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<tuple/>
<string>
W: 50, 32: Redefining built-in \'format\' (redefined-builtin)
</string>
</tuple>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -49,13 +59,28 @@
...
@@ -49,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -68,7 +93,7 @@
...
@@ -68,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -77,7 +102,7 @@
...
@@ -77,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py
View file @
ed5af4dd
...
@@ -77,14 +77,22 @@ class EncryptedPasswordMixin:
...
@@ -77,14 +77,22 @@ class EncryptedPasswordMixin:
if
not
_checkPermission
(
Permissions
.
SetOwnPassword
,
self
):
if
not
_checkPermission
(
Permissions
.
SetOwnPassword
,
self
):
raise
AccessControl_Unauthorized
(
'setPassword'
)
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
)
password
=
getattr
(
aq_base
(
self
),
'password'
,
None
)
if
password
is
None
or
isinstance
(
password
,
basestring
):
if
password
is
None
or
isinstance
(
password
,
basestring
):
password
=
self
.
password
=
PersistentMapping
()
password
=
self
.
password
=
PersistentMapping
()
self
.
password
[
format
]
=
value
self
.
password
[
format
]
=
value
security
.
declarePublic
(
'setEncodedPassword'
)
security
.
declarePublic
(
'setEncodedPassword'
)
def
setEncodedPassword
(
self
,
value
,
format
=
'default'
):
def
setEncodedPassword
(
self
,
value
,
format
=
'default'
,
# pylint: disable=redefined-builtin
):
"""
"""
"""
"""
self
.
checkUserCanChangePassword
()
self
.
checkUserCanChangePassword
()
...
@@ -121,14 +129,14 @@ class EncryptedPasswordMixin:
...
@@ -121,14 +129,14 @@ class EncryptedPasswordMixin:
if
password
is
marker
:
if
password
is
marker
:
password
=
default_password
password
=
default_password
else
:
else
:
format
=
kw
.
get
(
'format'
,
'default'
)
format
_
=
kw
.
get
(
'format'
,
'default'
)
# Backward compatibility: if it's not a PersistentMapping instance,
# Backward compatibility: if it's not a PersistentMapping instance,
# assume it's a monovalued string, which corresponds to default
# assume it's a monovalued string, which corresponds to default
# password encoding.
# password encoding.
if
isinstance
(
password
,
PersistentMapping
):
if
isinstance
(
password
,
PersistentMapping
):
password
=
password
.
get
(
format
,
default_password
)
password
=
password
.
get
(
format
_
,
default_password
)
else
:
else
:
if
format
!=
'default'
:
if
format
_
!=
'default'
:
password
=
default_password
password
=
default_password
return
password
return
password
...
...
bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.xml
View file @
ed5af4dd
...
@@ -6,6 +6,12 @@
...
@@ -6,6 +6,12 @@
</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>
EncryptedPasswordMixin
</string>
</value>
<value>
<string>
EncryptedPasswordMixin
</string>
</value>
...
@@ -14,6 +20,12 @@
...
@@ -14,6 +20,12 @@
<key>
<string>
default_source_reference
</string>
</key>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.mixin.encrypted_password
</string>
</value>
<value>
<string>
Products.ERP5.mixin.encrypted_password
</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>
mixin.erp5.EncryptedPasswordMixin
</string>
</value>
<value>
<string>
mixin.erp5.EncryptedPasswordMixin
</string>
</value>
...
@@ -37,11 +49,7 @@
...
@@ -37,11 +49,7 @@
<item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<value>
<tuple>
<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>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -51,13 +59,28 @@
...
@@ -51,13 +59,28 @@
<item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<key>
<string>
workflow_history
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</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>
...
@@ -70,7 +93,7 @@
...
@@ -70,7 +93,7 @@
<item>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
...
@@ -79,7 +102,7 @@
...
@@ -79,7 +102,7 @@
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<pickle>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
</pickle>
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/BankAccount_validateIBAN.py
View file @
ed5af4dd
...
@@ -67,8 +67,8 @@ iban_code = ''.join([str(letter_code_dict.get(x, x))
...
@@ -67,8 +67,8 @@ iban_code = ''.join([str(letter_code_dict.get(x, x))
for
x
in
bban
+
country_code
+
checksum
])
for
x
in
bban
+
country_code
+
checksum
])
try
:
try
:
iban_int
=
int
(
iban_code
)
iban_int
=
int
(
iban_code
)
except
ValueError
:
except
ValueError
:
return
False
return
False
return
iban_int
%
97
==
1
return
iban_int
%
97
==
1
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_changeId.py
View file @
ed5af4dd
# this script has an `id` argument
# pylint: disable=redefined-builtin
from
Products.ERP5Type.Message
import
translateString
from
Products.ERP5Type.Message
import
translateString
if
id
and
id
!=
context
.
getId
():
if
id
and
id
!=
context
.
getId
():
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.py
View file @
ed5af4dd
...
@@ -23,7 +23,7 @@ if content_type == 'text/html':
...
@@ -23,7 +23,7 @@ if content_type == 'text/html':
else
:
else
:
mail_template
=
context
.
Event_viewMimeMessage
mail_template
=
context
.
Event_viewMimeMessage
attachment_list
=
attachment_list
[:]
attachment_list
=
list
(
attachment_list
)
for
embedded_file
in
embedded_file_list
:
for
embedded_file
in
embedded_file_list
:
mime_type
,
content
=
embedded_file
.
getMimeTypeAndContent
()
mime_type
,
content
=
embedded_file
.
getMimeTypeAndContent
()
name
=
embedded_file
.
getFilename
()
name
=
embedded_file
.
getFilename
()
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_createMailMessageAsString.xml
View file @
ed5af4dd
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<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>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_generateDomain.py
View file @
ed5af4dd
# this script has an `id` argument
# pylint: disable=redefined-builtin
domain
=
parent
.
generateTempDomain
(
id
=
id
)
domain
=
parent
.
generateTempDomain
(
id
=
id
)
domain
.
edit
(
title
=
title
,
domain
.
edit
(
title
=
title
,
criterion_property_list
=
[
criterion_property
])
criterion_property_list
=
[
criterion_property
])
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getDiffBetweenDateAndNow.py
View file @
ed5af4dd
...
@@ -3,7 +3,7 @@ if not date:
...
@@ -3,7 +3,7 @@ if not date:
try
:
try
:
now
=
DateTime
()
now
=
DateTime
()
date
=
DateTime
(
date
)
date
=
DateTime
(
date
)
except
:
except
Exception
:
return
''
return
''
Base_translateString
=
context
.
Base_translateString
Base_translateString
=
context
.
Base_translateString
diff
=
now
-
date
diff
=
now
-
date
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_postQuery.py
View file @
ed5af4dd
translateString
=
context
.
Base_translateString
translateString
=
context
.
Base_translateString
request
=
context
.
REQUEST
ptype
=
context
.
getPortalType
()
ptype
=
context
.
getPortalType
()
if
not
description
:
if
not
description
:
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/CurrencyExchange_getExchangeRateList.py
View file @
ed5af4dd
...
@@ -6,14 +6,14 @@
...
@@ -6,14 +6,14 @@
# Assumes that 2 currencies with the same ID, they are the same currency
# 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
\
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
]:
[
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
):
def
sort_by_date
(
a
,
b
):
if
a
.
getStartDateRangeMin
()
>
b
.
getStartDateRangeMin
()
:
if
a
.
getStartDateRangeMin
()
>
b
.
getStartDateRangeMin
()
:
return
-
1
return
-
1
return
1
return
1
object
=
context
object
_
=
context
from
Products.ERP5Type.Cache
import
CachingMethod
from
Products.ERP5Type.Cache
import
CachingMethod
...
@@ -37,15 +37,15 @@ if to_currency is not None:
...
@@ -37,15 +37,15 @@ if to_currency is not None:
if
currency_exchange_type
is
not
None
:
if
currency_exchange_type
is
not
None
:
temp_kw
[
'category_list'
].
append
(
'currency_exchange_type/%s'
%
currency_exchange_type
)
temp_kw
[
'category_list'
].
append
(
'currency_exchange_type/%s'
%
currency_exchange_type
)
temp_object
.
edit
(
**
temp_kw
)
temp_object
.
edit
(
**
temp_kw
)
object
=
temp_object
object
_
=
temp_object
mapped_value
=
context
.
portal_domains
.
generateMappedValue
(
object
,
mapped_value
=
context
.
portal_domains
.
generateMappedValue
(
object
_
,
has_cell_content
=
0
,
has_cell_content
=
0
,
validation_state
=
'validated'
,
validation_state
=
'validated'
,
sort_method
=
sort_by_date
)
sort_method
=
sort_by_date
)
base_price
=
getattr
(
mapped_value
,
'base_price'
,
None
)
base_price
=
getattr
(
mapped_value
,
'base_price'
,
None
)
discount
=
getattr
(
mapped_value
,
'discount'
,
None
)
discount
=
getattr
(
mapped_value
,
'discount'
,
None
)
if
base_price
is
None
and
discount
is
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
,
has_cell_content
=
1
,
validation_state
=
'validated'
,
validation_state
=
'validated'
,
sort_method
=
sort_by_date
)
sort_method
=
sort_by_date
)
...
@@ -63,14 +63,14 @@ else:
...
@@ -63,14 +63,14 @@ else:
if
start_date
is
None
:
if
start_date
is
None
:
if
getattr
(
context
,
'isDelivery'
,
None
):
if
getattr
(
context
,
'isDelivery'
,
None
):
start_date
=
context
.
getStartDate
()
start_date
=
context
.
getStartDate
()
mapped_value
=
context
.
portal_domains
.
generateMappedValue
(
object
,
mapped_value
=
context
.
portal_domains
.
generateMappedValue
(
object
_
,
has_cell_content
=
0
,
has_cell_content
=
0
,
validation_state
=
'validated'
,
validation_state
=
'validated'
,
sort_method
=
sort_by_date
)
sort_method
=
sort_by_date
)
base_price
=
getattr
(
mapped_value
,
'base_price'
,
None
)
base_price
=
getattr
(
mapped_value
,
'base_price'
,
None
)
discount
=
getattr
(
mapped_value
,
'discount'
,
None
)
discount
=
getattr
(
mapped_value
,
'discount'
,
None
)
if
base_price
is
None
and
discount
is
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
,
has_cell_content
=
1
,
validation_state
=
'validated'
,
validation_state
=
'validated'
,
sort_method
=
sort_by_date
)
sort_method
=
sort_by_date
)
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getCellGroupDivergenceList.py
View file @
ed5af4dd
...
@@ -16,10 +16,10 @@ for divergence in divergence_list:
...
@@ -16,10 +16,10 @@ for divergence in divergence_list:
uid
=
'new_%s&%s'
%
(
simulation_movement_url
,
uid
=
'new_%s&%s'
%
(
simulation_movement_url
,
divergence
.
getProperty
(
'tested_property'
))
divergence
.
getProperty
(
'tested_property'
))
objec
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
documen
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
o
=
newTempBase
(
object
.
getParentValue
(),
objec
t
.
getId
(),
uid
=
uid
,
o
=
newTempBase
(
document
.
getParentValue
(),
documen
t
.
getId
(),
uid
=
uid
,
message
=
str
(
divergence
.
getTranslatedMessage
()),
message
=
str
(
divergence
.
getTranslatedMessage
()),
object_title
=
objec
t
.
getTranslatedTitle
(),
object_title
=
documen
t
.
getTranslatedTitle
(),
prevision_title
=
prevision_title
,
prevision_title
=
prevision_title
,
decision_title
=
decision_title
,
decision_title
=
decision_title
,
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
),
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
),
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getDeliveryGroupDivergenceList.py
View file @
ed5af4dd
...
@@ -10,14 +10,14 @@ for divergence in divergence_list:
...
@@ -10,14 +10,14 @@ for divergence in divergence_list:
prop
=
divergence
.
getProperty
(
'tested_property'
)
prop
=
divergence
.
getProperty
(
'tested_property'
)
if
prop
in
(
None
,
''
)
or
divergence
.
getCollectOrderGroup
()
!=
'delivery'
:
if
prop
in
(
None
,
''
)
or
divergence
.
getCollectOrderGroup
()
!=
'delivery'
:
continue
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_value
=
divergence
.
getProperty
(
'decision_value'
)
decision_title
=
divergence
.
getProperty
(
'decision_title'
,
decision_value
)
decision_title
=
divergence
.
getProperty
(
'decision_title'
,
decision_value
)
prevision_value
=
divergence
.
getProperty
(
'prevision_value'
)
prevision_value
=
divergence
.
getProperty
(
'prevision_value'
)
prevision_title
=
divergence
.
getProperty
(
'prevision_title'
,
prevision_value
)
prevision_title
=
divergence
.
getProperty
(
'prevision_title'
,
prevision_value
)
object_relative_url
=
divergence
.
getProperty
(
'object_relative_url'
)
object_relative_url
=
divergence
.
getProperty
(
'object_relative_url'
)
simulation_movement_url
=
divergence
.
getProperty
(
'simulation_movement'
).
getRelativeUrl
()
simulation_movement_url
=
divergence
.
getProperty
(
'simulation_movement'
).
getRelativeUrl
()
objec
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
documen
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
if
decision_value
not
in
value_list
:
if
decision_value
not
in
value_list
:
candidate_list
.
append
((
decision_title
,
object_relative_url
))
candidate_list
.
append
((
decision_title
,
object_relative_url
))
value_list
.
append
(
decision_value
)
value_list
.
append
(
decision_value
)
...
@@ -32,11 +32,11 @@ for divergence in divergence_list:
...
@@ -32,11 +32,11 @@ for divergence in divergence_list:
for
prop
,
candidate_list
in
candidate_dict
.
items
():
for
prop
,
candidate_list
in
candidate_dict
.
items
():
uid
=
'new_%s'
%
prop
uid
=
'new_%s'
%
prop
objec
t
=
context
documen
t
=
context
o
=
newTempBase
(
context
.
getParentValue
(),
context
.
getId
(),
uid
,
uid
=
uid
,
o
=
newTempBase
(
context
.
getParentValue
(),
context
.
getId
(),
uid
,
uid
=
uid
,
message
=
candidate_list
[
0
],
message
=
candidate_list
[
0
],
object_title
=
objec
t
.
getTranslatedTitle
(),
object_title
=
documen
t
.
getTranslatedTitle
(),
decision_title
=
', '
.
join
([
str
(
x
)
for
x
in
candidate_list
[
3
]]),
decision_title
=
', '
.
join
([
str
(
x
)
for
x
in
candidate_list
[
3
]]),
prevision_title
=
', '
.
join
([
str
(
x
)
for
x
in
candidate_list
[
4
]]),
prevision_title
=
', '
.
join
([
str
(
x
)
for
x
in
candidate_list
[
4
]]),
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
)]
+
candidate_list
[
1
])
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
)]
+
candidate_list
[
1
])
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getLineGroupDivergenceList.py
View file @
ed5af4dd
...
@@ -17,11 +17,11 @@ for divergence in divergence_list:
...
@@ -17,11 +17,11 @@ for divergence in divergence_list:
uid
=
'new_%s&%s'
%
(
simulation_movement_url
,
uid
=
'new_%s&%s'
%
(
simulation_movement_url
,
divergence
.
getProperty
(
'tested_property'
))
divergence
.
getProperty
(
'tested_property'
))
objec
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
documen
t
=
portal_object
.
restrictedTraverse
(
object_relative_url
)
o
=
newTempBase
(
object
.
getParentValue
(),
objec
t
.
getId
(),
uid
=
uid
,
o
=
newTempBase
(
document
.
getParentValue
(),
documen
t
.
getId
(),
uid
=
uid
,
message
=
str
(
divergence
.
getTranslatedMessage
()),
message
=
str
(
divergence
.
getTranslatedMessage
()),
object_portal_type
=
objec
t
.
getTranslatedPortalType
(),
object_portal_type
=
documen
t
.
getTranslatedPortalType
(),
object_title
=
objec
t
.
getTranslatedTitle
(),
object_title
=
documen
t
.
getTranslatedTitle
(),
prevision_title
=
prevision_title
,
prevision_title
=
prevision_title
,
decision_title
=
decision_title
,
decision_title
=
decision_title
,
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
),
candidate_list
=
[(
context
.
Base_translateString
(
'Do nothing'
),
'ignore'
),
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_getODTDataDict.py
View file @
ed5af4dd
# coding: utf-8
translateString
=
context
.
Base_translateString
translateString
=
context
.
Base_translateString
request
=
context
.
REQUEST
request
=
context
.
REQUEST
...
@@ -94,7 +95,6 @@ def getTaxLineList(order):
...
@@ -94,7 +95,6 @@ def getTaxLineList(order):
return
tax_line_list
return
tax_line_list
line_base_contribution_list
=
[]
line_base_contribution_list
=
[]
number
=
0
tax_free_line_totalprice
=
0
tax_free_line_totalprice
=
0
line_list
=
[]
line_list
=
[]
line_not_tax
=
[]
line_not_tax
=
[]
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_checkConversionFormatPermission.py
View file @
ed5af4dd
# this script has an `format` 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.
"""
"""
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.py
View file @
ed5af4dd
# this script has an `format` argument
# pylint: disable=redefined-builtin
"""Just an alias for real script
"""Just an alias for real script
"""
"""
from
Products.ERP5Type.Log
import
log
from
Products.ERP5Type.Log
import
log
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFilename.py
View file @
ed5af4dd
# this script has an `format` argument
# pylint: disable=redefined-builtin
"""
"""
This script returns a standard file name, build from reference, version and
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
language (this is only the base part of the name, the extension should be appended
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.py
View file @
ed5af4dd
"""
"""
WARNING: this script requires proxy manager
WARNING: this script requires proxy manager
This script tries to acquire category values from other
objec
ts
This script tries to acquire category values from other
documen
ts
base_category_list - list of category values we need to retrieve
base_category_list - list of category values we need to retrieve
obj
ect - objec
t which we want to assign roles to.
obj
- documen
t which we want to assign roles to.
"""
"""
category_dict
=
{}
category_dict
=
{}
if
obj
ect
is
None
:
if
obj
is
None
:
return
[]
return
[]
for
base_category
in
base_category_list
:
for
base_category
in
base_category_list
:
if
base_category
==
'parent'
:
if
base_category
==
'parent'
:
o_list
=
[
obj
ect
.
getParentValue
()]
o_list
=
[
obj
.
getParentValue
()]
else
:
else
:
o_list
=
obj
ect
.
getValueList
(
base_category
)
o_list
=
obj
.
getValueList
(
base_category
)
for
o
in
o_list
:
for
o
in
o_list
:
for
user
,
role_list
in
o
.
get_local_roles
():
for
user
,
role_list
in
o
.
get_local_roles
():
for
role
in
role_list
:
for
role
in
role_list
:
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/ERP5Type_acquireSecurityFromCategory.xml
View file @
ed5af4dd
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
base_category_list, user_name, obj
ect
, portal_type
</string>
</value>
<value>
<string>
base_category_list, user_name, obj, portal_type
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
_proxy_roles
</string>
</key>
<key>
<string>
_proxy_roles
</string>
</key>
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/MailMessage_send.py
View file @
ed5af4dd
...
@@ -64,13 +64,12 @@ if download or not use_activity:
...
@@ -64,13 +64,12 @@ if download or not use_activity:
if
not
from_url
:
if
not
from_url
:
raise
ValueError
(
'Preferred Event Sender Email not configured'
)
raise
ValueError
(
'Preferred Event Sender Email not configured'
)
# Return-Path
# Return-Path
(TODO)
if
reply_url
is
None
:
if
reply_url
is
None
:
reply_url
=
portal
.
portal_preferences
.
getPreferredEventSenderEmail
()
reply_url
=
portal
.
portal_preferences
.
getPreferredEventSenderEmail
()
additional_headers
=
None
additional_headers
=
None
# pylint: disable=unused-variable
if
reply_url
:
if
reply_url
:
additional_headers
=
{
'Return-Path'
:
reply_url
}
additional_headers
=
{
'Return-Path'
:
reply_url
}
content_type
=
context
.
getContentType
()
content_type
=
context
.
getContentType
()
mail_message
=
context
.
Base_createMailMessageAsString
(
mail_message
=
context
.
Base_createMailMessageAsString
(
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Organisation_init.py
View file @
ed5af4dd
# this script can be overridden as you wish.
# this script can be overridden as you wish.
pass
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getCareerStartDate.py
View file @
ed5af4dd
...
@@ -8,7 +8,7 @@ for career_step in all_career_step_list :
...
@@ -8,7 +8,7 @@ for career_step in all_career_step_list :
career_step
.
getSubordination
()
==
subordination_relative_url
)
and
\
career_step
.
getSubordination
()
==
subordination_relative_url
)
and
\
career_step
.
getStartDate
()
and
\
career_step
.
getStartDate
()
and
\
career_step
.
getValidationState
()
not
in
(
'cancelled'
,
'deleted'
):
career_step
.
getValidationState
()
not
in
(
'cancelled'
,
'deleted'
):
career_step_list
.
append
(
career_step
)
career_step_list
.
append
(
career_step
)
# sort them by start date
# sort them by start date
career_step_list
.
sort
(
key
=
lambda
x
:
x
.
getStartDate
())
career_step_list
.
sort
(
key
=
lambda
x
:
x
.
getStartDate
())
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedContributionList.py
View file @
ed5af4dd
from
Products.PythonScripts.standard
import
Object
from
Products.PythonScripts.standard
import
Object
from
Products.ZSQLCatalog.SQLCatalog
import
Query
from
Products.ERP5Type.DateUtils
import
atTheEndOfPeriod
from
Products.ERP5Type.DateUtils
import
atTheEndOfPeriod
request
=
container
.
REQUEST
request
=
container
.
REQUEST
from_date
=
request
.
get
(
'from_date'
,
None
)
from_date
=
request
.
get
(
'from_date'
,
None
)
...
@@ -8,10 +7,10 @@ aggregation_level = request.get('aggregation_level', None)
...
@@ -8,10 +7,10 @@ aggregation_level = request.get('aggregation_level', None)
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
module_list
=
[]
module_list
=
[]
for
module_id
in
portal
.
objectIds
(
spec
=
(
'ERP5 Folder'
,)):
for
module_id
in
portal
.
objectIds
(
spec
=
(
'ERP5 Folder'
,)):
module
=
portal
.
restrictedTraverse
(
module_id
,
None
)
module
=
portal
.
restrictedTraverse
(
module_id
,
None
)
if
module
is
not
None
:
if
module
is
not
None
:
if
portal
.
portal_membership
.
checkPermission
(
'View'
,
module
):
if
portal
.
portal_membership
.
checkPermission
(
'View'
,
module
):
module_list
.
append
(
module
)
module_list
.
append
(
module
)
module_list
.
sort
(
key
=
lambda
x
:
x
.
getTitle
())
module_list
.
sort
(
key
=
lambda
x
:
x
.
getTitle
())
# build document portal type list
# build document portal type list
...
@@ -69,25 +68,25 @@ line_list = []
...
@@ -69,25 +68,25 @@ line_list = []
append
=
line_list
.
append
append
=
line_list
.
append
period_count_dict
=
{}
period_count_dict
=
{}
for
portal_type
in
portal_type_list
:
for
portal_type
in
portal_type_list
:
if
portal_type_count_dict
.
has_key
(
portal_type
):
if
portal_type_count_dict
.
has_key
(
portal_type
):
period_count
=
portal_type_count_dict
[
portal_type
]
period_count
=
portal_type_count_dict
[
portal_type
]
obj
=
Object
(
uid
=
"new_"
)
obj
=
Object
(
uid
=
"new_"
)
obj
[
"document_type"
]
=
context
.
Base_translateString
(
portal_type
)
obj
[
"document_type"
]
=
context
.
Base_translateString
(
portal_type
)
else
:
else
:
continue
continue
line_counter
=
0
line_counter
=
0
for
period
in
period_list
:
for
period
in
period_list
:
if
period_count
.
has_key
(
period
):
if
period_count
.
has_key
(
period
):
obj
[
period
]
=
period_count
[
period
]
obj
[
period
]
=
period_count
[
period
]
line_counter
+=
period_count
[
period
]
line_counter
+=
period_count
[
period
]
if
period_count_dict
.
has_key
(
period
):
if
period_count_dict
.
has_key
(
period
):
period_count_dict
[
period
]
=
period_count_dict
[
period
]
+
period_count
[
period
]
period_count_dict
[
period
]
=
period_count_dict
[
period
]
+
period_count
[
period
]
else
:
period_count_dict
[
period
]
=
period_count
[
period
]
else
:
else
:
obj
[
period
]
=
0
period_count_dict
[
period
]
=
period_count
[
period
]
obj
[
'total'
]
=
line_counter
else
:
append
(
obj
)
obj
[
period
]
=
0
obj
[
'total'
]
=
line_counter
append
(
obj
)
# sort lines
# sort lines
def
cmpType
(
a
,
b
):
def
cmpType
(
a
,
b
):
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPersonDetailedEventList.py
View file @
ed5af4dd
from
Products.ZSQLCatalog.SQLCatalog
import
Query
from
Products.ERP5Type.DateUtils
import
atTheEndOfPeriod
from
Products.ERP5Type.DateUtils
import
atTheEndOfPeriod
request
=
container
.
REQUEST
request
=
container
.
REQUEST
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_getPrimaryGroup.py
View file @
ed5af4dd
...
@@ -28,7 +28,7 @@ for assignment in context.contentValues(portal_type='Assignment'):
...
@@ -28,7 +28,7 @@ for assignment in context.contentValues(portal_type='Assignment'):
and
assignment
.
getValidationState
()
==
'open'
\
and
assignment
.
getValidationState
()
==
'open'
\
and
(
assignment
.
getStartDate
()
is
None
or
and
(
assignment
.
getStartDate
()
is
None
or
assignment
.
getStartDate
()
<=
now
<=
assignment
.
getStopDate
()):
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
# If we have multiple groups defined on assignments, this scripts does not
# try to guess, and fallback to the default career's group
# try to guess, and fallback to the default career's group
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_shiftDefaultCareer.py
View file @
ed5af4dd
...
@@ -2,7 +2,6 @@ from Products.CMFActivity.Errors import ActivityPendingError
...
@@ -2,7 +2,6 @@ from Products.CMFActivity.Errors import ActivityPendingError
Base_translateString
=
context
.
Base_translateString
Base_translateString
=
context
.
Base_translateString
person
=
context
person
=
context
career_list
=
[]
default_career
=
None
default_career
=
None
if
'default_career'
in
person
.
objectIds
():
if
'default_career'
in
person
.
objectIds
():
...
...
bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_statPersonDetailedContributionList.py
View file @
ed5af4dd
request
=
container
.
REQUEST
request
=
container
.
REQUEST
RESPONSE
=
request
.
RESPONSE
stat_line
=
request
.
get
(
'stat_line'
,
None
)
stat_line
=
request
.
get
(
'stat_line'
,
None
)
return
stat_line
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
,]
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/currency_exchange_line_interaction_workflow/scripts/CurrencyExchangeLine_updateMatrix.py
View file @
ed5af4dd
...
@@ -14,9 +14,8 @@ context.setMembershipCriterionCategoryList(membership_list)
...
@@ -14,9 +14,8 @@ context.setMembershipCriterionCategoryList(membership_list)
context
.
setResourceValue
(
context
.
getParentValue
())
context
.
setResourceValue
(
context
.
getParentValue
())
context
.
setMappedValuePropertyList
((
'base_price'
,
'discount'
))
context
.
setMappedValuePropertyList
((
'base_price'
,
'discount'
))
if
cell_range_key_list
!=
[[
None
,
None
]]
:
if
cell_range_key_list
!=
[[
None
,
None
]]
:
i
=
0
for
k
in
cell_range_key_list
:
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
=
context
.
newCell
(
*
k
,
**
kwd
)
c
.
edit
(
mapped_value_property_list
=
(
'base_price'
,
'discount'
),
c
.
edit
(
mapped_value_property_list
=
(
'base_price'
,
'discount'
),
force_update
=
1
,
force_update
=
1
,
...
...
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSolveDivergenceTransition.py
View file @
ed5af4dd
...
@@ -13,8 +13,7 @@ if listbox is not None:
...
@@ -13,8 +13,7 @@ if listbox is not None:
for
k
,
v
in
listbox
.
items
():
for
k
,
v
in
listbox
.
items
():
object_url
=
v
[
'choice'
]
object_url
=
v
[
'choice'
]
if
object_url
!=
'ignore'
:
if
object_url
!=
'ignore'
:
object
=
delivery
.
restrictedTraverse
(
object_url
)
delivery_solve_property_dict
[
k
]
=
delivery
.
restrictedTraverse
(
object_url
).
getPropertyList
(
k
)
delivery_solve_property_dict
[
k
]
=
object
.
getPropertyList
(
k
)
divergence_to_accept_list
=
[]
divergence_to_accept_list
=
[]
divergence_to_adopt_list
=
[]
divergence_to_adopt_list
=
[]
...
@@ -22,8 +21,7 @@ divergence_to_adopt_list = []
...
@@ -22,8 +21,7 @@ divergence_to_adopt_list = []
divergence_dict
=
{}
divergence_dict
=
{}
for
divergence
in
divergence_list
:
for
divergence
in
divergence_list
:
simulation_movement_url
=
divergence
.
getProperty
(
'simulation_movement'
).
getRelativeUrl
()
simulation_movement_url
=
divergence
.
getProperty
(
'simulation_movement'
).
getRelativeUrl
()
property
=
divergence
.
getProperty
(
'tested_property'
)
divergence_dict
[
'%s&%s'
%
(
simulation_movement_url
,
divergence
.
getProperty
(
'tested_property'
))]
=
divergence
divergence_dict
[
'%s&%s'
%
(
simulation_movement_url
,
property
)]
=
divergence
for
listbox
in
[
state_change
[
'kwargs'
].
get
(
'line_group_listbox'
),
for
listbox
in
[
state_change
[
'kwargs'
].
get
(
'line_group_listbox'
),
state_change
[
'kwargs'
].
get
(
'cell_group_listbox'
)]:
state_change
[
'kwargs'
].
get
(
'cell_group_listbox'
)]:
...
...
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.py
View file @
ed5af4dd
...
@@ -3,8 +3,6 @@ delivery = state_change['object']
...
@@ -3,8 +3,6 @@ delivery = state_change['object']
stop_date
=
state_change
.
kwargs
[
'stop_date'
]
stop_date
=
state_change
.
kwargs
[
'stop_date'
]
start_date
=
state_change
.
kwargs
[
'start_date'
]
start_date
=
state_change
.
kwargs
[
'start_date'
]
tag
=
delivery
.
getPath
()
+
'_split'
split_and_defer
=
0
listbox
=
state_change
[
'kwargs'
].
get
(
'listbox'
)
listbox
=
state_change
[
'kwargs'
].
get
(
'listbox'
)
split_movement_list
=
[]
split_movement_list
=
[]
if
listbox
is
not
None
:
if
listbox
is
not
None
:
...
...
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.py
View file @
ed5af4dd
...
@@ -19,10 +19,10 @@ delivery.activate(after_tag=tag).updateCausalityState()
...
@@ -19,10 +19,10 @@ delivery.activate(after_tag=tag).updateCausalityState()
# Create delivery
# Create delivery
explanation_uid_list
=
[]
explanation_uid_list
=
[]
object
=
delivery
object
_
=
delivery
while
object
is
not
None
:
while
object
_
is
not
None
:
explanation_uid_list
.
append
(
object
.
getUid
())
explanation_uid_list
.
append
(
object
_
.
getUid
())
object
=
object
.
getCausalityValue
()
object
_
=
object_
.
getCausalityValue
()
previous_tag
=
None
previous_tag
=
None
for
delivery_builder
in
delivery
.
getBuilderList
():
for
delivery_builder
in
delivery
.
getBuilderList
():
...
...
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.py
View file @
ed5af4dd
delivery
=
state_change
[
'object'
]
delivery
=
state_change
[
'object'
]
portal
=
delivery
.
getPortalObject
()
portal
=
delivery
.
getPortalObject
()
try
:
if
not
(
hasattr
(
portal
,
'portal_solvers'
)
and
hasattr
(
portal
,
'portal_solver_processes'
)):
portal
.
portal_solvers
portal
.
portal_solver_processes
except
AttributeError
:
delivery
.
diverge
()
delivery
.
diverge
()
else
:
else
:
solver_tag
=
'%s_solve'
%
delivery
.
getPath
()
solver_tag
=
'%s_solve'
%
delivery
.
getPath
()
...
...
bt5/erp5_base/WorkflowTemplateItem/portal_workflow/query_workflow/scripts/notifyOwner.py
View file @
ed5af4dd
...
@@ -7,12 +7,12 @@ catalog.
...
@@ -7,12 +7,12 @@ catalog.
"""
"""
from
Products.ERP5Type.Log
import
log
from
Products.ERP5Type.Log
import
log
objec
t
=
sci
[
'object'
]
documen
t
=
sci
[
'object'
]
portal
=
objec
t
.
getPortalObject
()
portal
=
documen
t
.
getPortalObject
()
translateString
=
portal
.
Base_translateString
translateString
=
portal
.
Base_translateString
# Get the owner
# Get the owner
owner
=
objec
t
.
getViewPermissionOwner
()
owner
=
documen
t
.
getViewPermissionOwner
()
owner_value
=
portal
.
Base_getUserValueByUserId
(
owner
)
owner_value
=
portal
.
Base_getUserValueByUserId
(
owner
)
# Get the authenticated user
# Get the authenticated user
...
@@ -43,11 +43,11 @@ Answer:
...
@@ -43,11 +43,11 @@ Answer:
${answer}
${answer}
"""
"""
msg
=
translateString
(
msg
,
msg
=
translateString
(
msg
,
mapping
=
dict
(
id
=
objec
t
.
getId
(),
mapping
=
dict
(
id
=
documen
t
.
getId
(),
subject
=
subject
,
subject
=
subject
,
user
=
user_value
.
getTitle
(),
user
=
user_value
.
getTitle
(),
question
=
objec
t
.
getDescription
(),
question
=
documen
t
.
getDescription
(),
answer
=
objec
t
.
getTextContent
())
answer
=
documen
t
.
getTextContent
())
)
)
# We can now notify the owner through the notification tool
# We can now notify the owner through the notification tool
...
...
bt5/erp5_base/bt/skip_coding_style_test
deleted
100644 → 0
View file @
cdae0727
1
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment