Commit 93b5ebff authored by Jérome Perrin's avatar Jérome Perrin

Fix project coding style errors

In nexedi/erp5@935b39f9 we accidentally enabled coding style test for `erp5_project`. Let's fix the current problems reported by coding style test.

See merge request !1087
parents 30be6899 0128b31e
Pipeline #8615 passed with stage
...@@ -4,12 +4,12 @@ now = DateTime() ...@@ -4,12 +4,12 @@ now = DateTime()
domain_list = [] domain_list = []
parents_criterion_dict = {} parents_criterion_dict = {}
def appendNewTempDomain(id, criterion_dict=None, **kw): def appendNewTempDomain(id_, criterion_dict=None, **kw):
if criterion_dict is None: if criterion_dict is None:
criterion_dict = parents_criterion_dict criterion_dict = parents_criterion_dict
else: else:
criterion_dict.update(parents_criterion_dict) criterion_dict.update(parents_criterion_dict)
domain = parent.generateTempDomain(id=id) domain = parent.generateTempDomain(id=id_)
domain.edit( domain.edit(
criterion_property_list=criterion_dict.keys(), criterion_property_list=criterion_dict.keys(),
**kw **kw
...@@ -19,12 +19,12 @@ def appendNewTempDomain(id, criterion_dict=None, **kw): ...@@ -19,12 +19,12 @@ def appendNewTempDomain(id, criterion_dict=None, **kw):
domain_list.append(domain) domain_list.append(domain)
appendNewTempDomain( appendNewTempDomain(
id="future", id_="future",
title="Future", title="Future",
criterion_dict={criterion_property: {"min": now, "max": DateTime('9999/01/01 00:00')}}, criterion_dict={criterion_property: {"min": now, "max": DateTime('9999/01/01 00:00')}},
) )
appendNewTempDomain( appendNewTempDomain(
id="past", id_="past",
title="Past", title="Past",
criterion_dict={criterion_property: {"min": DateTime('1000/01/01 00:00'), "max": now}}, criterion_dict={criterion_property: {"min": DateTime('1000/01/01 00:00'), "max": now}},
) )
......
...@@ -42,8 +42,8 @@ task_items.sort(key=lambda x: x['id']) ...@@ -42,8 +42,8 @@ task_items.sort(key=lambda x: x['id'])
for item in task_items: for item in task_items:
if item['title'] != '': if item['title'] != '':
task = task_module.newContent( portal_type = document_type task = task_module.newContent( portal_type = document_type
, title = item['title'] , title = item['title']
, reference = item['reference'] , reference = item['reference']
, description = item['description'] , description = item['description']
...@@ -59,15 +59,15 @@ for item in task_items: ...@@ -59,15 +59,15 @@ for item in task_items:
, destination = item['destination'] , destination = item['destination']
) )
if item['reference'] == '': if item['reference'] == '':
task.setReference('T-' + str(task.getId())) task.setReference('T-' + str(task.getId()))
if item['requirement'] is not None: if item['requirement'] is not None:
if isinstance(item['requirement'],str): if isinstance(item['requirement'],str):
task.setTaskLineRequirement(item['requirement']) task.setTaskLineRequirement(item['requirement'])
else: else:
task.setTaskLineRequirementList(item['requirement']) task.setTaskLineRequirementList(item['requirement'])
task.setSourceProjectValue(context_obj) task.setSourceProjectValue(context_obj)
# return to the project # return to the project
return context.Base_redirect('view', keep_items={'portal_status_message': 'Tasks added at Task Module.'}) return context.Base_redirect('view', keep_items={'portal_status_message': 'Tasks added at Task Module.'})
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>source, source_section, destination_decision, destination_section, destination, task_line_quantity_unit, resource, listbox=[],**kw</string> </value> <value> <string>source, source_section, destination_decision, destination_section, destination, task_line_quantity_unit, resource, listbox=(), **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -3,7 +3,7 @@ requeriment_list_value = context.getRequirementValueList() ...@@ -3,7 +3,7 @@ requeriment_list_value = context.getRequirementValueList()
requeriment_string_list = [] requeriment_string_list = []
for req in requeriment_list_value: for req in requeriment_list_value:
resource_path = '/'.join(req.getPath().split('/')[2:]) resource_path = '/'.join(req.getPath().split('/')[2:])
requeriment_string_list.append([req.getTitle(), resource_path ]) requeriment_string_list.append([req.getTitle(), resource_path ])
return requeriment_string_list return requeriment_string_list
...@@ -12,7 +12,6 @@ def getWorkLineList(line,worker): ...@@ -12,7 +12,6 @@ def getWorkLineList(line,worker):
result.append(line) result.append(line)
return result return result
listbox = []
worker_list = context.getParentValue().getSourceValueList() worker_list = context.getParentValue().getSourceValueList()
work_line_list = [] work_line_list = []
for worker in worker_list: for worker in worker_list:
......
...@@ -27,9 +27,9 @@ portal_catalog = portal.portal_catalog ...@@ -27,9 +27,9 @@ portal_catalog = portal.portal_catalog
# hasColumn exists, it is new and is not installed yet everywhere # hasColumn exists, it is new and is not installed yet everywhere
hasColumn = getattr(portal_catalog, 'hasColumn', None) hasColumn = getattr(portal_catalog, 'hasColumn', None)
if hasColumn is not None: if hasColumn is not None:
for property in ['outcome_description']: for prop in ['outcome_description']:
if hasColumn(property): if hasColumn(prop):
select_dict[property] = None select_dict[prop] = None
if len(project_uid_list): if len(project_uid_list):
milestone_list = [x for x in portal.portal_catalog(parent_uid=project_uid_list, milestone_list = [x for x in portal.portal_catalog(parent_uid=project_uid_list,
......
...@@ -5,21 +5,15 @@ project_line_portal_type = 'Project Line' ...@@ -5,21 +5,15 @@ project_line_portal_type = 'Project Line'
domain_list = [] domain_list = []
here = context.REQUEST['here'] here = context.REQUEST['here']
portal = context.getPortalObject()
form_id=request.get('form_id')
selection_name = request.get('selection_name')
params = portal.portal_selections.getSelectionParamsFor(selection_name, request)
object_path = request.get('object_path') object_path = request.get('object_path')
if object_path is None: if object_path is None:
object_path = context.REQUEST.get('URL1').split('/')[-1] object_path = context.REQUEST.get('URL1').split('/')[-1]
search_path = 'project_module/%s/%%' % object_path
category_list = [] category_list = []
if depth == 0: if depth == 0:
# Get start date and stop date from document # Get start date and stop date from document
from_date = request.get('from_date') from_date = request.get('from_date')
at_date = request.get('at_date') at_date = request.get('at_date')
current_month = None
# We must initialize from_date at the beginning of the month # We must initialize from_date at the beginning of the month
current_date = from_date current_date = from_date
is_total = here.is_total is_total = here.is_total
...@@ -56,10 +50,7 @@ if depth == 0: ...@@ -56,10 +50,7 @@ if depth == 0:
#i += 1 #i += 1
else: else:
object_dict = here.object_dict
string_index = getattr(parent, 'string_index') string_index = getattr(parent, 'string_index')
object_sub_dict = object_dict.get(string_index, {})
object_url_dict = {}
project_to_display_dict = here.monthly_project_to_display_dict.get(string_index, {}) project_to_display_dict = here.monthly_project_to_display_dict.get(string_index, {})
if depth == 1: if depth == 1:
category_list = [here.project_dict[x] for x in project_to_display_dict.keys() if category_list = [here.project_dict[x] for x in project_to_display_dict.keys() if
...@@ -70,19 +61,15 @@ else: ...@@ -70,19 +61,15 @@ else:
# Very specific to the monthly report, if no data, we do not display the current tree part # Very specific to the monthly report, if no data, we do not display the current tree part
# sor first, for performance, build a dict with all relative urls of project line that will # sor first, for performance, build a dict with all relative urls of project line that will
# need to be displayed for this month # need to be displayed for this month
object_dict = here.object_dict
object_sub_dict = object_dict.get(getattr(parent, 'string_index'), {})
object_url_dict = {}
for parent_category in parent_category_list: for parent_category in parent_category_list:
parent_category = '/'.join(parent_category.split('/')[1:]) parent_category = '/'.join(parent_category.split('/')[1:])
if project_to_display_dict.has_key(parent_category): if project_to_display_dict.has_key(parent_category):
parent_category_object = context.restrictedTraverse(parent_category) parent_category_object = context.restrictedTraverse(parent_category)
category_child_list = parent_category_object.contentValues(portal_type=project_line_portal_type) category_child_list = parent_category_object.contentValues(portal_type=project_line_portal_type)
#category_list.append(parent_category_object) #category_list.append(parent_category_object)
for category_child in category_child_list: for category_child in category_child_list:
if project_to_display_dict.has_key(category_child.getRelativeUrl()): if project_to_display_dict.has_key(category_child.getRelativeUrl()):
category_list.append(category_child) category_list.append(category_child)
i = 0 i = 0
......
request = context.REQUEST
project_line_portal_type = 'Project Line' project_line_portal_type = 'Project Line'
domain_list = [] domain_list = []
......
...@@ -9,7 +9,7 @@ search_path = 'project_module/%s/%%' ...@@ -9,7 +9,7 @@ search_path = 'project_module/%s/%%'
if depth == 0: if depth == 0:
category_list = [] category_list = []
for line in context.portal_catalog(path=search_path ): for line in context.portal_catalog(path=search_path ):
category_list.extend([ i for i in line.getObject().getSourceProjectRelatedValueList() if i not in category_list]) category_list.extend([ i for i in line.getObject().getSourceProjectRelatedValueList() if i not in category_list])
else: else:
return domain_list return domain_list
......
from Products.ZSQLCatalog.SQLCatalog import Query
request = context.REQUEST request = context.REQUEST
object_dict = {} # it contains required temp object to display the listbox object_dict = {} # it contains required temp object to display the listbox
...@@ -111,8 +110,6 @@ for task_line in result_list: ...@@ -111,8 +110,6 @@ for task_line in result_list:
source_relative_url = source_dict['relative_url'] source_relative_url = source_dict['relative_url']
start_date_task = task_line.date start_date_task = task_line.date
stop_date_task = task_line.mirror_date stop_date_task = task_line.mirror_date
year_start_date = start_date_task.year()
month_start_date = start_date_task.month()
# create a list with people who works on the task # create a list with people who works on the task
current_column = (source_relative_url, source_title) current_column = (source_relative_url, source_title)
...@@ -197,7 +194,6 @@ portal.portal_selections.setListboxDisplayMode(request, 'ReportTreeMode', ...@@ -197,7 +194,6 @@ portal.portal_selections.setListboxDisplayMode(request, 'ReportTreeMode',
result = [] result = []
from Products.ERP5Form.Report import ReportSection from Products.ERP5Form.Report import ReportSection
param_dict = {}
project_dict = {} project_dict = {}
for project_relative_url in project_relative_url_dict.keys(): for project_relative_url in project_relative_url_dict.keys():
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>selection=None, selection_report=None, portal_type=[], **kw</string> </value> <value> <string>selection=None, selection_report=None, portal_type=(), **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -4,8 +4,6 @@ result = [] ...@@ -4,8 +4,6 @@ result = []
params = {} params = {}
portal = context.portal_url.getPortalObject()
for project_line in [x.getObject() for x in context.searchFolder(sort_id='int_index')]: for project_line in [x.getObject() for x in context.searchFolder(sort_id='int_index')]:
result.append( result.append(
......
from Products.ERP5Type.Document import newTempBase from Products.ERP5Type.Document import newTempBase
from string import zfill from string import zfill
global portal_object, new_id, l
portal_object = context.getPortalObject() portal_object = context.getPortalObject()
if lines_num is None: if lines_num is None:
...@@ -13,9 +11,7 @@ l = [] ...@@ -13,9 +11,7 @@ l = []
# function to create a new fast input line # function to create a new fast input line
def createInputLine(): def createInputLine(new_id):
global portal_object, new_id, l
new_id += 1
int_len = 3 int_len = 3
o = newTempBase( portal_object, o = newTempBase( portal_object,
str(new_id), str(new_id),
...@@ -24,8 +20,8 @@ def createInputLine(): ...@@ -24,8 +20,8 @@ def createInputLine():
l.append(o) l.append(o)
# generate all lines for the fast input form # generate all lines for the fast input form
for x in range(lines_num): for new_id in range(lines_num):
createInputLine() createInputLine(new_id + 1)
# return the list of fast input lines # return the list of fast input lines
return l return l
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<ZopeData> <ZopeData>
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<global name="ERP5Report" module="Products.ERP5Form.Report"/> <global name="ERP5 Report" module="erp5.portal_type"/>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<ZopeData> <ZopeData>
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<global name="ERP5Report" module="Products.ERP5Form.Report"/> <global name="ERP5 Report" module="erp5.portal_type"/>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
......
result = [] result = []
def getContentValues(item, parent_id): def getContentValues(item, parent_id):
cv_list = item.contentValues() cv_list = item.contentValues()
for cv in cv_list: for cv in cv_list:
custom_id = "%s-%s"%(parent_id, cv.id) custom_id = "%s-%s"%(parent_id, cv.id)
result.append((cv,custom_id)) result.append((cv,custom_id))
getContentValues(cv, custom_id ) getContentValues(cv, custom_id )
getContentValues(context, str(context.id) ) getContentValues(context, str(context.id) )
......
...@@ -3,9 +3,8 @@ This script is called to generate references for all requirements ...@@ -3,9 +3,8 @@ This script is called to generate references for all requirements
""" """
translateString = context.Base_translateString translateString = context.Base_translateString
request = context.REQUEST if not reference:
current_type = context.getPortalType() reference='R'
if not reference: reference='R'
def generateReference(prefix, order, portal_type): def generateReference(prefix, order, portal_type):
for order_line in order.contentValues(portal_type=portal_type, checked_permission='View', sort_on='int_index'): for order_line in order.contentValues(portal_type=portal_type, checked_permission='View', sort_on='int_index'):
......
...@@ -95,7 +95,7 @@ for key in clean_requirements_key_list: ...@@ -95,7 +95,7 @@ for key in clean_requirements_key_list:
sub_requirement_int_index = 0 sub_requirement_int_index = 0
for second_level in clean_requirements[key]: for second_level in clean_requirements[key]:
sub_requirement_int_index += 10 sub_requirement_int_index += 10
new_2nd_requirement = new_1st_requirement.newContent( portal_type = requirement_type new_1st_requirement.newContent( portal_type = requirement_type
, title = second_level['title'] , title = second_level['title']
, description = second_level['description'] , description = second_level['description']
, int_index = sub_requirement_int_index , int_index = sub_requirement_int_index
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>listbox=[], form_id=\'view\', **kw</string> </value> <value> <string>listbox=(), form_id=\'view\', **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
request = context.REQUEST
domain_list = []
if depth == 0: if depth == 0:
module = context.task_module module = context.task_module
......
from Products.ERP5Type.DateUtils import addToDate from Products.ERP5Type.DateUtils import addToDate
Base_translateString = context.Base_translateString Base_translateString = context.Base_translateString
task_portal_type = 'Task'
task_module = context.getDefaultModule(task_portal_type)
def validateDay(date): def validateDay(date):
if (periodicity_month_day_list in ([], None, ())): if (periodicity_month_day_list in ([], None, ())):
...@@ -30,7 +28,6 @@ def validateMonth(date): ...@@ -30,7 +28,6 @@ def validateMonth(date):
def getNextPeriodicalDate(current_date): def getNextPeriodicalDate(current_date):
next_start_date = current_date next_start_date = current_date
previous_date = next_start_date
next_start_date = addToDate(next_start_date, day=1) next_start_date = addToDate(next_start_date, day=1)
while 1: while 1:
if (validateDay(next_start_date)) and \ if (validateDay(next_start_date)) and \
......
...@@ -35,7 +35,6 @@ project_search_dict = {} ...@@ -35,7 +35,6 @@ project_search_dict = {}
portal = context.getPortalObject() portal = context.getPortalObject()
for line in line_list: for line in line_list:
line_dict = {} line_dict = {}
line_id = "%s" % line.getUid()
#line_dict['listbox_key'] = "%s" % line_id #line_dict['listbox_key'] = "%s" % line_id
key = zfill(i,3) key = zfill(i,3)
for property_name in ('title', 'quantity_unit_title', 'quantity', for property_name in ('title', 'quantity_unit_title', 'quantity',
...@@ -83,7 +82,7 @@ if len(validation_errors): ...@@ -83,7 +82,7 @@ if len(validation_errors):
if create and len(validation_errors) == 0: if create and len(validation_errors) == 0:
for line in listbox: for line in listbox:
delivery_line = portal.restrictedTraverse(line['relative_url']) delivery_line = portal.restrictedTraverse(line['relative_url'])
task = portal.task_module.newContent( portal.task_module.newContent(
title=delivery_line.getTitle(), title=delivery_line.getTitle(),
source_project=line['source_project_relative_url'], source_project=line['source_project_relative_url'],
source=delivery_line.getSourceTrade(), source=delivery_line.getSourceTrade(),
......
object = state_change['object'] state_change['object'].Base_checkConsistency()
object.Base_checkConsistency()
object = state_change['object'] state_change['object'].Base_checkConsistency()
object.Base_checkConsistency()
object = state_change['object'] state_change['object'].Base_checkConsistency()
object.Base_checkConsistency()
erp5_trade erp5_trade
erp5_knowledge_pad erp5_knowledge_pad
\ No newline at end of file erp5_accounting
\ No newline at end of file
...@@ -2,6 +2,7 @@ portal_deliveries/task_invoice_builder ...@@ -2,6 +2,7 @@ portal_deliveries/task_invoice_builder
portal_deliveries/task_invoice_builder/** portal_deliveries/task_invoice_builder/**
portal_deliveries/task_report_builder portal_deliveries/task_report_builder
portal_deliveries/task_report_builder/** portal_deliveries/task_report_builder/**
portal_domains/date_milestone_domain
portal_domains/project_person_domain portal_domains/project_person_domain
portal_domains/project_person_task_report_domain portal_domains/project_person_task_report_domain
portal_domains/project_project_domain portal_domains/project_project_domain
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Organisation" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>price_currency/currency_module/EUR</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>idexen</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Organisation</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Idexen</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate_action</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847897.99</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>draft</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="6.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847898.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Address" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>region/europe/western_europe/france</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_address</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Address</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Email" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>coordinate_text</string> </key>
<value> <string>foo@bar.com</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_email</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Email</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Address" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>region/europe/western_europe/france</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_address</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Address</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Career" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_career</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Career</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Person" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>gender/male</string>
<string>nationality/europe/western_europe/french</string>
<string>social_title/mister</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>first_name</string> </key>
<value> <string>John</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>john_ram</string> </value>
</item>
<item>
<key> <string>last_name</string> </key>
<value> <string>Ram</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Person</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate_action</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847597.4</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>draft</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="6.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847597.4</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Address" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>region/europe/western_europe/france</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_address</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Address</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Career" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_career</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Career</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Address" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>region/europe/western_europe/france</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_address</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Address</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Career" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>subordination/organisation_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_career</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Career</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Assignment" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>group/my_group</string>
<string>site/main</string>
<string>destination/organisation_module/1</string>
<string>function/company</string>
<string>role/administration</string>
<string>activity/p</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>1</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Assignment</string> </value>
</item>
<item>
<key> <string>start_date</string> </key>
<value>
<object>
<klass>
<global id="1.1" name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>946684800.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>stop_date</string> </key>
<value>
<object>
<klass> <reference id="1.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>32503680000.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Career" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Auditor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>subordination/organisation_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_career</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Career</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
import json
portal_actitivities = context.getPortalObject().portal_activities
distribution_node = ''
processing_nodes = []
idle_nodes = []
# Store each node to distribution, processing or idle group
# in function of his port number.
node_list = portal_actitivities.getNodeList()
for node in node_list:
port = int(node.split(":")[1])
# Node with port >= 2300 are processing nodes, others are idle nodes
if port >= 2300:
processing_nodes.append(node)
else:
idle_nodes.append(node)
# Special port for distribution
if port == 2350 or port == 2250:
distribution_node = node
# Change distribution node
portal_actitivities.manage_setDistributingNode(distribution_node)
# Add processing nodes
for node in processing_nodes:
portal_actitivities.manage_addToProcessingList((node,))
# Remove idle nodes from processing nodes
for node in idle_nodes:
portal_actitivities.manage_removeFromProcessingList((node,))
print 'Distributing Node:'
print json.dumps(portal_actitivities.getDistributingNode())
print 'Processing Nodes:'
print json.dumps(portal_actitivities.getProcessingNodeList())
return printed
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>apply_load_balancing_scalability</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
Return the amount of valid created documents
"""
portal = context.getPortalObject()
person_len = len(portal.person_module.searchFolder(validation_state='validated'))
sale_order_len = len(portal.sale_order_module.searchFolder(simulation_state='planned'))
web_page_len = len(portal.web_page_module.searchFolder(validation_state='submitted'))
return person_len + sale_order_len + web_page_len
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>count_docs_scalability</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
# Update roles
portal_type = portal.searchFolder(title='portal_types')[0]
portal_type.searchFolder(title='Person')[0].updateRoleMapping()
portal_type.searchFolder(title='Product')[0].updateRoleMapping()
portal_type.searchFolder(title='Organisation')[0].updateRoleMapping()
portal_type.searchFolder(title='Sale Trade Condition')[0].updateRoleMapping()
# Clone users
module = context.person_module
my_user = module.scalability_user
for i in xrange(0,350):
new_user = my_user.Base_createCloneDocument(batch_mode=1)
name = 'scalability_user_%d' %i
new_user.setId(name)
new_user.setTitle(name)
new_user.setReference(name)
# new_user.setSubordinationValue(some_organisation_document)
new_user.validate()
assignment = new_user.objectValues(portal_type='Assignment')[0]
assignment.open()
# Update roles
portal_type = portal.searchFolder(title='portal_types')[0]
portal_type.searchFolder(title='Person')[0].updateRoleMapping()
portal_type.searchFolder(title='Product')[0].updateRoleMapping()
portal_type.searchFolder(title='Organisation')[0].updateRoleMapping()
portal_type.searchFolder(title='Sale Trade Condition')[0].updateRoleMapping()
# Validate rules in portal_rules
portal_rules = portal.portal_rules
for rule in portal_rules.searchFolder(validation_state = "draft"):
rule.validate()
# Return 1, at the end of the script.
return 1
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>init_scalability</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
portal_types = portal.searchFolder(title='portal_types')[0]
role_name_list = ['Assignor', 'Assignee', 'Associate', 'Auditor', 'Author']
role_category_list = ['group/my_group']
role_list = ['Product', 'Product Module', 'Person', 'Person Module',
'Organisation', 'Organisation Module', 'Sale Trade Condition',
'Sale Trade Condition Module', 'Web Page Module', 'Sale Order Module']
for role in role_list:
# Get portal type
current_portal = portal_types.searchFolder(title={'query':role, 'key':'ExactMatch'})[0]
# Delete existing role informations
id_list = [x.getId() for x in current_portal.searchFolder(portal_type='Role Information')]
current_portal.manage_delObjects(id_list)
# Create new role information
current_portal.newContent(
portal_type = 'Role Information',
title = 'Default',
role_name_list = role_name_list,
role_category_list = role_category_list,
description = 'Configured by Scalability script'
)
# Update roles
current_portal.updateRoleMapping()
return 1
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>update_roles_scalability</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
# Set id generator
portal.portal_simulation.setIdGenerator("_generatePerDayId")
portal.web_page_module.setIdGenerator("_generatePerDayId")
portal.sale_order_module.setIdGenerator("_generatePerDayId")
portal.person_module.setIdGenerator("_generatePerDayId")
return 1
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>use_random_id_scalability</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Product" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>base_volume</string> </key>
<value> <float>0.001</float> </value>
</item>
<item>
<key> <string>base_weight</string> </key>
<value> <float>0.001</float> </value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>product_line/component</string>
<string>base_contribution/base_amount/taxable</string>
<string>quantity_unit/unit/piece</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>RL02</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>blue_led</string> </value>
</item>
<item>
<key> <string>individual_variation_base_category_list</string> </key>
<value>
<tuple>
<string>variation</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Product</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Blue Led</string> </value>
</item>
<item>
<key> <string>variation_base_category_list</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate_action</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847652.51</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>draft</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="6.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1374847652.51</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Payment Condition" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>payment_mode/credit_card</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_payment_condition</string> </value>
</item>
<item>
<key> <string>payment_end_of_month</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Payment Condition</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Data used to perform scalability test
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
erp5_scalability_data
\ No newline at end of file
1.0
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment