Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
erp5_workflow
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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenjie.zheng
erp5_workflow
Commits
323810f7
Commit
323810f7
authored
Dec 12, 2012
by
Jérome Perrin
Committed by
Julien Muchembled
Dec 17, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Information does not take a s
parent
3680b782
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
66 additions
and
67 deletions
+66
-67
product/CMFActivity/ActivityTool.py
product/CMFActivity/ActivityTool.py
+1
-1
product/ERP5/Document/PDFTypeInformation.py
product/ERP5/Document/PDFTypeInformation.py
+1
-1
product/ERP5/Tool/IntrospectionTool.py
product/ERP5/Tool/IntrospectionTool.py
+1
-1
product/ERP5/Tool/TemplateTool.py
product/ERP5/Tool/TemplateTool.py
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml
...em/portal_skins/erp5_xhtml_style/planning_coordinates.xml
+2
-2
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/wz_dragdrop.js.xml
...lateItem/portal_skins/erp5_xhtml_style/wz_dragdrop.js.xml
+1
-1
product/ERP5/tests/testERP5Credential.py
product/ERP5/tests/testERP5Credential.py
+1
-1
product/ERP5Form/Extensions/ERP5Site_createModuleScribus.py
product/ERP5Form/Extensions/ERP5Site_createModuleScribus.py
+1
-1
product/ERP5Form/Extensions/ERP5Site_updateModuleScribus.py
product/ERP5Form/Extensions/ERP5Site_updateModuleScribus.py
+1
-1
product/ERP5Form/ImageField.py
product/ERP5Form/ImageField.py
+1
-1
product/ERP5Form/PDFForm.py
product/ERP5Form/PDFForm.py
+1
-1
product/ERP5Form/PlanningBox.py
product/ERP5Form/PlanningBox.py
+24
-24
product/ERP5Form/ScribusParser.py
product/ERP5Form/ScribusParser.py
+1
-1
product/ERP5Form/ScribusUtils.py
product/ERP5Form/ScribusUtils.py
+6
-6
product/ERP5OOo/FormPrintout.py
product/ERP5OOo/FormPrintout.py
+1
-1
product/ERP5OOo/OOoUtils.py
product/ERP5OOo/OOoUtils.py
+1
-1
product/ERP5Security/ERP5ExternalAuthenticationPlugin.py
product/ERP5Security/ERP5ExternalAuthenticationPlugin.py
+1
-1
product/ERP5Security/ERP5KeyAuthPlugin.py
product/ERP5Security/ERP5KeyAuthPlugin.py
+1
-1
product/ERP5SyncML/Conduit/ERP5Conduit.py
product/ERP5SyncML/Conduit/ERP5Conduit.py
+2
-2
product/ERP5SyncML/Conduit/ERP5ShopOrderConduit.py
product/ERP5SyncML/Conduit/ERP5ShopOrderConduit.py
+4
-4
product/ERP5SyncML/Tool/SynchronizationTool.py
product/ERP5SyncML/Tool/SynchronizationTool.py
+3
-3
product/ERP5SyncML/interfaces/conduit.py
product/ERP5SyncML/interfaces/conduit.py
+2
-2
product/ERP5SyncML/tests/testERP5DocumentSyncML.py
product/ERP5SyncML/tests/testERP5DocumentSyncML.py
+2
-2
product/ERP5SyncML/tests/testERP5SyncML.py
product/ERP5SyncML/tests/testERP5SyncML.py
+0
-1
product/ERP5TioSafe/plugins/virtuemart/tiosafe_virtuemart/deletePerson.php
...fe/plugins/virtuemart/tiosafe_virtuemart/deletePerson.php
+2
-2
product/ERP5TioSafe/plugins/virtuemart/tiosafe_virtuemart/deleteProduct.php
...e/plugins/virtuemart/tiosafe_virtuemart/deleteProduct.php
+1
-1
product/ERP5Type/Tool/ClassTool.py
product/ERP5Type/Tool/ClassTool.py
+1
-1
product/ERP5Type/Tool/ComponentTool.py
product/ERP5Type/Tool/ComponentTool.py
+1
-1
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
+1
-1
No files found.
product/CMFActivity/ActivityTool.py
View file @
323810f7
...
...
@@ -248,7 +248,7 @@ class Message(BaseMessage):
user
=
uf
.
getUserById
(
user_name
)
# if the user is not found, try to get it from a parent acl_users
# XXX this is still far from perfect, because we need to store all
# information
s
about the user (like original user folder, roles) to
# information about the user (like original user folder, roles) to
# replay the activity with exactly the same security context as if
# it had been executed without activity.
if
user
is
None
:
...
...
product/ERP5/Document/PDFTypeInformation.py
View file @
323810f7
...
...
@@ -51,7 +51,7 @@ def getPropertiesCSSDict(parsed_scribus
,
portal_preferences
):
"""
recover all CSS data relative to the current page_object (field)
and save these information
s
in the output dict
and save these information in the output dict
"""
#image_width = 800
scaling_factor
=
min
(
float
(
image_width
)
/
scribus_width
,
...
...
product/ERP5/Tool/IntrospectionTool.py
View file @
323810f7
...
...
@@ -423,7 +423,7 @@ class IntrospectionTool(LogMixin, BaseTool):
security
.
declareProtected
(
Permissions
.
ManagePortal
,
'getSystemSignatureDict'
)
def
getSystemSignatureDict
(
self
):
""" Returns a dictionary with all information
s
related to the instance.
""" Returns a dictionary with all information related to the instance.
This information can report what resources (memcache, mysql, zope,
python, libraries) the instance is using. Also, what business templates are
installed.
...
...
product/ERP5/Tool/TemplateTool.py
View file @
323810f7
...
...
@@ -1504,7 +1504,7 @@ class TemplateTool (BaseTool):
It list all business templates who needs
reinstall
"""
# make sure that we updated information
s
on repository
# make sure that we updated information on repository
self.updateRepositoryBusinessTemplateList(self.getRepositoryList())
# do upgrade
message_list = []
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_coordinates.xml
View file @
323810f7
...
...
@@ -163,7 +163,7 @@ properties_structure[\'base\'][\'planning_box\'] = planning_dict\n
\n
\n
\n
# recovering axis CSS class information
s
\n
# recovering axis CSS class information\n
for axis in (planning.Y, planning.X):\n
axis_depth = None\n
axis_dict= {\n
...
...
@@ -173,7 +173,7 @@ for axis in (planning.Y, planning.X):\n
\'border-width\': 0,\n
\'background\': \'inherit\',\n
}\n
# adding cursors position information
s
\n
# adding cursors position information\n
axis_previous = {\n
\'position\': \'absolute\',\n
\'border-width\': 0,\n
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/wz_dragdrop.js.xml
View file @
323810f7
...
...
@@ -1392,7 +1392,7 @@ function SET_DHTML()\n
// from this point. Written by jonathan\n
//creation of the structure of lines \n
for(var i=0;i
< dd.elements.length
;i++){\n
if(dd.elements[i]
.nodrag=
=0){
//
do
not
need
to
add
in
lines
the
information
s
inside
a
div\n
if(dd.elements[i]
.nodrag=
=0){
//
do
not
need
to
add
in
lines
the
information
inside
a
div\n
test=
false;
//used
for
determining
if
blocks
with
same
y
of
the
current
is
block
are
already
present\n
for(var
j=
0;j
<
lines.length;j++){\n
if((dd.elements[i].y+dd.elements[i].h)==(lines[j][0].y+lines[j][0].h)){\n
...
...
product/ERP5/tests/testERP5Credential.py
View file @
323810f7
...
...
@@ -415,7 +415,7 @@ class TestERP5Credential(ERP5TypeTestCase):
def
stepCreateCredentialUpdate
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
'''
Create a credential update object an fill it with some modified
information
s
information
'''
self
.
login
()
# get the 'homie' person object
...
...
product/ERP5Form/Extensions/ERP5Site_createModuleScribus.py
View file @
323810f7
...
...
@@ -139,7 +139,7 @@ def ERP5Site_createModuleScribus(self,
# file's content object (string) before saving it
# onto the hard disk
form_css_content
=
""
# properties_css_dict is used to store class information
s
# properties_css_dict is used to store class information
properties_css_dict
=
{}
# init page number
page_number_int
=
0
...
...
product/ERP5Form/Extensions/ERP5Site_updateModuleScribus.py
View file @
323810f7
...
...
@@ -171,7 +171,7 @@ def ERP5Site_updateModuleScribus(self,
# file's content object (string) before saving it
# onto the hard disk
form_css_content
=
""
# properties_css_dict is used to store class information
s
# properties_css_dict is used to store class information
properties_css_dict
=
{}
# init page number
page_number_int
=
0
...
...
product/ERP5Form/ImageField.py
View file @
323810f7
...
...
@@ -166,7 +166,7 @@ class ImageFieldWidget(Widget.TextWidget):
return
draw_frame_node
# Big images are cut into smaller chunks, so it's required to cast to
# str. See OFS/Image -> _read_data method for more information
s
# str. See OFS/Image -> _read_data method for more information
image_data
=
str
(
image_data
)
format
=
content_type
.
split
(
'/'
)[
-
1
]
...
...
product/ERP5Form/PDFForm.py
View file @
323810f7
...
...
@@ -299,7 +299,7 @@ class PDFForm(File):
)
def
__init__
(
self
,
id
,
title
=
''
,
pdf_file
=
''
):
# holds
all the cell information
s, even those not related to this form
# holds
information about all cell
s, even those not related to this form
self
.
all_cells
=
PersistentMapping
()
# holds the cells related to this pdf form
self
.
cells
=
PersistentMapping
()
...
...
product/ERP5Form/PlanningBox.py
View file @
323810f7
...
...
@@ -123,7 +123,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
block_found
[
'old_X'
]
=
block_previous
[
'old_X'
]
block_found
[
'old_Y'
]
=
block_previous
[
'old_Y'
]
else
:
# block has not been moved again, adding old block information
s
to
# block has not been moved again, adding old block information to
# the current list of block_moved
block_moved_list
.
append
(
block_previous
)
elif
block_previous_list
!=
[]:
...
...
@@ -139,7 +139,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
return
None
# block_moved_list is updated
# dict aimed to hold all information
s
about block
# dict aimed to hold all information about block
final_block_dict
=
{}
# dict holding all the activities that will need an update because at least
# one of the blocks concerned is moved
...
...
@@ -150,13 +150,13 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
error_block_list
=
[]
error_info_dict
=
{}
########## GETTING BLOCK INFORMATION
S
############
########## GETTING BLOCK INFORMATION ############
# iterating each block_moved element and recovering all usefull properties
# BEWARE : no update is done here as an activity can be composed of several
# blocks and so we need first to check all the blocks moved
for
block_moved
in
block_moved_list
:
final_block
=
{}
# recovering the block object from block_moved information
s
# recovering the block object from block_moved information
final_block
[
'block_object'
]
=
self
.
getBlockObject
(
block_moved
[
'name'
],
\
planning
.
content
)
# recovering original activity object
...
...
@@ -226,7 +226,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
warning_activity_list
.
append
(
final_block
[
'activity_origin'
].
name
)
lane_axis_positions
=
[
None
,
None
]
else
:
# now that all information
s
about the main axis changes are
# now that all information about the main axis changes are
# known, checking modifications over the lane axis.
lane_axis_positions
=
self
.
getDestinationBounds
(
basic
,
planning
,
block_moved
,
final_block
[
'block_object'
],
...
...
@@ -300,7 +300,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
# adding object name to list of objects to update
if
activity_object
.
object
.
getUrl
()
not
in
update_list
:
update_list
.
append
(
activity_object
.
object
.
getUrl
())
# saving updated information
s
in the final dict
# saving updated information in the final dict
for
activity_desc
in
object_dict
[
activity_object
.
object
.
getUrl
()]:
if
activity_desc
[
'activity_name'
]
==
activity_object
.
name
:
activity_desc
[
'axis_start'
]
=
start_value
...
...
@@ -309,7 +309,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
############### UPDATING OBJECTS #################
# using result from updated activities to process update on objects.
update_dict
=
{}
# first building a dict with all information
s
for each object.
# first building a dict with all information for each object.
# now processing activity updates
for
object_name
in
update_list
:
object_info
=
object_dict
[
object_name
]
...
...
@@ -444,7 +444,7 @@ class PlanningBoxValidator(Validator.StringBaseValidator):
# XXX CALENDAR
# has to be improved : for now the axis bounds are recovered globally, it
# implies that all groups have the same bounds, which is not the case in
# calendar mode. for that will need to add special information
s
about the
# calendar mode. for that will need to add special information about the
# group itself to know its own bounds.
# => In case of calendar mode, axis_bounds are recovered from the
# destination group instead of the planning itself
...
...
@@ -1540,7 +1540,7 @@ class BasicStructure:
lane_axis_ocurence holds couples of data (begin,end) related to
basicActivity blocks, and axis if the instance representing the sec axis.
it is now possible to recover begin and end value of the planning and then
apply selection information
s
to get start and stop.
apply selection information to get start and stop.
"""
axis_dict
=
{}
# XXX Min and Max not handle none values
...
...
@@ -1644,9 +1644,9 @@ class BasicStructure:
stat_context
.
domain_url
=
\
report_group_object
.
getObject
().
getRelativeUrl
()
url
=
getattr
(
stat_context
,
'domain_url'
,
''
)
# updating position_information
s
# updating position_information
position
+=
1
# recovering usefull information
s
, basic_structure
# recovering usefull information, basic_structure
if
self
.
title_line
not
in
(
None
,
''
):
title_line_method
=
getattr
(
report_group_object
.
getObject
(),
self
.
title_line
,
None
)
...
...
@@ -1659,7 +1659,7 @@ class BasicStructure:
is_open
=
report_group_object
.
getIsOpen
()
is_pure_summary
=
report_group_object
.
getIsPureSummary
()
# creating new group_object with all the information
s
collected
# creating new group_object with all the information collected
group_start
=
group_stop
=
None
if
self
.
calendar_mode
==
1
:
# recover start and stop of current object to generate good BasicGroup
...
...
@@ -1693,7 +1693,7 @@ class BasicStructure:
class
BasicGroup
:
"""
A BasicGroup holds information
s
about an ERP5Object and is stored
A BasicGroup holds information about an ERP5Object and is stored
exclusively in BasicStructure. for each activity that will need to be
represented in the PlanningBox, a BasicActivity is created and added to
the current structure (for example BasicGroup represents an employee,
...
...
@@ -2007,7 +2007,7 @@ class PlanningStructure:
"""
class aimed to generate the Planning final structure, including :
- activities with their blocs (so contains Activity structure)
- Axis information
s
(contains Axis Structure).
- Axis information (contains Axis Structure).
The zoom properties on lane axis are applied to this structure.
"""
...
...
@@ -2061,7 +2061,7 @@ class PlanningStructure:
# used in non calendar mode
self
.
lane_axis
.
axis_group
=
self
.
buildLaneAxis
(
basic_structure
,
field
)
# completing axisgroup information
s
according to their bounds
# completing axisgroup information according to their bounds
self
.
completeAxis
()
# the whole structure is almost completed : axis_groups are defined, as
...
...
@@ -2089,7 +2089,7 @@ class PlanningStructure:
# axis_group_number is used to differenciate groups
axis_group_number
=
1
# now iterating list of dominas and building group list
# group position and size information
s
are saved in position_lane
# group position and size information are saved in position_lane
# using relative coordinates
for
domain
in
basic_structure
.
lane_domain_list
:
axis_group
=
AxisGroup
(
name
=
'group_lane_'
+
str
(
axis_group_number
),
...
...
@@ -2103,11 +2103,11 @@ class PlanningStructure:
# set defaut stop bound and size
axis_group
.
position_lane
.
relative_end
=
axis_stop
axis_group
.
position_lane
.
relative_range
=
axis_stop
-
relative_pos
# do not need to update previous axis information
s
for first
# do not need to update previous axis information for first
# axis
if
len
(
axis_group_list
)
>
0
:
# actual delimiter info has a previous delimiter
# update its information
s
# update its information
axis_group_list
[
-
1
].
position_lane
.
relative_end
=
\
axis_group
.
position_lane
.
relative_begin
axis_group_list
[
-
1
].
position_lane
.
relative_range
=
\
...
...
@@ -2122,7 +2122,7 @@ class PlanningStructure:
def
completeAxis
(
self
):
"""
complete axis information
s
(and more precisely axis position objects) thanks
complete axis information (and more precisely axis position objects) thanks
to the actual planning structure
"""
# processing main axis
...
...
@@ -2315,7 +2315,7 @@ class PlanningStructure:
if
axis_group_object
.
property_dict
[
'stat'
]
==
1
:
# case stat group_object, need to update block size to display
# stats information
s
# stats information
axis_group_object
.
updateStatBlocks
()
# no problem during process, returning 'true' flag
return
1
...
...
@@ -2578,7 +2578,7 @@ class Bloc:
are also referenced in their relative AxisElement (to be able to calculate
the number of lines required for rendering when having multi-tasking in
parallel).
Contains Bloc Structure for position information
s
.
Contains Bloc Structure for position information.
"""
def
__init__
(
self
,
name
=
None
,
types
=
None
,
...
...
@@ -2667,7 +2667,7 @@ class Bloc:
class
Position
:
"""
gives a bloc [/or an area] information
s
about it's position on the X or Y
gives a bloc [/or an area] information about it's position on the X or Y
axis. can specify position in every kind of axis : continuous or listed
with lower and upper bound.
"""
...
...
@@ -2687,7 +2687,7 @@ class Position:
class
Axis
:
"""
Structure holding information
s
about a specified axis. Can be X or Y axis.
Structure holding information about a specified axis. Can be X or Y axis.
Is aimed to handle axis with any kind of unit : continuous or listed (
including possibly a listed ReportTree).
Two of them are needed in a PlanningStructure to have X and Y axis.
...
...
@@ -3014,7 +3014,7 @@ class AxisElement:
class
Info
:
"""
Class holding all information
s
to display an info text div inside of a block
Class holding all information to display an info text div inside of a block
or AxisGroup or whatever
"""
security
=
ClassSecurityInfo
()
...
...
product/ERP5Form/ScribusParser.py
View file @
323810f7
...
...
@@ -430,7 +430,7 @@ class ScribusParser:
usable_property
[
'group'
]
=
'0'
if
user_property
.
has_key
(
'group'
):
usable_property
[
'group'
]
=
user_property
[
'group'
]
# object is
datetimefield and need several informations
# object is
DateTimeField
if
usable_property
[
'type'
]
==
'DateTimeField'
:
# has been tested successfully
usable_property
[
'rendering'
]
=
'multiple'
...
...
product/ERP5Form/ScribusUtils.py
View file @
323810f7
...
...
@@ -909,7 +909,7 @@ class ManageCSS:
,
space_between_pages
):
"""
recover all CSS data relative to the current page_object (field)
and save th
ese informations
in the output dict
and save th
is information
in the output dict
"""
(
field_name
,
properties_field
)
=
field
LOG
(
'ManageCSS'
,
INFO
,
...
...
@@ -1430,10 +1430,10 @@ class ScribusParser:
LOG
(
'ScribusParser'
,
INFO
,
' > PAGEOBJECT = '
+
str
(
field_name
))
#after having scanned all 'PAGEOBJECT' from a 'PAGE', adding the
#
relative informations
to the list of 'PAGE' before going to
#
after having scanned all 'PAGEOBJECT' from a 'PAGE', adding the
#
relative information
to the list of 'PAGE' before going to
# the next one
#in case the page is not empty
#
in case the page is not empty
if
len
(
returned_page_object_list
)
!=
0
:
returned_page_dict
[
page_number
]
=
returned_page_object_list
...
...
@@ -1524,7 +1524,7 @@ class ScribusParser:
takes a dict generated from 'getXmlObjectsProperties' method
and returns a dict of PAGE including a list with usefull
'PAGEOBJECT' attributes updated with standard attributes
and special information
s
contained in the
and special information contained in the
'ANTOOLTIP' attribute.
usefull attributes are
...
...
@@ -1886,7 +1886,7 @@ class ScribusParser:
''
,
object_name
,
tooltipfield_properties_dict
)
# object is
datetimefield and need several informations
# object is
DateTimeField
if
str
(
object_properties
[
'type'
])
==
'DateTimeField'
:
# has been tested successfully
object_properties
[
'rendering'
]
=
'multiple'
...
...
product/ERP5OOo/FormPrintout.py
View file @
323810f7
...
...
@@ -364,7 +364,7 @@ class ODFStrategy(Implicit):
# meta.xml is not supported yet
# ooo_builder = self._replaceMetaXml(ooo_builder=ooo_builder, extra_context=extra_context)
# Update the META information
s
# Update the META information
ooo_builder
.
updateManifest
()
ooo
=
ooo_builder
.
render
()
...
...
product/ERP5OOo/OOoUtils.py
View file @
323810f7
...
...
@@ -371,7 +371,7 @@ class OOoParser(Implicit):
# Get the table name
table_name
=
spreadsheet
.
get
(
'{%s}name'
%
spreadsheet
.
nsmap
[
"table"
])
# Scan table and store usable information
s
# Scan table and store usable information
find_path
=
'.//{%s}table-row'
%
spreadsheet
.
nsmap
[
'table'
]
for
line
in
spreadsheet
.
findall
(
find_path
):
...
...
product/ERP5Security/ERP5ExternalAuthenticationPlugin.py
View file @
323810f7
...
...
@@ -104,7 +104,7 @@ class ERP5ExternalAuthenticationPlugin(BasePlugin):
# fallback to default way
return
DumbHTTPExtractor
().
extractCredentials
(
request
)
#Complete credential with some information
s
#Complete credential with some information
if
creds
:
creds
[
'remote_host'
]
=
request
.
get
(
'REMOTE_HOST'
,
''
)
try
:
...
...
product/ERP5Security/ERP5KeyAuthPlugin.py
View file @
323810f7
...
...
@@ -269,7 +269,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
creds
[
'login'
]
=
login
creds
[
'password'
]
=
password
#Complete credential with some information
s
#Complete credential with some information
if
creds
:
creds
[
'remote_host'
]
=
request
.
get
(
'REMOTE_HOST'
,
''
)
try
:
...
...
product/ERP5SyncML/Conduit/ERP5Conduit.py
View file @
323810f7
...
...
@@ -941,7 +941,7 @@ class ERP5Conduit(XMLSyncUtilsMixin):
security.declareProtected(Permissions.ModifyPortalContent, 'addWorkflowNode')
def addWorkflowNode(self, object, xml, simulate):
"""
This
allows
to
specify
how
to
handle
the
workflow
information
s
.
This
allows
to
specify
how
to
handle
the
workflow
information
.
This
is
really
usefull
if
you
want
to
write
your
own
Conduit
.
"""
conflict_list = []
...
...
@@ -975,7 +975,7 @@ class ERP5Conduit(XMLSyncUtilsMixin):
security.declareProtected(Permissions.ModifyPortalContent, 'addLocalRoleNode')
def addLocalRoleNode(self, object, xml):
"""
This
allows
to
specify
how
to
handle
the
local
role
information
s
.
This
allows
to
specify
how
to
handle
the
local
role
information
.
This
is
really
usefull
if
you
want
to
write
your
own
Conduit
.
"""
# We want to add a local role
...
...
product/ERP5SyncML/Conduit/ERP5ShopOrderConduit.py
View file @
323810f7
...
...
@@ -478,7 +478,7 @@ class ERP5ShopOrderConduit(ERP5Conduit):
pass
else
:
if
owner_type
==
None
:
# There is not enough information
s
to know if the customer is an organisation or
# There is not enough information to know if the customer is an organisation or
# a person and there is no previous record
# By default, we consider the customer as a person, so we have to force to create one
owner_type
=
'p'
...
...
@@ -495,8 +495,8 @@ class ERP5ShopOrderConduit(ERP5Conduit):
LOG
(
"Person object >>>>>>>>"
,
0
,
repr
(
person_object
))
LOG
(
"Organisation object >>>>>>>>"
,
0
,
repr
(
org_object
))
# Copy information
s
related to the customer in the ERP5 representation of the customer
# Be carefull because all information
s
from the storever ShopOrder are optionnals
# Copy information related to the customer in the ERP5 representation of the customer
# Be carefull because all information from the storever ShopOrder are optionnals
if
owner_type
.
find
(
'p'
)
!=
-
1
:
# Link the customer with the Sale Order
object
.
setDestination
(
"person/"
+
owner_id
)
...
...
@@ -583,7 +583,7 @@ class ERP5ShopOrderConduit(ERP5Conduit):
# Link the customer with the Sale Order
object
.
setDestination
(
"organisation/"
+
owner_id
)
object
.
setDestinationSection
(
"organisation/"
+
owner_id
)
# All information
s
describe the organisation
# All information describe the organisation
if
kw
.
has_key
(
'organisation'
)
and
kw
[
'organisation'
]
!=
None
:
org_object
.
setTitle
(
kw
[
'organisation'
].
title
())
org_object
.
setCorporateName
(
kw
[
'organisation'
].
title
())
...
...
product/ERP5SyncML/Tool/SynchronizationTool.py
View file @
323810f7
...
...
@@ -834,7 +834,7 @@ class SynchronizationTool(BaseTool):
alert_code
=
[
category
.
getId
()
for
category
in
\
category_tool
.
syncml_alert_code
.
objectValues
()
if
\
category
.
getReference
()
==
alert_code
][
0
]
# Get information
s
from the header
# Get information from the header
client_header
=
xml_client
[
0
]
#FIXME to apply a DTD or schema
if
client_header
.
xpath
(
'local-name()'
)
!=
"SyncHdr"
:
...
...
@@ -919,7 +919,7 @@ class SynchronizationTool(BaseTool):
subscriber
.
initLastMessageId
(
1
)
alert
=
None
# Get information
s
from the body
# Get information from the body
if
xml_client
is
not
None
:
# We have received a message
last_anchor
=
'%s'
%
xml_client
.
xpath
(
'string(.//syncml:Alert/'
\
'syncml:Item/syncml:Meta/'
\
...
...
@@ -1230,7 +1230,7 @@ class SynchronizationTool(BaseTool):
has_response
=
False
#check if syncmodif replies to this messages
cmd_id
=
1
# specifies a SyncML message-unique command identifier
#LOG('SyncModif', DEBUG, 'Starting... domain: %s' % domain.getId())
# Get information
s
from the header
# Get information from the header
xml_header
=
remote_xml
[
0
]
#FIXME to apply a DTD or schema
if
xml_header
.
xpath
(
'local-name()'
)
!=
"SyncHdr"
:
...
...
product/ERP5SyncML/interfaces/conduit.py
View file @
323810f7
...
...
@@ -119,7 +119,7 @@ class IConduit(Interface):
def
getGidFromObject
(
object
,
configurable_gid_dictionary
=
None
):
"""
return the Gid composed with the object information
s
return the Gid composed with the object information
- object is the document on which for we are building the gid.
It is usefull to interogate properties of this document itself.
- configurable_gid_dictionary optional argument which is supposed to be a dictionary
...
...
@@ -133,7 +133,7 @@ class IConduit(Interface):
def
getGidFromXML
(
xml
,
namespace
,
gid_from_xml_list
):
"""
return the Gid composed with xml information
s
return the Gid composed with xml information
"""
def
applyDiff
(
original_data
,
diff
):
...
...
product/ERP5SyncML/tests/testERP5DocumentSyncML.py
View file @
323810f7
...
...
@@ -467,7 +467,7 @@ class TestERP5DocumentSyncMLMixin(TestERP5SyncMLMixin):
portal_type
=
'Text'
,
version
=
'001'
,
language
=
'en'
,
description
=
''
):
"""
Check synchronization with a document and the information
s
provided
Check synchronization with a document and the information provided
"""
if
document
is
not
None
:
self
.
assertEqual
(
document
.
getId
(),
id
)
...
...
@@ -479,7 +479,7 @@ class TestERP5DocumentSyncMLMixin(TestERP5SyncMLMixin):
self
.
assertEqual
(
document
.
getFilename
(),
filename
)
self
.
assertEquals
(
size_filename
,
document
.
get_size
())
else
:
self
.
fail
(
"Document is None for check th
ese informations
"
)
self
.
fail
(
"Document is None for check th
is information
"
)
def
checkXMLsSynchronized
(
self
):
document_server
=
self
.
getDocumentServer
()
...
...
product/ERP5SyncML/tests/testERP5SyncML.py
View file @
323810f7
...
...
@@ -108,7 +108,6 @@ class TestERP5SyncMLMixin(ERP5TypeTestCase):
def
beforeTearDown
(
self
):
"""Clean up."""
# type informations
self
.
getTypesTool
().
getTypeInfo
(
'Person'
).
filter_content_types
=
1
def
getBusinessTemplateList
(
self
):
...
...
product/ERP5TioSafe/plugins/virtuemart/tiosafe_virtuemart/deletePerson.php
View file @
323810f7
...
...
@@ -10,10 +10,10 @@
// Generate the query
if
(
$user_id
!=
""
)
{
//XXX Delete the customer information
s
//XXX Delete the customer information
$req_delete
=
"DELETE FROM "
.
constant
(
'_VM_TABLE_PREFIX_'
)
.
"_user_info WHERE user_id="
.
$user_id
.
""
;
executeSQL
(
$req_delete
);
// Delete the user's information
s
// Delete the user's information
$req_delete1
=
"DELETE FROM "
.
constant
(
'_JOOMLA_TABLE_PREFIX_'
)
.
"users WHERE id="
.
$user_id
.
""
;
executeSQL
(
$req_delete1
);
$req_delete1
=
"DELETE FROM "
.
constant
(
'_JOOMLA_TABLE_PREFIX_'
)
.
"core_acl_aro WHERE value="
.
$user_id
.
""
;
...
...
product/ERP5TioSafe/plugins/virtuemart/tiosafe_virtuemart/deleteProduct.php
View file @
323810f7
...
...
@@ -17,7 +17,7 @@
// Generate the query
if
(
$product_id
!=
""
)
{
// Delete the customer information
s
// Delete the customer information
$req_delete
=
"DELETE FROM "
.
constant
(
'_VM_TABLE_PREFIX_'
)
.
"_product WHERE product_id="
.
$product_id
.
""
;
executeSQL
(
$req_delete
);
// Delete the relationship with #_vm_price
...
...
product/ERP5Type/Tool/ClassTool.py
View file @
323810f7
...
...
@@ -1208,7 +1208,7 @@ def initialize( context ):
commas (e.g. testFoo,testBar). This can be regular
expressions.
debug=boolean Invoke debugger on errors / failures.
verbose=boolean Display more information
s
when running tests
verbose=boolean Display more information when running tests
"""
# Allow having strings for verbose and debug
verbose
=
int
(
verbose
)
and
True
or
False
...
...
product/ERP5Type/Tool/ComponentTool.py
View file @
323810f7
...
...
@@ -238,7 +238,7 @@ class Test(ERP5TypeTestCase):
commas (e.g. testFoo,testBar). This can be regular
expressions.
debug=boolean Invoke debugger on errors / failures.
verbose=boolean Display more information
s
when running tests
verbose=boolean Display more information when running tests
"""
test_list
=
self
.
_getCommaSeparatedParameterList
(
test_list
)
if
not
test_list
:
...
...
product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
View file @
323810f7
...
...
@@ -246,7 +246,7 @@ class FunctionalTestRunner:
def __init__(self, host, port, portal, run_only='', use_phanthom=False):
self.instance_home = os.environ['INSTANCE_HOME']
# Such information
s
should be automatically loaded
# Such information should be automatically loaded
self.user = 'ERP5TypeTestCase'
self.password = ''
self.run_only = run_only
...
...
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