Commit 200fd231 authored by Rafael Monnerat's avatar Rafael Monnerat

Added new domains for Project_viewPlanning

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@20460 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 84755fe3
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="BaseDomain" module="Products.ERP5Type.Document.BaseDomain"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>domain_generator_method_id</string> </key>
<value> <string>Project_generatePersonDomain</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>project_person_domain</string> </value>
</item>
<item>
<key> <string>last_id</string> </key>
<value> <string>167</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Domain</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Task per Person</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="BaseDomain" module="Products.ERP5Type.Document.BaseDomain"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>domain_generator_method_id</string> </key>
<value> <string>Project_generatePersonDomain</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>project_person_task_report_domain</string> </value>
</item>
<item>
<key> <string>last_id</string> </key>
<value> <string>167</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Domain</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Task Report per Person</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="BaseDomain" module="Products.ERP5Type.Document.BaseDomain"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>domain_generator_method_id</string> </key>
<value> <string>Project_generateProjectDomain</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>project_project_task_report_domain</string> </value>
</item>
<item>
<key> <string>last_id</string> </key>
<value> <string>187</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Domain</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Project Line Domain</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</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>_body</string> </key>
<value> <string>request = context.REQUEST\n
domain_list = []\n
object_path = request.get(\'object_path\')\n
if object_path is None:\n
object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
\n
search_path = \'\'.join(["%project_module/", object_path,"%"])\n
\n
if depth == 0:\n
category_list = []\n
for line in context.portal_catalog(path=search_path ):\n
category_list.extend([ i for i in line.getObject().getSourceValueList() if i not in category_list])\n
\n
\n
else:\n
return domain_list\n
\n
for category in category_list:\n
domain = parent.generateTempDomain(id = \'sub\' + category.getId() )\n
domain.edit(title = category.getTitle(),\n
membership_criterion_base_category = (\'source\', ), \n
membership_criterion_category = (category.getRelativeUrl(),),\n
domain_generator_method_id = script.id,\n
uid = category.getUid())\n
\n
domain_list.append(domain)\n
\n
return domain_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>depth, parent, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>depth</string>
<string>parent</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>request</string>
<string>domain_list</string>
<string>object_path</string>
<string>None</string>
<string>_getitem_</string>
<string>search_path</string>
<string>category_list</string>
<string>_getiter_</string>
<string>line</string>
<string>append</string>
<string>$append0</string>
<string>i</string>
<string>category</string>
<string>domain</string>
<string>script</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Project_generatePersonDomain</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -68,48 +68,34 @@ ...@@ -68,48 +68,34 @@
<value> <string>request = context.REQUEST\n <value> <string>request = context.REQUEST\n
\n \n
project_line_portal_type = \'Project Line\'\n project_line_portal_type = \'Project Line\'\n
\n
domain_list = []\n domain_list = []\n
\n \n
#context.log(\'depth\', depth)\n object_path = request.get(\'object_path\')\n
#context.log(\'context\', context)\n if object_path is None:\n
#context.log(\'here\', context.REQUEST[\'here\'])\n # Sometimes the object_path not comes with the request, when you edit for example.\n
here = context.REQUEST[\'here\']\n object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
\n
#context.log(\'parent.getMembershipCriterionCategoryList\', parent.getMembershipCriterionCategoryList())\n
\n
\n \n
domain_list = []\n
\n \n
if depth == 0:\n if depth == 0:\n
category_list = here.contentValues(portal_type=project_line_portal_type)\n category_list = [context.project_module.restrictedTraverse(object_path)]\n
#for i in context.portal_selections.getSelectionValueList(context=context,\n
# selection_name= \'task_selection\'):\n
# category_list.extend([j for j in i.getSourceProjectValueList(portal_type="Project") if j not in category_list])\n
\n \n
else:\n else:\n
category_list = []\n category_list = []\n
#category_list = parent.objectValues()\n
#for i in context.portal_selections.getSelectionValueList(context=context,\n
# selection_name=\'project_task_selection\'):\n
# category_list.extend([j for j in i.getSourceProjectValueList(portal_type=["Project Line", "Project Milestones"]) \\\n
# if (j not in category_list) and ( j.getParentRelativeUrl() in parent.getMembershipCriterionCategoryList()) ])\n
#category_list.extend([j for j in parent.objectValues()\n
parent_category_list = parent.getMembershipCriterionCategoryList()\n parent_category_list = parent.getMembershipCriterionCategoryList()\n
for parent_category in parent_category_list:\n for parent_category in parent_category_list:\n
parent_category = \'/\'.join(parent_category.split(\'/\')[1:])\n parent_category = \'/\'.join(parent_category.split(\'/\')[1:])\n
category_list.extend(context.restrictedTraverse(parent_category).contentValues(portal_type=project_line_portal_type))\n category_list.extend(context.restrictedTraverse(parent_category).contentValues(portal_type=project_line_portal_type))\n
\n \n
i = 0\n i=0\n
for category in category_list:\n for category in category_list:\n
domain = parent.generateTempDomain(id = \'%s_%s\' % (depth, i))\n domain = parent.generateTempDomain(id = \'%s_%s\' % (depth, i))\n
domain.edit(title = category.getTitle(),\n domain.edit(title = category.getTitle(),\n
membership_criterion_base_category = (\'source_project\', ), \n membership_criterion_base_category = (\'source_project\', ), \n
membership_criterion_category = (\'source_project/\' + category.getRelativeUrl(),),\n membership_criterion_category = (category.getRelativeUrl(),),\n
domain_generator_method_id = script.id,\n domain_generator_method_id = script.id,\n
uid = category.getUid())\n uid = category.getUid())\n
#context.log(\'domain.getMembershipCriterionCategoryList\', domain.getMembershipCriterionCategoryList())\n
i += 1\n i += 1\n
\n
domain_list.append(domain)\n domain_list.append(domain)\n
\n \n
return domain_list\n return domain_list\n
...@@ -163,8 +149,9 @@ return domain_list\n ...@@ -163,8 +149,9 @@ return domain_list\n
<string>request</string> <string>request</string>
<string>project_line_portal_type</string> <string>project_line_portal_type</string>
<string>domain_list</string> <string>domain_list</string>
<string>object_path</string>
<string>None</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>here</string>
<string>category_list</string> <string>category_list</string>
<string>parent_category_list</string> <string>parent_category_list</string>
<string>_getiter_</string> <string>_getiter_</string>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</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>_body</string> </key>
<value> <string>request = context.REQUEST\n
domain_list = []\n
object_path = request.get(\'object_path\')\n
if object_path is None:\n
object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
\n
search_path = \'\'.join(["%project_module/", object_path,"%"])\n
\n
if depth == 0:\n
category_list = []\n
for line in context.portal_catalog(path=search_path ):\n
category_list.extend([ i for i in line.getObject().getSourceProjectRelatedValueList() if i not in category_list])\n
\n
else:\n
return domain_list\n
\n
for category in category_list:\n
domain = parent.generateTempDomain(id = \'sub\' + category.getId() )\n
domain.edit(title = category.getTitle(),\n
membership_criterion_base_category = (\'source_project_related\', ), \n
membership_criterion_category = (category.getRelativeUrl(),),\n
domain_generator_method_id = script.id,\n
uid = category.getUid())\n
\n
domain_list.append(domain)\n
\n
return domain_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>depth, parent, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>depth</string>
<string>parent</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>request</string>
<string>domain_list</string>
<string>object_path</string>
<string>None</string>
<string>_getitem_</string>
<string>search_path</string>
<string>category_list</string>
<string>_getiter_</string>
<string>line</string>
<string>append</string>
<string>$append0</string>
<string>i</string>
<string>category</string>
<string>domain</string>
<string>script</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Project_generateTaskDomain</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</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>_body</string> </key>
<value> <string># Get the objects based on domain used\n
\n
selection_tool = context.portal_selections\n
selection = selection_tool.getSelectionFor(\'project_planning_selection\')\n
\n
def getSourceProjectRelatedValueList():\n
object_path = context.getRelativeUrl()\n
search_path = \'\'.join(["%", object_path,"%"])\n
return_list = []\n
for line in context.portal_catalog(path=search_path ):\n
return_list.extend([ i for i in line.getObject().getSourceProjectRelatedValueList(**kw) if i not in return_list])\n
return return_list\n
\n
if selection is not None:\n
if selection.report_path in [\'project_person_domain\' ]:\n
return context.getSourceProjectRelatedValueList(**kw)\n
\n
if selection.report_path in [\'project_person_task_report_domain\']:\n
# It was required filter to one specific portal type\n
kw[\'portal_type\'] = [\'Task Report\']\n
return context.getSourceProjectRelatedValueList(**kw)\n
\n
if selection.report_path in [\'project_project_domain\']:\n
return getSourceProjectRelatedValueList()\n
\n
if selection.report_path in [\'project_project_task_report_domain\']:\n
# It was required filter to one specific portal type\n
kw[\'portal_type\'] = [\'Task Report\']\n
return getSourceProjectRelatedValueList()\n
\n
\n
return context.searchFolder(**kw)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>**kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>selection_tool</string>
<string>selection</string>
<string>getSourceProjectRelatedValueList</string>
<string>None</string>
<string>_apply_</string>
<string>_write_</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Project_getPlanningBoxReportList</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -50,6 +50,12 @@ ...@@ -50,6 +50,12 @@
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item> <item>
<key> <string>encoding</string> </key> <key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value> <value> <string>UTF-8</string> </value>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
<string>Products.ERP5Form.ProxyField</string> <tuple/>
<string>ProxyField</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -18,6 +15,8 @@ ...@@ -18,6 +15,8 @@
<list> <list>
<string>title</string> <string>title</string>
<string>report_root_list</string> <string>report_root_list</string>
<string>portal_types</string>
<string>list_method</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -90,6 +89,31 @@ ...@@ -90,6 +89,31 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list>
<tuple>
<string>Task</string>
<string>Task</string>
</tuple>
<tuple>
<string>Project Line</string>
<string>Project Line</string>
</tuple>
<tuple>
<string>Project Milestone</string>
<string>Project Milestone</string>
</tuple>
</list>
</value>
</item>
<item> <item>
<key> <string>report_root_list</string> </key> <key> <string>report_root_list</string> </key>
<value> <value>
...@@ -98,6 +122,22 @@ ...@@ -98,6 +122,22 @@
<string>parent</string> <string>parent</string>
<string>Project Line</string> <string>Project Line</string>
</tuple> </tuple>
<tuple>
<string>project_person_domain</string>
<string>Tasks per Person</string>
</tuple>
<tuple>
<string>project_person_task_report_domain</string>
<string>Task Report per Person</string>
</tuple>
<tuple>
<string>project_project_domain</string>
<string>Tasks per Project Lines</string>
</tuple>
<tuple>
<string>project_project_task_report_domain</string>
<string>Task Report per Project Line</string>
</tuple>
</list> </list>
</value> </value>
</item> </item>
...@@ -115,4 +155,20 @@ ...@@ -115,4 +155,20 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<global name="Method" module="Products.Formulator.MethodField"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>Project_getPlanningBoxReportList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
2008-04-12 rafael
* added new domains for Project_viewPlanning
2008-03-28 Yusei 2008-03-28 Yusei
* Copy task's destination_decision value to task report. * Copy task's destination_decision value to task report.
......
464 465
\ No newline at end of file \ No newline at end of file
portal_deliveries/task_invoice_builder portal_deliveries/task_invoice_builder
portal_deliveries/task_report_builder portal_deliveries/task_report_builder
portal_domains/project_person_domain
portal_domains/project_person_task_report_domain
portal_domains/project_project_domain portal_domains/project_project_domain
portal_domains/project_project_task_report_domain
portal_domains/task_module_domain portal_domains/task_module_domain
portal_domains/task_module_person_domain portal_domains/task_module_person_domain
portal_domains/task_module_project_domain portal_domains/task_module_project_domain
......
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