Merged in bugfix/PMC-138 (pull request #7110)
PMC-138 Assigned user lost in case of Custom Import (Promotion Manager) Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
6440
tests/resources/GranularImporterTest.json
Normal file
6440
tests/resources/GranularImporterTest.json
Normal file
File diff suppressed because it is too large
Load Diff
1347
tests/resources/p1normal-1.pmx
Normal file
1347
tests/resources/p1normal-1.pmx
Normal file
File diff suppressed because it is too large
Load Diff
156
tests/resources/p1normalWithException-1.pmx
Normal file
156
tests/resources/p1normalWithException-1.pmx
Normal file
@@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ProcessMaker-Project version="3.0">
|
||||
<metadata>
|
||||
<meta key="vendor_version"><![CDATA[(Branch bugfix/PMC-138)]]></meta>
|
||||
<meta key="vendor_version_code">Michelangelo</meta>
|
||||
<meta key="export_timestamp">1571948720</meta>
|
||||
<meta key="export_datetime"><![CDATA[2019-10-24T20:25:20+00:00]]></meta>
|
||||
<meta key="export_server_addr"><![CDATA[172.16.3.67:8091]]></meta>
|
||||
<meta key="export_server_os">Linux</meta>
|
||||
<meta key="export_server_php_version">70132</meta>
|
||||
<meta key="workspace">workflow</meta>
|
||||
<meta key="name">p1normalWithException</meta>
|
||||
<meta key="uid">8881455415db208a91cf144066685122</meta>
|
||||
</metadata>
|
||||
<definition class="BPMN">
|
||||
<table name="ACTIVITY"/>
|
||||
<table name="ARTIFACT"/>
|
||||
<table name="BOUND"/>
|
||||
<table name="DATA"/>
|
||||
<table name="DIAGRAM">
|
||||
<record>
|
||||
<dia_uid>8820979315db208a91fd6c8053956230</dia_uid>
|
||||
<prj_uid>8881455415db208a91cf144066685122</prj_uid>
|
||||
<dia_name>p1normalWithException</dia_name>
|
||||
<dia_is_closable>0</dia_is_closable>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DOCUMENTATION"/>
|
||||
<table name="EVENT"/>
|
||||
<table name="EXTENSION"/>
|
||||
<table name="FLOW"/>
|
||||
<table name="GATEWAY"/>
|
||||
<table name="LANE"/>
|
||||
<table name="LANESET"/>
|
||||
<table name="PARTICIPANT"/>
|
||||
<table name="PROCESS">
|
||||
<record>
|
||||
<pro_uid>3930204045db208a92004a9028237855</pro_uid>
|
||||
<prj_uid>8881455415db208a91cf144066685122</prj_uid>
|
||||
<dia_uid>8820979315db208a91fd6c8053956230</dia_uid>
|
||||
<pro_name>p1normalWithException</pro_name>
|
||||
<pro_type>NONE</pro_type>
|
||||
<pro_is_executable>0</pro_is_executable>
|
||||
<pro_is_closed>0</pro_is_closed>
|
||||
<pro_is_subprocess>0</pro_is_subprocess>
|
||||
</record>
|
||||
</table>
|
||||
<table name="PROJECT">
|
||||
<record>
|
||||
<prj_uid>8881455415db208a91cf144066685122</prj_uid>
|
||||
<prj_name>p1normalWithException</prj_name>
|
||||
<prj_description></prj_description>
|
||||
<prj_target_namespace></prj_target_namespace>
|
||||
<prj_expresion_language></prj_expresion_language>
|
||||
<prj_type_language></prj_type_language>
|
||||
<prj_exporter></prj_exporter>
|
||||
<prj_exporter_version></prj_exporter_version>
|
||||
<prj_create_date><![CDATA[2019-10-24 20:25:13]]></prj_create_date>
|
||||
<prj_update_date></prj_update_date>
|
||||
<prj_author>6089564115db1b5c1377263061626288</prj_author>
|
||||
<prj_author_version></prj_author_version>
|
||||
<prj_original_source></prj_original_source>
|
||||
</record>
|
||||
</table>
|
||||
</definition>
|
||||
<definition class="workflow">
|
||||
<table name="process">
|
||||
<record>
|
||||
<pro_uid>8881455415db208a91cf144066685122</pro_uid>
|
||||
<pro_title>p1normalWithException</pro_title>
|
||||
<pro_description></pro_description>
|
||||
<pro_parent>8881455415db208a91cf144066685122</pro_parent>
|
||||
<pro_time>1</pro_time>
|
||||
<pro_timeunit>DAYS</pro_timeunit>
|
||||
<pro_status>ACTIVE</pro_status>
|
||||
<pro_status_id>1</pro_status_id>
|
||||
<pro_type_day></pro_type_day>
|
||||
<pro_type>NORMAL</pro_type>
|
||||
<pro_assignment>FALSE</pro_assignment>
|
||||
<pro_show_map>0</pro_show_map>
|
||||
<pro_show_message>0</pro_show_message>
|
||||
<pro_subprocess>0</pro_subprocess>
|
||||
<pro_tri_create></pro_tri_create>
|
||||
<pro_tri_open></pro_tri_open>
|
||||
<pro_tri_deleted></pro_tri_deleted>
|
||||
<pro_tri_canceled></pro_tri_canceled>
|
||||
<pro_tri_paused></pro_tri_paused>
|
||||
<pro_tri_reassigned></pro_tri_reassigned>
|
||||
<pro_tri_unpaused></pro_tri_unpaused>
|
||||
<pro_type_process>PUBLIC</pro_type_process>
|
||||
<pro_show_delegate>0</pro_show_delegate>
|
||||
<pro_show_dynaform>0</pro_show_dynaform>
|
||||
<pro_category></pro_category>
|
||||
<pro_sub_category></pro_sub_category>
|
||||
<pro_industry>0</pro_industry>
|
||||
<pro_update_date></pro_update_date>
|
||||
<pro_create_date><![CDATA[2019-10-24 20:25:13]]></pro_create_date>
|
||||
<pro_create_user>6089564115db1b5c1377263061626288</pro_create_user>
|
||||
<pro_height>5000</pro_height>
|
||||
<pro_width>10000</pro_width>
|
||||
<pro_title_x>0</pro_title_x>
|
||||
<pro_title_y>0</pro_title_y>
|
||||
<pro_debug>0</pro_debug>
|
||||
<pro_dynaforms></pro_dynaforms>
|
||||
<pro_derivation_screen_tpl></pro_derivation_screen_tpl>
|
||||
<pro_cost>0</pro_cost>
|
||||
<pro_unit_cost></pro_unit_cost>
|
||||
<pro_itee>1</pro_itee>
|
||||
<pro_action_done></pro_action_done>
|
||||
<category_id>0</category_id>
|
||||
<pro_category_label>No Category</pro_category_label>
|
||||
<pro_bpmn>1</pro_bpmn>
|
||||
</record>
|
||||
</table>
|
||||
<table name="tasks"/>
|
||||
<table name="routes"/>
|
||||
<table name="lanes"/>
|
||||
<table name="gateways"/>
|
||||
<table name="inputs"/>
|
||||
<table name="outputs"/>
|
||||
<table name="dynaforms"/>
|
||||
<table name="steps"/>
|
||||
<table name="triggers"/>
|
||||
<table name="taskusers"/>
|
||||
<table name="groupwfs"/>
|
||||
<table name="steptriggers"/>
|
||||
<table name="dbconnections"/>
|
||||
<table name="reportTables"/>
|
||||
<table name="reportTablesVars"/>
|
||||
<table name="stepSupervisor"/>
|
||||
<table name="objectPermissions"/>
|
||||
<table name="subProcess"/>
|
||||
<table name="caseTracker"/>
|
||||
<table name="caseTrackerObject"/>
|
||||
<table name="stage"/>
|
||||
<table name="fieldCondition"/>
|
||||
<table name="event"/>
|
||||
<table name="caseScheduler"/>
|
||||
<table name="processCategory"/>
|
||||
<table name="taskExtraProperties"/>
|
||||
<table name="processUser"/>
|
||||
<table name="processVariables"/>
|
||||
<table name="webEntry"/>
|
||||
<table name="webEntryEvent"/>
|
||||
<table name="messageType"/>
|
||||
<table name="messageTypeVariable"/>
|
||||
<table name="messageEventDefinition"/>
|
||||
<table name="scriptTask"/>
|
||||
<table name="timerEvent"/>
|
||||
<table name="emailEvent"/>
|
||||
<table name="filesManager"/>
|
||||
<table name="abeConfiguration"/>
|
||||
<table name="elementTask"/>
|
||||
</definition>
|
||||
<workflow-files/>
|
||||
</ProcessMaker-Project>
|
||||
457
tests/resources/p1normalWithoutTitle-1.pmx
Normal file
457
tests/resources/p1normalWithoutTitle-1.pmx
Normal file
@@ -0,0 +1,457 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ProcessMaker-Project version="3.0">
|
||||
<metadata>
|
||||
<meta key="vendor_version"><![CDATA[(Branch bugfix/PMC-138)]]></meta>
|
||||
<meta key="vendor_version_code">Michelangelo</meta>
|
||||
<meta key="export_timestamp">1571952775</meta>
|
||||
<meta key="export_datetime"><![CDATA[2019-10-24T21:32:55+00:00]]></meta>
|
||||
<meta key="export_server_addr"><![CDATA[172.16.3.67:8091]]></meta>
|
||||
<meta key="export_server_os">Linux</meta>
|
||||
<meta key="export_server_php_version">70132</meta>
|
||||
<meta key="workspace">workflow</meta>
|
||||
<meta key="name">p1normalWithoutTitle</meta>
|
||||
<meta key="uid">2478934075db21861883091023775646</meta>
|
||||
</metadata>
|
||||
<definition class="BPMN">
|
||||
<table name="ACTIVITY">
|
||||
<record>
|
||||
<act_uid>8121252905db218785abec1096943718</act_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<act_name>Task 1</act_name>
|
||||
<act_type>TASK</act_type>
|
||||
<act_is_for_compensation>0</act_is_for_compensation>
|
||||
<act_start_quantity>1</act_start_quantity>
|
||||
<act_completion_quantity>0</act_completion_quantity>
|
||||
<act_task_type>EMPTY</act_task_type>
|
||||
<act_implementation></act_implementation>
|
||||
<act_instantiate>0</act_instantiate>
|
||||
<act_script_type></act_script_type>
|
||||
<act_script></act_script>
|
||||
<act_loop_type>EMPTY</act_loop_type>
|
||||
<act_test_before>0</act_test_before>
|
||||
<act_loop_maximum>0</act_loop_maximum>
|
||||
<act_loop_condition>0</act_loop_condition>
|
||||
<act_loop_cardinality>0</act_loop_cardinality>
|
||||
<act_loop_behavior>0</act_loop_behavior>
|
||||
<act_is_adhoc>0</act_is_adhoc>
|
||||
<act_is_collapsed>0</act_is_collapsed>
|
||||
<act_completion_condition>0</act_completion_condition>
|
||||
<act_ordering>0</act_ordering>
|
||||
<act_cancel_remaining_instances>1</act_cancel_remaining_instances>
|
||||
<act_protocol>0</act_protocol>
|
||||
<act_method>0</act_method>
|
||||
<act_is_global>0</act_is_global>
|
||||
<act_referer>0</act_referer>
|
||||
<act_default_flow>0</act_default_flow>
|
||||
<act_master_diagram>0</act_master_diagram>
|
||||
<bou_uid>8364747905db218785b7404015959810</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>8121252905db218785abec1096943718</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>180</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="ARTIFACT"/>
|
||||
<table name="BOUND">
|
||||
<record>
|
||||
<bou_uid>2283183075db218786549c5095832051</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>4205250135db2187864df85018323241</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>378</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>7810988885db21878637855082875408</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>9473649565db2187862a5f7053654507</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>8364747905db218785b7404015959810</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>8121252905db218785abec1096943718</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>180</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DATA"/>
|
||||
<table name="DIAGRAM">
|
||||
<record>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_name>p1normalWithoutTitle</dia_name>
|
||||
<dia_is_closable>0</dia_is_closable>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DOCUMENTATION"/>
|
||||
<table name="EVENT">
|
||||
<record>
|
||||
<evn_uid>4205250135db2187864df85018323241</evn_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>END</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message></evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>THROW</evn_behavior>
|
||||
<bou_uid>2283183075db218786549c5095832051</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>4205250135db2187864df85018323241</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>378</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<evn_uid>9473649565db2187862a5f7053654507</evn_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>START</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message>LEAD</evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>CATCH</evn_behavior>
|
||||
<bou_uid>7810988885db21878637855082875408</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>9473649565db2187862a5f7053654507</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="EXTENSION"/>
|
||||
<table name="FLOW">
|
||||
<record>
|
||||
<flo_uid>1154017545db21878680728046544809</flo_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>9473649565db2187862a5f7053654507</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnEvent</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>8121252905db218785abec1096943718</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnActivity</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>133</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>180</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":133,"y":117},{"x":180,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
<record>
|
||||
<flo_uid>4538701885db21878683a20080373564</flo_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>8121252905db218785abec1096943718</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnActivity</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>4205250135db2187864df85018323241</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnEvent</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>331</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>378</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":331,"y":117},{"x":378,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
</table>
|
||||
<table name="GATEWAY"/>
|
||||
<table name="LANE"/>
|
||||
<table name="LANESET"/>
|
||||
<table name="PARTICIPANT"/>
|
||||
<table name="PROCESS">
|
||||
<record>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<pro_name>p1normalWithoutTitle</pro_name>
|
||||
<pro_type>NONE</pro_type>
|
||||
<pro_is_executable>0</pro_is_executable>
|
||||
<pro_is_closed>0</pro_is_closed>
|
||||
<pro_is_subprocess>0</pro_is_subprocess>
|
||||
</record>
|
||||
</table>
|
||||
<table name="PROJECT">
|
||||
<record>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<prj_name>p1normalWithoutTitle</prj_name>
|
||||
<prj_description></prj_description>
|
||||
<prj_target_namespace></prj_target_namespace>
|
||||
<prj_expresion_language></prj_expresion_language>
|
||||
<prj_type_language></prj_type_language>
|
||||
<prj_exporter></prj_exporter>
|
||||
<prj_exporter_version></prj_exporter_version>
|
||||
<prj_create_date><![CDATA[2019-10-24 21:32:17]]></prj_create_date>
|
||||
<prj_update_date><![CDATA[2019-10-24 21:32:46]]></prj_update_date>
|
||||
<prj_author>00000000000000000000000000000001</prj_author>
|
||||
<prj_author_version></prj_author_version>
|
||||
<prj_original_source></prj_original_source>
|
||||
</record>
|
||||
</table>
|
||||
</definition>
|
||||
<definition class="workflow">
|
||||
<table name="process">
|
||||
<record>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<pro_title>p1normalWithoutTitle</pro_title>
|
||||
<pro_description></pro_description>
|
||||
<pro_parent>2478934075db21861883091023775646</pro_parent>
|
||||
<pro_time>1</pro_time>
|
||||
<pro_timeunit>DAYS</pro_timeunit>
|
||||
<pro_status>ACTIVE</pro_status>
|
||||
<pro_status_id>1</pro_status_id>
|
||||
<pro_type_day></pro_type_day>
|
||||
<pro_type>NORMAL</pro_type>
|
||||
<pro_assignment>FALSE</pro_assignment>
|
||||
<pro_show_map>0</pro_show_map>
|
||||
<pro_show_message>0</pro_show_message>
|
||||
<pro_subprocess>0</pro_subprocess>
|
||||
<pro_tri_create></pro_tri_create>
|
||||
<pro_tri_open></pro_tri_open>
|
||||
<pro_tri_deleted></pro_tri_deleted>
|
||||
<pro_tri_canceled></pro_tri_canceled>
|
||||
<pro_tri_paused></pro_tri_paused>
|
||||
<pro_tri_reassigned></pro_tri_reassigned>
|
||||
<pro_tri_unpaused></pro_tri_unpaused>
|
||||
<pro_type_process>PUBLIC</pro_type_process>
|
||||
<pro_show_delegate>0</pro_show_delegate>
|
||||
<pro_show_dynaform>0</pro_show_dynaform>
|
||||
<pro_category></pro_category>
|
||||
<pro_sub_category></pro_sub_category>
|
||||
<pro_industry>0</pro_industry>
|
||||
<pro_update_date><![CDATA[2019-10-24 21:32:46]]></pro_update_date>
|
||||
<pro_create_date><![CDATA[2019-10-24 21:32:17]]></pro_create_date>
|
||||
<pro_create_user>00000000000000000000000000000001</pro_create_user>
|
||||
<pro_height>5000</pro_height>
|
||||
<pro_width>10000</pro_width>
|
||||
<pro_title_x>0</pro_title_x>
|
||||
<pro_title_y>0</pro_title_y>
|
||||
<pro_debug>0</pro_debug>
|
||||
<pro_dynaforms></pro_dynaforms>
|
||||
<pro_derivation_screen_tpl></pro_derivation_screen_tpl>
|
||||
<pro_cost>0</pro_cost>
|
||||
<pro_unit_cost></pro_unit_cost>
|
||||
<pro_itee>1</pro_itee>
|
||||
<pro_action_done><![CDATA[a:1:{i:0;s:41:"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS";}]]></pro_action_done>
|
||||
<category_id>0</category_id>
|
||||
<pro_category_label>No Category</pro_category_label>
|
||||
<pro_bpmn>1</pro_bpmn>
|
||||
</record>
|
||||
</table>
|
||||
<table name="tasks">
|
||||
<record>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<pro_id>0</pro_id>
|
||||
<tas_uid>8121252905db218785abec1096943718</tas_uid>
|
||||
<tas_title>Task 1</tas_title>
|
||||
<tas_description></tas_description>
|
||||
<tas_def_title></tas_def_title>
|
||||
<tas_def_subject_message></tas_def_subject_message>
|
||||
<tas_def_proc_code></tas_def_proc_code>
|
||||
<tas_def_message></tas_def_message>
|
||||
<tas_def_description></tas_def_description>
|
||||
<tas_type>NORMAL</tas_type>
|
||||
<tas_duration>1</tas_duration>
|
||||
<tas_delay_type></tas_delay_type>
|
||||
<tas_temporizer>0</tas_temporizer>
|
||||
<tas_type_day></tas_type_day>
|
||||
<tas_timeunit>DAYS</tas_timeunit>
|
||||
<tas_alert>FALSE</tas_alert>
|
||||
<tas_priority_variable></tas_priority_variable>
|
||||
<tas_assign_type>BALANCED</tas_assign_type>
|
||||
<tas_assign_variable><![CDATA[@@SYS_NEXT_USER_TO_BE_ASSIGNED]]></tas_assign_variable>
|
||||
<tas_group_variable></tas_group_variable>
|
||||
<tas_mi_instance_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCE]]></tas_mi_instance_variable>
|
||||
<tas_mi_complete_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCES_COMPLETE]]></tas_mi_complete_variable>
|
||||
<tas_assign_location>FALSE</tas_assign_location>
|
||||
<tas_assign_location_adhoc>FALSE</tas_assign_location_adhoc>
|
||||
<tas_transfer_fly>FALSE</tas_transfer_fly>
|
||||
<tas_last_assigned>0</tas_last_assigned>
|
||||
<tas_user>0</tas_user>
|
||||
<tas_can_upload>FALSE</tas_can_upload>
|
||||
<tas_view_upload>FALSE</tas_view_upload>
|
||||
<tas_view_additional_documentation>FALSE</tas_view_additional_documentation>
|
||||
<tas_can_cancel>FALSE</tas_can_cancel>
|
||||
<tas_owner_app>FALSE</tas_owner_app>
|
||||
<stg_uid></stg_uid>
|
||||
<tas_can_pause>FALSE</tas_can_pause>
|
||||
<tas_can_send_message>TRUE</tas_can_send_message>
|
||||
<tas_can_delete_docs>FALSE</tas_can_delete_docs>
|
||||
<tas_self_service>FALSE</tas_self_service>
|
||||
<tas_start>TRUE</tas_start>
|
||||
<tas_to_last_user>FALSE</tas_to_last_user>
|
||||
<tas_send_last_email>FALSE</tas_send_last_email>
|
||||
<tas_derivation>NORMAL</tas_derivation>
|
||||
<tas_posx>180</tas_posx>
|
||||
<tas_posy>79</tas_posy>
|
||||
<tas_width>110</tas_width>
|
||||
<tas_height>60</tas_height>
|
||||
<tas_color></tas_color>
|
||||
<tas_evn_uid></tas_evn_uid>
|
||||
<tas_boundary></tas_boundary>
|
||||
<tas_derivation_screen_tpl></tas_derivation_screen_tpl>
|
||||
<tas_selfservice_timeout>0</tas_selfservice_timeout>
|
||||
<tas_selfservice_time>0</tas_selfservice_time>
|
||||
<tas_selfservice_time_unit></tas_selfservice_time_unit>
|
||||
<tas_selfservice_trigger_uid></tas_selfservice_trigger_uid>
|
||||
<tas_selfservice_execution>EVERY_TIME</tas_selfservice_execution>
|
||||
<tas_not_email_from_format>0</tas_not_email_from_format>
|
||||
<tas_offline>FALSE</tas_offline>
|
||||
<tas_email_server_uid></tas_email_server_uid>
|
||||
<tas_auto_root>FALSE</tas_auto_root>
|
||||
<tas_receive_server_uid></tas_receive_server_uid>
|
||||
<tas_receive_last_email>FALSE</tas_receive_last_email>
|
||||
<tas_receive_email_from_format>0</tas_receive_email_from_format>
|
||||
<tas_receive_message_type>text</tas_receive_message_type>
|
||||
<tas_receive_message_template>alert_message.html</tas_receive_message_template>
|
||||
<tas_receive_subject_message></tas_receive_subject_message>
|
||||
<tas_receive_message></tas_receive_message>
|
||||
<tas_average></tas_average>
|
||||
<tas_sdv></tas_sdv>
|
||||
</record>
|
||||
</table>
|
||||
<table name="routes">
|
||||
<record>
|
||||
<rou_uid>3616902375db2187ea8ff68051664528</rou_uid>
|
||||
<rou_parent>0</rou_parent>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<tas_uid>8121252905db218785abec1096943718</tas_uid>
|
||||
<rou_next_task>-1</rou_next_task>
|
||||
<rou_case>1</rou_case>
|
||||
<rou_type>SEQUENTIAL</rou_type>
|
||||
<rou_default>0</rou_default>
|
||||
<rou_condition></rou_condition>
|
||||
<rou_to_last_user>FALSE</rou_to_last_user>
|
||||
<rou_optional>FALSE</rou_optional>
|
||||
<rou_send_email>TRUE</rou_send_email>
|
||||
<rou_sourceanchor>1</rou_sourceanchor>
|
||||
<rou_targetanchor>0</rou_targetanchor>
|
||||
<rou_to_port>1</rou_to_port>
|
||||
<rou_from_port>2</rou_from_port>
|
||||
<rou_evn_uid></rou_evn_uid>
|
||||
<gat_uid></gat_uid>
|
||||
</record>
|
||||
</table>
|
||||
<table name="lanes"/>
|
||||
<table name="gateways"/>
|
||||
<table name="inputs"/>
|
||||
<table name="outputs"/>
|
||||
<table name="dynaforms"/>
|
||||
<table name="steps"/>
|
||||
<table name="triggers"/>
|
||||
<table name="taskusers"/>
|
||||
<table name="groupwfs"/>
|
||||
<table name="steptriggers"/>
|
||||
<table name="dbconnections"/>
|
||||
<table name="reportTables"/>
|
||||
<table name="reportTablesVars"/>
|
||||
<table name="stepSupervisor"/>
|
||||
<table name="objectPermissions"/>
|
||||
<table name="subProcess"/>
|
||||
<table name="caseTracker"/>
|
||||
<table name="caseTrackerObject"/>
|
||||
<table name="stage"/>
|
||||
<table name="fieldCondition"/>
|
||||
<table name="event"/>
|
||||
<table name="caseScheduler"/>
|
||||
<table name="processCategory"/>
|
||||
<table name="taskExtraProperties"/>
|
||||
<table name="processUser"/>
|
||||
<table name="processVariables"/>
|
||||
<table name="webEntry"/>
|
||||
<table name="webEntryEvent"/>
|
||||
<table name="messageType"/>
|
||||
<table name="messageTypeVariable"/>
|
||||
<table name="messageEventDefinition"/>
|
||||
<table name="scriptTask"/>
|
||||
<table name="timerEvent"/>
|
||||
<table name="emailEvent"/>
|
||||
<table name="filesManager"/>
|
||||
<table name="abeConfiguration"/>
|
||||
<table name="elementTask"/>
|
||||
</definition>
|
||||
<workflow-files/>
|
||||
</ProcessMaker-Project>
|
||||
458
tests/resources/p1normalWithoutTitle2-1.pmx
Normal file
458
tests/resources/p1normalWithoutTitle2-1.pmx
Normal file
@@ -0,0 +1,458 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ProcessMaker-Project version="3.0">
|
||||
<metadata>
|
||||
<meta key="vendor_version"><![CDATA[(Branch bugfix/PMC-138)]]></meta>
|
||||
<meta key="vendor_version_code">Michelangelo</meta>
|
||||
<meta key="export_timestamp">1571953275</meta>
|
||||
<meta key="export_datetime"><![CDATA[2019-10-24T21:41:15+00:00]]></meta>
|
||||
<meta key="export_server_addr"><![CDATA[172.16.3.67:8091]]></meta>
|
||||
<meta key="export_server_os">Linux</meta>
|
||||
<meta key="export_server_php_version">70132</meta>
|
||||
<meta key="export_version">1</meta>
|
||||
<meta key="workspace">workflow</meta>
|
||||
<meta key="name">p1normalWithoutTitle2</meta>
|
||||
<meta key="uid">2478934075db21861883091023775646</meta>
|
||||
</metadata>
|
||||
<definition class="BPMN">
|
||||
<table name="ACTIVITY">
|
||||
<record>
|
||||
<act_uid>8121252905db218785abec1096943718</act_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<act_name>Task 1</act_name>
|
||||
<act_type>TASK</act_type>
|
||||
<act_is_for_compensation>0</act_is_for_compensation>
|
||||
<act_start_quantity>1</act_start_quantity>
|
||||
<act_completion_quantity>0</act_completion_quantity>
|
||||
<act_task_type>EMPTY</act_task_type>
|
||||
<act_implementation></act_implementation>
|
||||
<act_instantiate>0</act_instantiate>
|
||||
<act_script_type></act_script_type>
|
||||
<act_script></act_script>
|
||||
<act_loop_type>EMPTY</act_loop_type>
|
||||
<act_test_before>0</act_test_before>
|
||||
<act_loop_maximum>0</act_loop_maximum>
|
||||
<act_loop_condition>0</act_loop_condition>
|
||||
<act_loop_cardinality>0</act_loop_cardinality>
|
||||
<act_loop_behavior>0</act_loop_behavior>
|
||||
<act_is_adhoc>0</act_is_adhoc>
|
||||
<act_is_collapsed>0</act_is_collapsed>
|
||||
<act_completion_condition>0</act_completion_condition>
|
||||
<act_ordering>0</act_ordering>
|
||||
<act_cancel_remaining_instances>1</act_cancel_remaining_instances>
|
||||
<act_protocol>0</act_protocol>
|
||||
<act_method>0</act_method>
|
||||
<act_is_global>0</act_is_global>
|
||||
<act_referer>0</act_referer>
|
||||
<act_default_flow>0</act_default_flow>
|
||||
<act_master_diagram>0</act_master_diagram>
|
||||
<bou_uid>8364747905db218785b7404015959810</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>8121252905db218785abec1096943718</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>180</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="ARTIFACT"/>
|
||||
<table name="BOUND">
|
||||
<record>
|
||||
<bou_uid>2283183075db218786549c5095832051</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>4205250135db2187864df85018323241</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>378</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>7810988885db21878637855082875408</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>9473649565db2187862a5f7053654507</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>8364747905db218785b7404015959810</bou_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>8121252905db218785abec1096943718</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>180</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DATA"/>
|
||||
<table name="DIAGRAM">
|
||||
<record>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_name>p1normalWithoutTitle</dia_name>
|
||||
<dia_is_closable>0</dia_is_closable>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DOCUMENTATION"/>
|
||||
<table name="EVENT">
|
||||
<record>
|
||||
<evn_uid>4205250135db2187864df85018323241</evn_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>END</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message></evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>THROW</evn_behavior>
|
||||
<bou_uid>2283183075db218786549c5095832051</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>4205250135db2187864df85018323241</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>378</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<evn_uid>9473649565db2187862a5f7053654507</evn_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>START</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message>LEAD</evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>CATCH</evn_behavior>
|
||||
<bou_uid>7810988885db21878637855082875408</bou_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<element_uid>9473649565db2187862a5f7053654507</element_uid>
|
||||
<bou_element>4784291195db21862519f69041420620</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="EXTENSION"/>
|
||||
<table name="FLOW">
|
||||
<record>
|
||||
<flo_uid>1154017545db21878680728046544809</flo_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>9473649565db2187862a5f7053654507</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnEvent</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>8121252905db218785abec1096943718</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnActivity</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>133</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>180</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":133,"y":117},{"x":180,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
<record>
|
||||
<flo_uid>4538701885db21878683a20080373564</flo_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>8121252905db218785abec1096943718</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnActivity</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>4205250135db2187864df85018323241</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnEvent</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>331</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>378</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":331,"y":117},{"x":378,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
</table>
|
||||
<table name="GATEWAY"/>
|
||||
<table name="LANE"/>
|
||||
<table name="LANESET"/>
|
||||
<table name="PARTICIPANT"/>
|
||||
<table name="PROCESS">
|
||||
<record>
|
||||
<pro_uid>9720974155db218618a7ea7026775087</pro_uid>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<dia_uid>5898396935db218618a4c53034929820</dia_uid>
|
||||
<pro_name>p1normalWithoutTitle2</pro_name>
|
||||
<pro_type>NONE</pro_type>
|
||||
<pro_is_executable>0</pro_is_executable>
|
||||
<pro_is_closed>0</pro_is_closed>
|
||||
<pro_is_subprocess>0</pro_is_subprocess>
|
||||
</record>
|
||||
</table>
|
||||
<table name="PROJECT">
|
||||
<record>
|
||||
<prj_uid>2478934075db21861883091023775646</prj_uid>
|
||||
<prj_name>p1normalWithoutTitle2</prj_name>
|
||||
<prj_description></prj_description>
|
||||
<prj_target_namespace></prj_target_namespace>
|
||||
<prj_expresion_language></prj_expresion_language>
|
||||
<prj_type_language></prj_type_language>
|
||||
<prj_exporter></prj_exporter>
|
||||
<prj_exporter_version></prj_exporter_version>
|
||||
<prj_create_date><![CDATA[2019-10-24 21:32:17]]></prj_create_date>
|
||||
<prj_update_date><![CDATA[2019-10-24 21:32:46]]></prj_update_date>
|
||||
<prj_author>00000000000000000000000000000001</prj_author>
|
||||
<prj_author_version></prj_author_version>
|
||||
<prj_original_source></prj_original_source>
|
||||
</record>
|
||||
</table>
|
||||
</definition>
|
||||
<definition class="workflow">
|
||||
<table name="process">
|
||||
<record>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<pro_title>p1normalWithoutTitle2</pro_title>
|
||||
<pro_description></pro_description>
|
||||
<pro_parent>2478934075db21861883091023775646</pro_parent>
|
||||
<pro_time>1</pro_time>
|
||||
<pro_timeunit>DAYS</pro_timeunit>
|
||||
<pro_status>ACTIVE</pro_status>
|
||||
<pro_status_id>1</pro_status_id>
|
||||
<pro_type_day></pro_type_day>
|
||||
<pro_type>NORMAL</pro_type>
|
||||
<pro_assignment>FALSE</pro_assignment>
|
||||
<pro_show_map>0</pro_show_map>
|
||||
<pro_show_message>0</pro_show_message>
|
||||
<pro_subprocess>0</pro_subprocess>
|
||||
<pro_tri_create></pro_tri_create>
|
||||
<pro_tri_open></pro_tri_open>
|
||||
<pro_tri_deleted></pro_tri_deleted>
|
||||
<pro_tri_canceled></pro_tri_canceled>
|
||||
<pro_tri_paused></pro_tri_paused>
|
||||
<pro_tri_reassigned></pro_tri_reassigned>
|
||||
<pro_tri_unpaused></pro_tri_unpaused>
|
||||
<pro_type_process>PUBLIC</pro_type_process>
|
||||
<pro_show_delegate>0</pro_show_delegate>
|
||||
<pro_show_dynaform>0</pro_show_dynaform>
|
||||
<pro_category></pro_category>
|
||||
<pro_sub_category></pro_sub_category>
|
||||
<pro_industry>0</pro_industry>
|
||||
<pro_update_date></pro_update_date>
|
||||
<pro_create_date><![CDATA[2019-10-24 21:32:17]]></pro_create_date>
|
||||
<pro_create_user>00000000000000000000000000000001</pro_create_user>
|
||||
<pro_height>5000</pro_height>
|
||||
<pro_width>10000</pro_width>
|
||||
<pro_title_x>0</pro_title_x>
|
||||
<pro_title_y>0</pro_title_y>
|
||||
<pro_debug>0</pro_debug>
|
||||
<pro_dynaforms><![CDATA[a:1:{s:7:"PROCESS";s:0:"";}]]></pro_dynaforms>
|
||||
<pro_derivation_screen_tpl></pro_derivation_screen_tpl>
|
||||
<pro_cost>0</pro_cost>
|
||||
<pro_unit_cost><![CDATA[$]]></pro_unit_cost>
|
||||
<pro_itee>1</pro_itee>
|
||||
<pro_action_done><![CDATA[a:1:{i:0;s:41:"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS";}]]></pro_action_done>
|
||||
<category_id>0</category_id>
|
||||
<pro_category_label>No Category</pro_category_label>
|
||||
<pro_bpmn>1</pro_bpmn>
|
||||
</record>
|
||||
</table>
|
||||
<table name="tasks">
|
||||
<record>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<pro_id>0</pro_id>
|
||||
<tas_uid>8121252905db218785abec1096943718</tas_uid>
|
||||
<tas_title>Task 1</tas_title>
|
||||
<tas_description></tas_description>
|
||||
<tas_def_title></tas_def_title>
|
||||
<tas_def_subject_message></tas_def_subject_message>
|
||||
<tas_def_proc_code></tas_def_proc_code>
|
||||
<tas_def_message></tas_def_message>
|
||||
<tas_def_description></tas_def_description>
|
||||
<tas_type>NORMAL</tas_type>
|
||||
<tas_duration>1</tas_duration>
|
||||
<tas_delay_type></tas_delay_type>
|
||||
<tas_temporizer>0</tas_temporizer>
|
||||
<tas_type_day></tas_type_day>
|
||||
<tas_timeunit>DAYS</tas_timeunit>
|
||||
<tas_alert>FALSE</tas_alert>
|
||||
<tas_priority_variable></tas_priority_variable>
|
||||
<tas_assign_type>BALANCED</tas_assign_type>
|
||||
<tas_assign_variable><![CDATA[@@SYS_NEXT_USER_TO_BE_ASSIGNED]]></tas_assign_variable>
|
||||
<tas_group_variable></tas_group_variable>
|
||||
<tas_mi_instance_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCE]]></tas_mi_instance_variable>
|
||||
<tas_mi_complete_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCES_COMPLETE]]></tas_mi_complete_variable>
|
||||
<tas_assign_location>FALSE</tas_assign_location>
|
||||
<tas_assign_location_adhoc>FALSE</tas_assign_location_adhoc>
|
||||
<tas_transfer_fly>FALSE</tas_transfer_fly>
|
||||
<tas_last_assigned>0</tas_last_assigned>
|
||||
<tas_user>0</tas_user>
|
||||
<tas_can_upload>FALSE</tas_can_upload>
|
||||
<tas_view_upload>FALSE</tas_view_upload>
|
||||
<tas_view_additional_documentation>FALSE</tas_view_additional_documentation>
|
||||
<tas_can_cancel>FALSE</tas_can_cancel>
|
||||
<tas_owner_app>FALSE</tas_owner_app>
|
||||
<stg_uid></stg_uid>
|
||||
<tas_can_pause>FALSE</tas_can_pause>
|
||||
<tas_can_send_message>TRUE</tas_can_send_message>
|
||||
<tas_can_delete_docs>FALSE</tas_can_delete_docs>
|
||||
<tas_self_service>FALSE</tas_self_service>
|
||||
<tas_start>TRUE</tas_start>
|
||||
<tas_to_last_user>FALSE</tas_to_last_user>
|
||||
<tas_send_last_email>FALSE</tas_send_last_email>
|
||||
<tas_derivation>NORMAL</tas_derivation>
|
||||
<tas_posx>180</tas_posx>
|
||||
<tas_posy>79</tas_posy>
|
||||
<tas_width>110</tas_width>
|
||||
<tas_height>60</tas_height>
|
||||
<tas_color></tas_color>
|
||||
<tas_evn_uid></tas_evn_uid>
|
||||
<tas_boundary></tas_boundary>
|
||||
<tas_derivation_screen_tpl></tas_derivation_screen_tpl>
|
||||
<tas_selfservice_timeout>0</tas_selfservice_timeout>
|
||||
<tas_selfservice_time>0</tas_selfservice_time>
|
||||
<tas_selfservice_time_unit></tas_selfservice_time_unit>
|
||||
<tas_selfservice_trigger_uid></tas_selfservice_trigger_uid>
|
||||
<tas_selfservice_execution>EVERY_TIME</tas_selfservice_execution>
|
||||
<tas_not_email_from_format>0</tas_not_email_from_format>
|
||||
<tas_offline>FALSE</tas_offline>
|
||||
<tas_email_server_uid></tas_email_server_uid>
|
||||
<tas_auto_root>FALSE</tas_auto_root>
|
||||
<tas_receive_server_uid></tas_receive_server_uid>
|
||||
<tas_receive_last_email>FALSE</tas_receive_last_email>
|
||||
<tas_receive_email_from_format>0</tas_receive_email_from_format>
|
||||
<tas_receive_message_type>text</tas_receive_message_type>
|
||||
<tas_receive_message_template>alert_message.html</tas_receive_message_template>
|
||||
<tas_receive_subject_message></tas_receive_subject_message>
|
||||
<tas_receive_message></tas_receive_message>
|
||||
<tas_average></tas_average>
|
||||
<tas_sdv></tas_sdv>
|
||||
</record>
|
||||
</table>
|
||||
<table name="routes">
|
||||
<record>
|
||||
<rou_uid>3616902375db2187ea8ff68051664528</rou_uid>
|
||||
<rou_parent>0</rou_parent>
|
||||
<pro_uid>2478934075db21861883091023775646</pro_uid>
|
||||
<tas_uid>8121252905db218785abec1096943718</tas_uid>
|
||||
<rou_next_task>-1</rou_next_task>
|
||||
<rou_case>1</rou_case>
|
||||
<rou_type>SEQUENTIAL</rou_type>
|
||||
<rou_default>0</rou_default>
|
||||
<rou_condition></rou_condition>
|
||||
<rou_to_last_user>FALSE</rou_to_last_user>
|
||||
<rou_optional>FALSE</rou_optional>
|
||||
<rou_send_email>TRUE</rou_send_email>
|
||||
<rou_sourceanchor>1</rou_sourceanchor>
|
||||
<rou_targetanchor>0</rou_targetanchor>
|
||||
<rou_to_port>1</rou_to_port>
|
||||
<rou_from_port>2</rou_from_port>
|
||||
<rou_evn_uid></rou_evn_uid>
|
||||
<gat_uid></gat_uid>
|
||||
</record>
|
||||
</table>
|
||||
<table name="lanes"/>
|
||||
<table name="gateways"/>
|
||||
<table name="inputs"/>
|
||||
<table name="outputs"/>
|
||||
<table name="dynaforms"/>
|
||||
<table name="steps"/>
|
||||
<table name="triggers"/>
|
||||
<table name="taskusers"/>
|
||||
<table name="groupwfs"/>
|
||||
<table name="steptriggers"/>
|
||||
<table name="dbconnections"/>
|
||||
<table name="reportTables"/>
|
||||
<table name="reportTablesVars"/>
|
||||
<table name="stepSupervisor"/>
|
||||
<table name="objectPermissions"/>
|
||||
<table name="subProcess"/>
|
||||
<table name="caseTracker"/>
|
||||
<table name="caseTrackerObject"/>
|
||||
<table name="stage"/>
|
||||
<table name="fieldCondition"/>
|
||||
<table name="event"/>
|
||||
<table name="caseScheduler"/>
|
||||
<table name="processCategory"/>
|
||||
<table name="taskExtraProperties"/>
|
||||
<table name="processUser"/>
|
||||
<table name="processVariables"/>
|
||||
<table name="webEntry"/>
|
||||
<table name="webEntryEvent"/>
|
||||
<table name="messageType"/>
|
||||
<table name="messageTypeVariable"/>
|
||||
<table name="messageEventDefinition"/>
|
||||
<table name="scriptTask"/>
|
||||
<table name="timerEvent"/>
|
||||
<table name="emailEvent"/>
|
||||
<table name="filesManager"/>
|
||||
<table name="abeConfiguration"/>
|
||||
<table name="elementTask"/>
|
||||
</definition>
|
||||
<workflow-files/>
|
||||
</ProcessMaker-Project>
|
||||
58
tests/resources/p2custom-1-ObjectsToImport.json
Normal file
58
tests/resources/p2custom-1-ObjectsToImport.json
Normal file
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"id": "PROCESSDEFINITION",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "ASSIGNMENTRULES",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "VARIABLES",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "DYNAFORMS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "INPUTDOCUMENTS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "OUTPUTDOCUMENTS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "TRIGGERS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "REPORTTABLES",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "TEMPLATES",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "FILES",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "DBCONNECTION",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "PERMISSIONS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "SUPERVISORS",
|
||||
"action": "replace"
|
||||
},
|
||||
{
|
||||
"id": "SUPERVISORSOBJECTS",
|
||||
"action": "replace"
|
||||
}
|
||||
]
|
||||
1332
tests/resources/p2custom-1.pmx2
Normal file
1332
tests/resources/p2custom-1.pmx2
Normal file
File diff suppressed because it is too large
Load Diff
210
tests/resources/projectData.json
Normal file
210
tests/resources/projectData.json
Normal file
@@ -0,0 +1,210 @@
|
||||
{
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"prj_name": "createBPMN",
|
||||
"prj_description": "test",
|
||||
"prj_target_namespace": "",
|
||||
"prj_expresion_language": "",
|
||||
"prj_type_language": "",
|
||||
"prj_exporter": "",
|
||||
"prj_exporter_version": "",
|
||||
"prj_create_date": "2019-10-30 14:30:01",
|
||||
"prj_update_date": "2019-10-30 14:30:10",
|
||||
"prj_author": "00000000000000000000000000000001",
|
||||
"prj_author_version": "",
|
||||
"prj_original_source": "",
|
||||
"prj_type": "NONE",
|
||||
"prj_category": "test",
|
||||
"pro_status": "ACTIVE",
|
||||
"diagrams": [
|
||||
{
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"dia_name": "createBPMN",
|
||||
"dia_is_closable": "0",
|
||||
"activities": [
|
||||
{
|
||||
"act_uid": "5165535925db99e72bcae07068945328",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"pro_uid": "9258990045db99e69c08f67059175864",
|
||||
"act_name": "Task 1",
|
||||
"act_type": "TASK",
|
||||
"act_is_for_compensation": "0",
|
||||
"act_start_quantity": "1",
|
||||
"act_completion_quantity": "0",
|
||||
"act_task_type": "EMPTY",
|
||||
"act_implementation": "",
|
||||
"act_instantiate": "0",
|
||||
"act_script_type": "",
|
||||
"act_script": "",
|
||||
"act_loop_type": "EMPTY",
|
||||
"act_test_before": "0",
|
||||
"act_loop_maximum": "0",
|
||||
"act_loop_condition": "0",
|
||||
"act_loop_cardinality": "0",
|
||||
"act_loop_behavior": "0",
|
||||
"act_is_adhoc": "0",
|
||||
"act_is_collapsed": "0",
|
||||
"act_completion_condition": "0",
|
||||
"act_ordering": "0",
|
||||
"act_cancel_remaining_instances": "1",
|
||||
"act_protocol": "0",
|
||||
"act_method": "0",
|
||||
"act_is_global": "0",
|
||||
"act_referer": "0",
|
||||
"act_default_flow": "0",
|
||||
"act_master_diagram": "0",
|
||||
"bou_uid": "2584782805db99e72bd0980067403101",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"element_uid": "5165535925db99e72bcae07068945328",
|
||||
"bou_element": "4022955515db99e6aef9528027473017",
|
||||
"bou_element_type": "bpmnActivity",
|
||||
"bou_x": "177",
|
||||
"bou_y": "79",
|
||||
"bou_width": "150",
|
||||
"bou_height": "75",
|
||||
"bou_rel_position": "0",
|
||||
"bou_size_identical": "0",
|
||||
"bou_container": "bpmnDiagram"
|
||||
}
|
||||
],
|
||||
"artifacts": [],
|
||||
"events": [
|
||||
{
|
||||
"evn_uid": "3038076035db99e72c3c135082812123",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"pro_uid": "9258990045db99e69c08f67059175864",
|
||||
"evn_name": "",
|
||||
"evn_type": "END",
|
||||
"evn_marker": "EMPTY",
|
||||
"evn_is_interrupting": "1",
|
||||
"evn_attached_to": "",
|
||||
"evn_cancel_activity": "0",
|
||||
"evn_activity_ref": "",
|
||||
"evn_wait_for_completion": "0",
|
||||
"evn_error_name": "",
|
||||
"evn_error_code": "",
|
||||
"evn_escalation_name": "",
|
||||
"evn_escalation_code": "",
|
||||
"evn_condition": "",
|
||||
"evn_message": "",
|
||||
"evn_operation_name": "",
|
||||
"evn_operation_implementation_ref": "",
|
||||
"evn_time_date": "",
|
||||
"evn_time_cycle": "",
|
||||
"evn_time_duration": "",
|
||||
"evn_behavior": "THROW",
|
||||
"bou_uid": "1455533305db99e72c3fae0095171965",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"element_uid": "3038076035db99e72c3c135082812123",
|
||||
"bou_element": "4022955515db99e6aef9528027473017",
|
||||
"bou_element_type": "bpmnEvent",
|
||||
"bou_x": "365",
|
||||
"bou_y": "100",
|
||||
"bou_width": "33",
|
||||
"bou_height": "33",
|
||||
"bou_rel_position": "0",
|
||||
"bou_size_identical": "0",
|
||||
"bou_container": "bpmnDiagram"
|
||||
},
|
||||
{
|
||||
"evn_uid": "5511258545db99e72c29944076205232",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"pro_uid": "9258990045db99e69c08f67059175864",
|
||||
"evn_name": "",
|
||||
"evn_type": "START",
|
||||
"evn_marker": "EMPTY",
|
||||
"evn_is_interrupting": "1",
|
||||
"evn_attached_to": "",
|
||||
"evn_cancel_activity": "0",
|
||||
"evn_activity_ref": "",
|
||||
"evn_wait_for_completion": "0",
|
||||
"evn_error_name": "",
|
||||
"evn_error_code": "",
|
||||
"evn_escalation_name": "",
|
||||
"evn_escalation_code": "",
|
||||
"evn_condition": "",
|
||||
"evn_message": "LEAD",
|
||||
"evn_operation_name": "",
|
||||
"evn_operation_implementation_ref": "",
|
||||
"evn_time_date": "",
|
||||
"evn_time_cycle": "",
|
||||
"evn_time_duration": "",
|
||||
"evn_behavior": "CATCH",
|
||||
"bou_uid": "7732258935db99e72c2e3a3068518403",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"element_uid": "5511258545db99e72c29944076205232",
|
||||
"bou_element": "4022955515db99e6aef9528027473017",
|
||||
"bou_element_type": "bpmnEvent",
|
||||
"bou_x": "100",
|
||||
"bou_y": "100",
|
||||
"bou_width": "33",
|
||||
"bou_height": "33",
|
||||
"bou_rel_position": "0",
|
||||
"bou_size_identical": "0",
|
||||
"bou_container": "bpmnDiagram"
|
||||
}
|
||||
],
|
||||
"flows": [
|
||||
{
|
||||
"flo_uid": "6368397865db99e72c52903064569710",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"flo_type": "SEQUENCE",
|
||||
"flo_name": " ",
|
||||
"flo_element_origin": "5511258545db99e72c29944076205232",
|
||||
"flo_element_origin_type": "bpmnEvent",
|
||||
"flo_element_origin_port": "0",
|
||||
"flo_element_dest": "5165535925db99e72bcae07068945328",
|
||||
"flo_element_dest_type": "bpmnActivity",
|
||||
"flo_element_dest_port": "0",
|
||||
"flo_is_inmediate": "1",
|
||||
"flo_condition": "",
|
||||
"flo_x1": "133",
|
||||
"flo_y1": "117",
|
||||
"flo_x2": "177",
|
||||
"flo_y2": "117",
|
||||
"flo_state": "[{\"x\":133,\"y\":117},{\"x\":177,\"y\":117}]",
|
||||
"flo_position": "1"
|
||||
},
|
||||
{
|
||||
"flo_uid": "7620102575db99e72c53873033338002",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"flo_type": "SEQUENCE",
|
||||
"flo_name": " ",
|
||||
"flo_element_origin": "5165535925db99e72bcae07068945328",
|
||||
"flo_element_origin_type": "bpmnActivity",
|
||||
"flo_element_origin_port": "0",
|
||||
"flo_element_dest": "3038076035db99e72c3c135082812123",
|
||||
"flo_element_dest_type": "bpmnEvent",
|
||||
"flo_element_dest_port": "0",
|
||||
"flo_is_inmediate": "1",
|
||||
"flo_condition": "",
|
||||
"flo_x1": "328",
|
||||
"flo_y1": "117",
|
||||
"flo_x2": "365",
|
||||
"flo_y2": "117",
|
||||
"flo_state": "[{\"x\":328,\"y\":117},{\"x\":365,\"y\":117}]",
|
||||
"flo_position": "1"
|
||||
}
|
||||
],
|
||||
"gateways": [],
|
||||
"data": [],
|
||||
"participants": [],
|
||||
"laneset": [],
|
||||
"lanes": []
|
||||
}
|
||||
],
|
||||
"process": {
|
||||
"pro_uid": "9258990045db99e69c08f67059175864",
|
||||
"prj_uid": "3139884745db99e69bd2683082492802",
|
||||
"dia_uid": "7012431415db99e69c064a1027112720",
|
||||
"pro_name": "createBPMN",
|
||||
"pro_type": "NONE",
|
||||
"pro_is_executable": "0",
|
||||
"pro_is_closed": "0",
|
||||
"pro_is_subprocess": "0",
|
||||
"pro_id": "2",
|
||||
"pro_status": "ACTIVE"
|
||||
}
|
||||
}
|
||||
457
tests/resources/saveAsTest-1.pmx
Normal file
457
tests/resources/saveAsTest-1.pmx
Normal file
@@ -0,0 +1,457 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ProcessMaker-Project version="3.0">
|
||||
<metadata>
|
||||
<meta key="vendor_version"><![CDATA[(Branch bugfix/PMC-138)]]></meta>
|
||||
<meta key="vendor_version_code">Michelangelo</meta>
|
||||
<meta key="export_timestamp">1572442915</meta>
|
||||
<meta key="export_datetime"><![CDATA[2019-10-30T13:41:55+00:00]]></meta>
|
||||
<meta key="export_server_addr"><![CDATA[172.16.3.67:8091]]></meta>
|
||||
<meta key="export_server_os">Linux</meta>
|
||||
<meta key="export_server_php_version">70133</meta>
|
||||
<meta key="workspace">sample</meta>
|
||||
<meta key="name">saveAsTest</meta>
|
||||
<meta key="uid">9745053325db99314dac446019554453</meta>
|
||||
</metadata>
|
||||
<definition class="BPMN">
|
||||
<table name="ACTIVITY">
|
||||
<record>
|
||||
<act_uid>6645237135db9931f1d5082018688082</act_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<pro_uid>9211677625db99314ddf9d0097887435</pro_uid>
|
||||
<act_name>Task 1</act_name>
|
||||
<act_type>TASK</act_type>
|
||||
<act_is_for_compensation>0</act_is_for_compensation>
|
||||
<act_start_quantity>1</act_start_quantity>
|
||||
<act_completion_quantity>0</act_completion_quantity>
|
||||
<act_task_type>EMPTY</act_task_type>
|
||||
<act_implementation></act_implementation>
|
||||
<act_instantiate>0</act_instantiate>
|
||||
<act_script_type></act_script_type>
|
||||
<act_script></act_script>
|
||||
<act_loop_type>EMPTY</act_loop_type>
|
||||
<act_test_before>0</act_test_before>
|
||||
<act_loop_maximum>0</act_loop_maximum>
|
||||
<act_loop_condition>0</act_loop_condition>
|
||||
<act_loop_cardinality>0</act_loop_cardinality>
|
||||
<act_loop_behavior>0</act_loop_behavior>
|
||||
<act_is_adhoc>0</act_is_adhoc>
|
||||
<act_is_collapsed>0</act_is_collapsed>
|
||||
<act_completion_condition>0</act_completion_condition>
|
||||
<act_ordering>0</act_ordering>
|
||||
<act_cancel_remaining_instances>1</act_cancel_remaining_instances>
|
||||
<act_protocol>0</act_protocol>
|
||||
<act_method>0</act_method>
|
||||
<act_is_global>0</act_is_global>
|
||||
<act_referer>0</act_referer>
|
||||
<act_default_flow>0</act_default_flow>
|
||||
<act_master_diagram>0</act_master_diagram>
|
||||
<bou_uid>2024203105db9931f1de3a1071225392</bou_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>6645237135db9931f1d5082018688082</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>169</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="ARTIFACT"/>
|
||||
<table name="BOUND">
|
||||
<record>
|
||||
<bou_uid>2024203105db9931f1de3a1071225392</bou_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>6645237135db9931f1d5082018688082</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnActivity</bou_element_type>
|
||||
<bou_x>169</bou_x>
|
||||
<bou_y>79</bou_y>
|
||||
<bou_width>150</bou_width>
|
||||
<bou_height>75</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>5243884725db9931f233c43015663499</bou_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>2454646545db9931f22b211032408082</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<bou_uid>5496002045db9931f248303051598631</bou_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>6813770985db9931f244b78069429303</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>355</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DATA"/>
|
||||
<table name="DIAGRAM">
|
||||
<record>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_name>saveAsTest</dia_name>
|
||||
<dia_is_closable>0</dia_is_closable>
|
||||
</record>
|
||||
</table>
|
||||
<table name="DOCUMENTATION"/>
|
||||
<table name="EVENT">
|
||||
<record>
|
||||
<evn_uid>2454646545db9931f22b211032408082</evn_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<pro_uid>9211677625db99314ddf9d0097887435</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>START</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message>LEAD</evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>CATCH</evn_behavior>
|
||||
<bou_uid>5243884725db9931f233c43015663499</bou_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>2454646545db9931f22b211032408082</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>100</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
<record>
|
||||
<evn_uid>6813770985db9931f244b78069429303</evn_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<pro_uid>9211677625db99314ddf9d0097887435</pro_uid>
|
||||
<evn_name></evn_name>
|
||||
<evn_type>END</evn_type>
|
||||
<evn_marker>EMPTY</evn_marker>
|
||||
<evn_is_interrupting>1</evn_is_interrupting>
|
||||
<evn_attached_to></evn_attached_to>
|
||||
<evn_cancel_activity>0</evn_cancel_activity>
|
||||
<evn_activity_ref></evn_activity_ref>
|
||||
<evn_wait_for_completion>0</evn_wait_for_completion>
|
||||
<evn_error_name></evn_error_name>
|
||||
<evn_error_code></evn_error_code>
|
||||
<evn_escalation_name></evn_escalation_name>
|
||||
<evn_escalation_code></evn_escalation_code>
|
||||
<evn_condition></evn_condition>
|
||||
<evn_message></evn_message>
|
||||
<evn_operation_name></evn_operation_name>
|
||||
<evn_operation_implementation_ref></evn_operation_implementation_ref>
|
||||
<evn_time_date></evn_time_date>
|
||||
<evn_time_cycle></evn_time_cycle>
|
||||
<evn_time_duration></evn_time_duration>
|
||||
<evn_behavior>THROW</evn_behavior>
|
||||
<bou_uid>5496002045db9931f248303051598631</bou_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<element_uid>6813770985db9931f244b78069429303</element_uid>
|
||||
<bou_element>6736509965db99315c363a1037462295</bou_element>
|
||||
<bou_element_type>bpmnEvent</bou_element_type>
|
||||
<bou_x>355</bou_x>
|
||||
<bou_y>100</bou_y>
|
||||
<bou_width>33</bou_width>
|
||||
<bou_height>33</bou_height>
|
||||
<bou_rel_position>0</bou_rel_position>
|
||||
<bou_size_identical>0</bou_size_identical>
|
||||
<bou_container>bpmnDiagram</bou_container>
|
||||
</record>
|
||||
</table>
|
||||
<table name="EXTENSION"/>
|
||||
<table name="FLOW">
|
||||
<record>
|
||||
<flo_uid>1625220875db9931f263b52007015986</flo_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>2454646545db9931f22b211032408082</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnEvent</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>6645237135db9931f1d5082018688082</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnActivity</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>133</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>169</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":133,"y":117},{"x":169,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
<record>
|
||||
<flo_uid>8430380895db9931f265247058799674</flo_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<flo_type>SEQUENCE</flo_type>
|
||||
<flo_name> </flo_name>
|
||||
<flo_element_origin>6645237135db9931f1d5082018688082</flo_element_origin>
|
||||
<flo_element_origin_type>bpmnActivity</flo_element_origin_type>
|
||||
<flo_element_origin_port>0</flo_element_origin_port>
|
||||
<flo_element_dest>6813770985db9931f244b78069429303</flo_element_dest>
|
||||
<flo_element_dest_type>bpmnEvent</flo_element_dest_type>
|
||||
<flo_element_dest_port>0</flo_element_dest_port>
|
||||
<flo_is_inmediate>1</flo_is_inmediate>
|
||||
<flo_condition></flo_condition>
|
||||
<flo_x1>320</flo_x1>
|
||||
<flo_y1>117</flo_y1>
|
||||
<flo_x2>355</flo_x2>
|
||||
<flo_y2>117</flo_y2>
|
||||
<flo_state><![CDATA[[{"x":320,"y":117},{"x":355,"y":117}]]]></flo_state>
|
||||
<flo_position>1</flo_position>
|
||||
</record>
|
||||
</table>
|
||||
<table name="GATEWAY"/>
|
||||
<table name="LANE"/>
|
||||
<table name="LANESET"/>
|
||||
<table name="PARTICIPANT"/>
|
||||
<table name="PROCESS">
|
||||
<record>
|
||||
<pro_uid>9211677625db99314ddf9d0097887435</pro_uid>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<dia_uid>8359203175db99314ddd311055114412</dia_uid>
|
||||
<pro_name>saveAsTest</pro_name>
|
||||
<pro_type>NONE</pro_type>
|
||||
<pro_is_executable>0</pro_is_executable>
|
||||
<pro_is_closed>0</pro_is_closed>
|
||||
<pro_is_subprocess>0</pro_is_subprocess>
|
||||
</record>
|
||||
</table>
|
||||
<table name="PROJECT">
|
||||
<record>
|
||||
<prj_uid>9745053325db99314dac446019554453</prj_uid>
|
||||
<prj_name>saveAsTest</prj_name>
|
||||
<prj_description></prj_description>
|
||||
<prj_target_namespace></prj_target_namespace>
|
||||
<prj_expresion_language></prj_expresion_language>
|
||||
<prj_type_language></prj_type_language>
|
||||
<prj_exporter></prj_exporter>
|
||||
<prj_exporter_version></prj_exporter_version>
|
||||
<prj_create_date><![CDATA[2019-10-30 13:41:40]]></prj_create_date>
|
||||
<prj_update_date><![CDATA[2019-10-30 13:41:51]]></prj_update_date>
|
||||
<prj_author>00000000000000000000000000000001</prj_author>
|
||||
<prj_author_version></prj_author_version>
|
||||
<prj_original_source></prj_original_source>
|
||||
</record>
|
||||
</table>
|
||||
</definition>
|
||||
<definition class="workflow">
|
||||
<table name="process">
|
||||
<record>
|
||||
<pro_uid>9745053325db99314dac446019554453</pro_uid>
|
||||
<pro_title>saveAsTest</pro_title>
|
||||
<pro_description></pro_description>
|
||||
<pro_parent>9745053325db99314dac446019554453</pro_parent>
|
||||
<pro_time>1</pro_time>
|
||||
<pro_timeunit>DAYS</pro_timeunit>
|
||||
<pro_status>ACTIVE</pro_status>
|
||||
<pro_status_id>1</pro_status_id>
|
||||
<pro_type_day></pro_type_day>
|
||||
<pro_type>NORMAL</pro_type>
|
||||
<pro_assignment>FALSE</pro_assignment>
|
||||
<pro_show_map>0</pro_show_map>
|
||||
<pro_show_message>0</pro_show_message>
|
||||
<pro_subprocess>0</pro_subprocess>
|
||||
<pro_tri_create></pro_tri_create>
|
||||
<pro_tri_open></pro_tri_open>
|
||||
<pro_tri_deleted></pro_tri_deleted>
|
||||
<pro_tri_canceled></pro_tri_canceled>
|
||||
<pro_tri_paused></pro_tri_paused>
|
||||
<pro_tri_reassigned></pro_tri_reassigned>
|
||||
<pro_tri_unpaused></pro_tri_unpaused>
|
||||
<pro_type_process>PUBLIC</pro_type_process>
|
||||
<pro_show_delegate>0</pro_show_delegate>
|
||||
<pro_show_dynaform>0</pro_show_dynaform>
|
||||
<pro_category></pro_category>
|
||||
<pro_sub_category></pro_sub_category>
|
||||
<pro_industry>0</pro_industry>
|
||||
<pro_update_date><![CDATA[2019-10-30 13:41:51]]></pro_update_date>
|
||||
<pro_create_date><![CDATA[2019-10-30 13:41:40]]></pro_create_date>
|
||||
<pro_create_user>00000000000000000000000000000001</pro_create_user>
|
||||
<pro_height>5000</pro_height>
|
||||
<pro_width>10000</pro_width>
|
||||
<pro_title_x>0</pro_title_x>
|
||||
<pro_title_y>0</pro_title_y>
|
||||
<pro_debug>0</pro_debug>
|
||||
<pro_dynaforms></pro_dynaforms>
|
||||
<pro_derivation_screen_tpl></pro_derivation_screen_tpl>
|
||||
<pro_cost>0</pro_cost>
|
||||
<pro_unit_cost></pro_unit_cost>
|
||||
<pro_itee>1</pro_itee>
|
||||
<pro_action_done><![CDATA[a:1:{i:0;s:41:"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS";}]]></pro_action_done>
|
||||
<category_id>0</category_id>
|
||||
<pro_category_label>No Category</pro_category_label>
|
||||
<pro_bpmn>1</pro_bpmn>
|
||||
</record>
|
||||
</table>
|
||||
<table name="tasks">
|
||||
<record>
|
||||
<pro_uid>9745053325db99314dac446019554453</pro_uid>
|
||||
<pro_id>0</pro_id>
|
||||
<tas_uid>6645237135db9931f1d5082018688082</tas_uid>
|
||||
<tas_title>Task 1</tas_title>
|
||||
<tas_description></tas_description>
|
||||
<tas_def_title></tas_def_title>
|
||||
<tas_def_subject_message></tas_def_subject_message>
|
||||
<tas_def_proc_code></tas_def_proc_code>
|
||||
<tas_def_message></tas_def_message>
|
||||
<tas_def_description></tas_def_description>
|
||||
<tas_type>NORMAL</tas_type>
|
||||
<tas_duration>1</tas_duration>
|
||||
<tas_delay_type></tas_delay_type>
|
||||
<tas_temporizer>0</tas_temporizer>
|
||||
<tas_type_day></tas_type_day>
|
||||
<tas_timeunit>DAYS</tas_timeunit>
|
||||
<tas_alert>FALSE</tas_alert>
|
||||
<tas_priority_variable></tas_priority_variable>
|
||||
<tas_assign_type>BALANCED</tas_assign_type>
|
||||
<tas_assign_variable><![CDATA[@@SYS_NEXT_USER_TO_BE_ASSIGNED]]></tas_assign_variable>
|
||||
<tas_group_variable></tas_group_variable>
|
||||
<tas_mi_instance_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCE]]></tas_mi_instance_variable>
|
||||
<tas_mi_complete_variable><![CDATA[@@SYS_VAR_TOTAL_INSTANCES_COMPLETE]]></tas_mi_complete_variable>
|
||||
<tas_assign_location>FALSE</tas_assign_location>
|
||||
<tas_assign_location_adhoc>FALSE</tas_assign_location_adhoc>
|
||||
<tas_transfer_fly>FALSE</tas_transfer_fly>
|
||||
<tas_last_assigned>0</tas_last_assigned>
|
||||
<tas_user>0</tas_user>
|
||||
<tas_can_upload>FALSE</tas_can_upload>
|
||||
<tas_view_upload>FALSE</tas_view_upload>
|
||||
<tas_view_additional_documentation>FALSE</tas_view_additional_documentation>
|
||||
<tas_can_cancel>FALSE</tas_can_cancel>
|
||||
<tas_owner_app>FALSE</tas_owner_app>
|
||||
<stg_uid></stg_uid>
|
||||
<tas_can_pause>FALSE</tas_can_pause>
|
||||
<tas_can_send_message>TRUE</tas_can_send_message>
|
||||
<tas_can_delete_docs>FALSE</tas_can_delete_docs>
|
||||
<tas_self_service>FALSE</tas_self_service>
|
||||
<tas_start>TRUE</tas_start>
|
||||
<tas_to_last_user>FALSE</tas_to_last_user>
|
||||
<tas_send_last_email>FALSE</tas_send_last_email>
|
||||
<tas_derivation>NORMAL</tas_derivation>
|
||||
<tas_posx>169</tas_posx>
|
||||
<tas_posy>79</tas_posy>
|
||||
<tas_width>110</tas_width>
|
||||
<tas_height>60</tas_height>
|
||||
<tas_color></tas_color>
|
||||
<tas_evn_uid></tas_evn_uid>
|
||||
<tas_boundary></tas_boundary>
|
||||
<tas_derivation_screen_tpl></tas_derivation_screen_tpl>
|
||||
<tas_selfservice_timeout>0</tas_selfservice_timeout>
|
||||
<tas_selfservice_time>0</tas_selfservice_time>
|
||||
<tas_selfservice_time_unit></tas_selfservice_time_unit>
|
||||
<tas_selfservice_trigger_uid></tas_selfservice_trigger_uid>
|
||||
<tas_selfservice_execution>EVERY_TIME</tas_selfservice_execution>
|
||||
<tas_not_email_from_format>0</tas_not_email_from_format>
|
||||
<tas_offline>FALSE</tas_offline>
|
||||
<tas_email_server_uid></tas_email_server_uid>
|
||||
<tas_auto_root>FALSE</tas_auto_root>
|
||||
<tas_receive_server_uid></tas_receive_server_uid>
|
||||
<tas_receive_last_email>FALSE</tas_receive_last_email>
|
||||
<tas_receive_email_from_format>0</tas_receive_email_from_format>
|
||||
<tas_receive_message_type>text</tas_receive_message_type>
|
||||
<tas_receive_message_template>alert_message.html</tas_receive_message_template>
|
||||
<tas_receive_subject_message></tas_receive_subject_message>
|
||||
<tas_receive_message></tas_receive_message>
|
||||
<tas_average></tas_average>
|
||||
<tas_sdv></tas_sdv>
|
||||
</record>
|
||||
</table>
|
||||
<table name="routes">
|
||||
<record>
|
||||
<rou_uid>3378136175db9931f2c1683070436026</rou_uid>
|
||||
<rou_parent>0</rou_parent>
|
||||
<pro_uid>9745053325db99314dac446019554453</pro_uid>
|
||||
<tas_uid>6645237135db9931f1d5082018688082</tas_uid>
|
||||
<rou_next_task>-1</rou_next_task>
|
||||
<rou_case>1</rou_case>
|
||||
<rou_type>SEQUENTIAL</rou_type>
|
||||
<rou_default>0</rou_default>
|
||||
<rou_condition></rou_condition>
|
||||
<rou_to_last_user>FALSE</rou_to_last_user>
|
||||
<rou_optional>FALSE</rou_optional>
|
||||
<rou_send_email>TRUE</rou_send_email>
|
||||
<rou_sourceanchor>1</rou_sourceanchor>
|
||||
<rou_targetanchor>0</rou_targetanchor>
|
||||
<rou_to_port>1</rou_to_port>
|
||||
<rou_from_port>2</rou_from_port>
|
||||
<rou_evn_uid></rou_evn_uid>
|
||||
<gat_uid></gat_uid>
|
||||
</record>
|
||||
</table>
|
||||
<table name="lanes"/>
|
||||
<table name="gateways"/>
|
||||
<table name="inputs"/>
|
||||
<table name="outputs"/>
|
||||
<table name="dynaforms"/>
|
||||
<table name="steps"/>
|
||||
<table name="triggers"/>
|
||||
<table name="taskusers"/>
|
||||
<table name="groupwfs"/>
|
||||
<table name="steptriggers"/>
|
||||
<table name="dbconnections"/>
|
||||
<table name="reportTables"/>
|
||||
<table name="reportTablesVars"/>
|
||||
<table name="stepSupervisor"/>
|
||||
<table name="objectPermissions"/>
|
||||
<table name="subProcess"/>
|
||||
<table name="caseTracker"/>
|
||||
<table name="caseTrackerObject"/>
|
||||
<table name="stage"/>
|
||||
<table name="fieldCondition"/>
|
||||
<table name="event"/>
|
||||
<table name="caseScheduler"/>
|
||||
<table name="processCategory"/>
|
||||
<table name="taskExtraProperties"/>
|
||||
<table name="processUser"/>
|
||||
<table name="processVariables"/>
|
||||
<table name="webEntry"/>
|
||||
<table name="webEntryEvent"/>
|
||||
<table name="messageType"/>
|
||||
<table name="messageTypeVariable"/>
|
||||
<table name="messageEventDefinition"/>
|
||||
<table name="scriptTask"/>
|
||||
<table name="timerEvent"/>
|
||||
<table name="emailEvent"/>
|
||||
<table name="filesManager"/>
|
||||
<table name="abeConfiguration"/>
|
||||
<table name="elementTask"/>
|
||||
</definition>
|
||||
<workflow-files/>
|
||||
</ProcessMaker-Project>
|
||||
@@ -428,4 +428,35 @@ class ProcessesTest extends TestCase
|
||||
|
||||
$this->assertEquals($expected, $actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* This gets the data structure of a project.
|
||||
* @test
|
||||
* @covers Processes::getWorkflowData()
|
||||
*/
|
||||
public function it_should_get_workflow_data()
|
||||
{
|
||||
/**
|
||||
* To perform the test this requires a valid installation and its respective license.
|
||||
*
|
||||
* In the file "workflow/engine/classes/WorkspaceTools.php",
|
||||
* these lines need the db.php file.
|
||||
*
|
||||
* public function __construct($workspaceName)
|
||||
* {
|
||||
* $this->name = $workspaceName;
|
||||
* $this->path = PATH_DB . $this->name;
|
||||
* $this->dbPath = $this->path . '/db.php';
|
||||
* if ($this->workspaceExists()) {
|
||||
* $this->getDBInfo();
|
||||
* }
|
||||
* $this->setListContentMigrateTable();
|
||||
* }
|
||||
*/
|
||||
$this->markTestIncomplete("To perform the test this requires a valid installation and its respective license.");
|
||||
$process = factory(\ProcessMaker\Model\Process::class)->create();
|
||||
$processes = new Processes();
|
||||
$result = $processes->getWorkflowData($process->PRO_UID);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\unit\workflow\engine\src\ProcessMaker\BusinessModel;
|
||||
|
||||
use ProcessMaker\BusinessModel\Migrator\GranularImporter;
|
||||
use Tests\TestCase;
|
||||
|
||||
class GranularImporterTest extends TestCase
|
||||
{
|
||||
|
||||
/**
|
||||
* This returns a set of data that is read from a json file.
|
||||
*/
|
||||
public function importDataObject()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/GranularImporterTest.json";
|
||||
$json = file_get_contents($filename);
|
||||
$data = json_decode($json, true);
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* It should return data from addObjectData() method.
|
||||
* @test
|
||||
* @covers \ProcessMaker\BusinessModel\Migrator\GranularImporter::addObjectData()
|
||||
* @dataProvider importDataObject
|
||||
*/
|
||||
public function it_should_return_data_from_add_object_data_method($name, $data)
|
||||
{
|
||||
$granularImporter = new GranularImporter();
|
||||
$result = $granularImporter->addObjectData($name, $data);
|
||||
$this->assertArrayHasKey($name, $result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,312 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\unit\workflow\engine\src\ProcessMaker\Importer;
|
||||
|
||||
use G;
|
||||
use Exception;
|
||||
use ProcessMaker\Model\Groupwf;
|
||||
use ProcessMaker\Model\User;
|
||||
use ProcessMaker\Importer\XmlImporter;
|
||||
use Tests\TestCase;
|
||||
|
||||
class XmlImporterTest extends TestCase
|
||||
{
|
||||
private $user;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
/**
|
||||
* To perform the test this requires a valid installation and its respective license.
|
||||
*
|
||||
* In the file "workflow/engine/classes/WorkspaceTools.php",
|
||||
* these lines need the db.php file.
|
||||
*
|
||||
* public function __construct($workspaceName)
|
||||
* {
|
||||
* $this->name = $workspaceName;
|
||||
* $this->path = PATH_DB . $this->name;
|
||||
* $this->dbPath = $this->path . '/db.php';
|
||||
* if ($this->workspaceExists()) {
|
||||
* $this->getDBInfo();
|
||||
* }
|
||||
* $this->setListContentMigrateTable();
|
||||
* }
|
||||
*
|
||||
*
|
||||
* In the file "workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php",
|
||||
* these lines need a valid license.
|
||||
*
|
||||
* public function import($objectList)
|
||||
* {
|
||||
* try {
|
||||
* if (\PMLicensedFeatures::getSingleton()->verifyfeature
|
||||
* ("jXsSi94bkRUcVZyRStNVExlTXhEclVadGRRcG9xbjNvTWVFQUF3cklKQVBiVT0=")
|
||||
* ) {
|
||||
* $objectList = $this->reorderImportOrder($objectList);
|
||||
* foreach ($objectList as $data) {
|
||||
* $objClass = $this->factory->create($data['name']);
|
||||
* if (is_object($objClass)) {
|
||||
* $dataImport = $data['data'][$data['name']];
|
||||
* $replace = ($data['value'] == 'replace') ? true : false;
|
||||
* $objClass->beforeImport($dataImport);
|
||||
* $migratorData = $objClass->import($dataImport, $replace);
|
||||
* $objClass->afterImport($dataImport);
|
||||
* }
|
||||
* }
|
||||
* } else {
|
||||
* $exception = new ImportException();
|
||||
* $exception->setNameException(\G::LoadTranslation('ID_NO_LICENSE_SELECTIVEIMPORTEXPORT_ENABLED'));
|
||||
* throw($exception);
|
||||
* }
|
||||
*
|
||||
* } catch (\Exception $e) {
|
||||
* if (get_class($e) === 'ProcessMaker\BusinessModel\Migrator\ImportException') {
|
||||
* throw $e;
|
||||
* } else {
|
||||
* $exception = new ImportException('Please review your current process definition
|
||||
* for missing elements, it\'s recommended that a new process should be exported
|
||||
* with all the elements.');
|
||||
* throw $exception;
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
$this->markTestIncomplete("To perform the test this requires a valid installation and its respective license.");
|
||||
parent::setUp();
|
||||
$this->user = factory(User::class)->create();
|
||||
Groupwf::truncate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new option and the import new group option.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::importBpmnTables()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new without changing and the import merge group option.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_keep_without_changing_and_create_new_and_group_import_option_merge_preexistent()
|
||||
{
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group1'
|
||||
]);
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group2'
|
||||
]);
|
||||
$regenerateUids = false;
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_MERGE_PREEXISTENT, true);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import overwrite option and the import rename group option.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_overwrite_and_group_import_option_rename()
|
||||
{
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group1'
|
||||
]);
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group2'
|
||||
]);
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_RENAME, false);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new option and the import new group option with objects imports.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
* @covers \ProcessMaker\BusinessModel\Migrator\GranularImporter::structureBpmnData()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_and_objects_import()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2";
|
||||
|
||||
$objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json";
|
||||
$json = file_get_contents($objectsToImportFilename);
|
||||
$objectsToImport = json_decode($json);
|
||||
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false, $objectsToImport);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import without changing option and the import new group option with objects import.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_keep_without_changing_and_create_new_and_group_import_option_create_new()
|
||||
{
|
||||
$regenerateUids = false;
|
||||
$filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2";
|
||||
|
||||
$objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json";
|
||||
$json = file_get_contents($objectsToImportFilename);
|
||||
$objectsToImport = json_decode($json);
|
||||
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_KEEP_WITHOUT_CHANGING_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, true, $objectsToImport);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import overwrite option and the import new group option with objects import.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_overwrite_and_group_import_option_create_new()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2";
|
||||
|
||||
$objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json";
|
||||
$json = file_get_contents($objectsToImportFilename);
|
||||
$objectsToImport = json_decode($json);
|
||||
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false, $objectsToImport);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import disable option and the import new group option with objects import.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_disable_and_create_new_and_group_import_option_create_new()
|
||||
{
|
||||
$regenerateUids = false;
|
||||
$filename = PATH_TRUNK . "/tests/resources/p2custom-1.pmx2";
|
||||
|
||||
$objectsToImportFilename = PATH_TRUNK . "/tests/resources/p2custom-1-ObjectsToImport.json";
|
||||
$json = file_get_contents($objectsToImportFilename);
|
||||
$objectsToImport = json_decode($json);
|
||||
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_DISABLE_AND_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, true, $objectsToImport);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new option and the import new group option with exception.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_with_exception()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import overwrite option and the import new group option with exist groups.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_overwrite_and_group_import_option_create_new_with_groups()
|
||||
{
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group1'
|
||||
]);
|
||||
factory(\ProcessMaker\Model\Groupwf::class)->create([
|
||||
'GRP_TITLE' => 'group2'
|
||||
]);
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new option and the import new group option with generated uid from js such as null.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_try_exception()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normalWithException-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the import new option and the import new group option with repeated title.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::import()
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::updateTheProcessOwner()
|
||||
*/
|
||||
public function it_should_matter_with_import_option_create_new_and_group_import_option_create_new_try_rename_title()
|
||||
{
|
||||
factory(\ProcessMaker\Model\Process::class)->create([
|
||||
'PRO_TITLE' => 'p1normalWithoutTitle'
|
||||
]);
|
||||
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normalWithoutTitle-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
$this->assertNotNull($result);
|
||||
|
||||
factory(\ProcessMaker\Model\Process::class)->create([
|
||||
'PRO_TITLE' => 'p1normalWithoutTitle2'
|
||||
]);
|
||||
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normalWithoutTitle2-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
|
||||
$result = $importer->import(XmlImporter::IMPORT_OPTION_OVERWRITE, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
$this->assertNotNull($result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\unit\workflow\engine\src\ProcessMaker\Project\Adapter;
|
||||
|
||||
use Exception;
|
||||
use Faker\Factory;
|
||||
use G;
|
||||
use ProcessMaker\Model\BpmnProject;
|
||||
use ProcessMaker\Model\Process;
|
||||
use ProcessMaker\Model\User;
|
||||
use ProcessMaker\Project\Adapter\BpmnWorkflow;
|
||||
use ProcessMaker\Importer\XmlImporter;
|
||||
use Tests\TestCase;
|
||||
|
||||
class BpmnWorkflowTest extends TestCase
|
||||
{
|
||||
private $user;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->user = factory(User::class)->create();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creation of a bpmn project.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create()
|
||||
*/
|
||||
public function it_should_create_bpmn_project()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
$data = [
|
||||
'PRJ_UID' => G::generateUniqueID(),
|
||||
'PRJ_AUTHOR' => G::generateUniqueID(),
|
||||
'PRJ_NAME' => $faker->title,
|
||||
'PRJ_DESCRIPTION' => $faker->text,
|
||||
'PRJ_TYPE' => $faker->name,
|
||||
'PRJ_CATEGORY' => $faker->word,
|
||||
'PRO_ID' => $faker->randomDigit,
|
||||
'PRO_STATUS' => 'ACTIVE'
|
||||
];
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
$bpmnWorkflow->create($data);
|
||||
|
||||
$bpmnProject = BpmnProject::where('PRJ_UID', '=', $data['PRJ_UID'])
|
||||
->get();
|
||||
|
||||
$this->assertNotNull($bpmnProject);
|
||||
}
|
||||
|
||||
/**
|
||||
* We get an exception when the data is incorrect.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create()
|
||||
*/
|
||||
public function it_should_create_bpmn_project_with_incorrect_data()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
$data = [
|
||||
'PRJ_UID' => []
|
||||
];
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* An exception is obtained if we try to enter an existing title.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::create()
|
||||
*/
|
||||
public function it_should_create_bpmn_project_with_duplicate_title()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
$title = $faker->title;
|
||||
factory(\ProcessMaker\Model\Process::class)->create([
|
||||
'PRO_TITLE' => $title
|
||||
]);
|
||||
|
||||
$data = [
|
||||
'PRJ_UID' => G::generateUniqueID(),
|
||||
'PRJ_AUTHOR' => G::generateUniqueID(),
|
||||
'PRJ_NAME' => $title,
|
||||
'PRJ_DESCRIPTION' => $faker->text,
|
||||
'PRJ_TYPE' => $faker->name,
|
||||
'PRJ_CATEGORY' => $faker->word,
|
||||
'PRO_ID' => $faker->randomDigit,
|
||||
'PRO_STATUS' => 'ACTIVE'
|
||||
];
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a project from a data structure.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an exception if there is an invalid name in the data structure.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure_invalid_name()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$projectData['prj_name'] = '';
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an exception if there is a duplicate name.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure_with_duplicate_name()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
factory(\ProcessMaker\Model\BpmnProject::class)->create([
|
||||
'PRJ_NAME' => $projectData['prj_name']
|
||||
]);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* We get an exception if the type field does not exist in the activity.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure_invalid_activity_type()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$projectData['prj_name'] = $faker->name;
|
||||
unset($projectData['diagrams']['0']['activities']['0']['act_type']);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* We get an exception if the type field does not exist in the event.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure_invalid_event_type()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$projectData['prj_name'] = $faker->name;
|
||||
unset($projectData['diagrams']['0']['events']['0']['evn_type']);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* We get an exception if the marker field does not exist in the event.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Project\Adapter\BpmnWorkflow::createFromStruct()
|
||||
*/
|
||||
public function it_should_create_from_structure_invalid_event_marker()
|
||||
{
|
||||
$faker = Factory::create();
|
||||
|
||||
$projectDataFilename = PATH_TRUNK . "/tests/resources/projectData.json";
|
||||
$json = file_get_contents($projectDataFilename);
|
||||
$projectData = json_decode($json, JSON_OBJECT_AS_ARRAY);
|
||||
$projectData['prj_uid'] = G::generateUniqueID();
|
||||
$projectData["process"]["pro_id"] = $faker->randomDigit;
|
||||
|
||||
$bpmnWorkflow = new BpmnWorkflow();
|
||||
|
||||
$projectData['prj_name'] = $faker->name;
|
||||
unset($projectData['diagrams']['0']['events']['0']['evn_marker']);
|
||||
|
||||
$this->expectException(Exception::class);
|
||||
$bpmnWorkflow->createFromStruct($projectData, true, null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\unit\workflow\engine\src\ProcessMaker\Services\Api;
|
||||
|
||||
use Faker\Factory;
|
||||
use ProcessMaker\Model\Process;
|
||||
use ProcessMaker\Model\User;
|
||||
use ProcessMaker\Importer\XmlImporter;
|
||||
use ProcessMaker\Services\Api\Project;
|
||||
use Tests\TestCase;
|
||||
|
||||
class ProjectTest extends TestCase
|
||||
{
|
||||
private $user;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
/**
|
||||
* To perform the test this requires a valid installation and its respective license.
|
||||
*
|
||||
* In the file "workflow/engine/classes/WorkspaceTools.php",
|
||||
* these lines need the db.php file.
|
||||
*
|
||||
* public function __construct($workspaceName)
|
||||
* {
|
||||
* $this->name = $workspaceName;
|
||||
* $this->path = PATH_DB . $this->name;
|
||||
* $this->dbPath = $this->path . '/db.php';
|
||||
* if ($this->workspaceExists()) {
|
||||
* $this->getDBInfo();
|
||||
* }
|
||||
* $this->setListContentMigrateTable();
|
||||
* }
|
||||
*/
|
||||
$this->markTestIncomplete("To perform the test this requires a valid installation and its respective license.");
|
||||
parent::setUp();
|
||||
$this->user = factory(User::class)->create();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the process owner with invalid value, the import test covers most of the code.
|
||||
* @test
|
||||
* @covers \ProcessMaker\Services\Api\Project::doSaveAs()
|
||||
* @covers \ProcessMaker\Importer\XmlImporter::saveAs()
|
||||
*/
|
||||
public function it_should_set_the_process_owner_with_invalid_value()
|
||||
{
|
||||
$filename = PATH_TRUNK . "/tests/resources/p1normal-1.pmx";
|
||||
$importer = new XmlImporter();
|
||||
$importer->setData("usr_uid", $this->user->USR_UID);
|
||||
$importer->setSourceFile($filename);
|
||||
$proUid = $importer->import(XmlImporter::IMPORT_OPTION_CREATE_NEW, XmlImporter::GROUP_IMPORT_OPTION_CREATE_NEW, false);
|
||||
|
||||
$faker = $faker = Factory::create();
|
||||
$project = new Project();
|
||||
$project->setUserId($this->user->USR_ID);
|
||||
$result = $project->doSaveAs($proUid, $faker->title);
|
||||
|
||||
$this->assertNotEmpty($result);
|
||||
}
|
||||
}
|
||||
7
thirdparty/pear/Log/file.php
vendored
7
thirdparty/pear/Log/file.php
vendored
@@ -319,7 +319,12 @@ class Log_file extends Log
|
||||
$request .= ($request!='' ? "\t" : '') . $k . '='.$v;
|
||||
}
|
||||
}
|
||||
foreach( $_GET as $k => $v ) $request .= ($request!='' ? "\t" : '') . $k . '='.$v;
|
||||
foreach ($_GET as $k => $v) {
|
||||
if (is_array($v)) {
|
||||
$v = json_encode($v);
|
||||
}
|
||||
$request .= ($request != '' ? "\t" : '') . $k . '=' . $v;
|
||||
}
|
||||
|
||||
//exact time with microseconds
|
||||
$t = explode(' ',microtime(false));
|
||||
|
||||
@@ -4807,9 +4807,7 @@ class Processes
|
||||
$oData->abeConfiguration = $this->getActionsByEmail($sProUid);
|
||||
$oData->elementTask = $this->getElementTaskRelation($sProUid);
|
||||
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
|
||||
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
|
||||
|
||||
//Return
|
||||
return $oData;
|
||||
}
|
||||
|
||||
|
||||
@@ -165,17 +165,16 @@ class GranularImporter
|
||||
{
|
||||
$project = $tables["project"][0];
|
||||
$diagram = $tables["diagram"][0];
|
||||
$diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : array();
|
||||
$diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : array();
|
||||
$diagram["events"] = (isset($tables["event"])) ? $tables["event"] : array();
|
||||
$diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : array();
|
||||
$diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : array();
|
||||
$diagram["data"] = (isset($tables["data"])) ? $tables["data"] : array();
|
||||
$diagram["participants"] = (isset($tables["participant"])) ? $tables["participant"] : array();
|
||||
$diagram["laneset"] = (isset($tables["laneset"])) ? $tables["laneset"] : array();
|
||||
$diagram["lanes"] = (isset($tables["lane"])) ? $tables["lane"] : array();
|
||||
$diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : [];
|
||||
$diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : [];
|
||||
$diagram["events"] = (isset($tables["event"])) ? $tables["event"] : [];
|
||||
$diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : [];
|
||||
$diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : [];
|
||||
$diagram["data"] = (isset($tables["data"])) ? $tables["data"] : [];
|
||||
$diagram["participants"] = (isset($tables["participant"])) ? $tables["participant"] : [];
|
||||
$diagram["laneset"] = (isset($tables["laneset"])) ? $tables["laneset"] : [];
|
||||
$diagram["lanes"] = (isset($tables["lane"])) ? $tables["lane"] : [];
|
||||
$project["diagrams"] = array($diagram);
|
||||
$project["prj_author"] = isset($this->data["usr_uid"]) ? $this->data["usr_uid"] : "00000000000000000000000000000001";
|
||||
$project["process"] = $tables["process"][0];
|
||||
return $project;
|
||||
}
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
namespace ProcessMaker\Importer;
|
||||
|
||||
use Processes;
|
||||
use ProcessMaker\Util;
|
||||
use ProcessMaker\Project;
|
||||
use ProcessMaker\Project\Adapter;
|
||||
use ProcessMaker\BusinessModel\Migrator;
|
||||
use ProcessMaker\BusinessModel\Migrator\ImportException;
|
||||
use ProcessMaker\Model\Process;
|
||||
use ProcessMaker\Project;
|
||||
use ProcessMaker\Project\Adapter;
|
||||
use ProcessMaker\Util;
|
||||
use ProcessMaker\Util\Common;
|
||||
use ProcessPeer;
|
||||
use stdClass;
|
||||
@@ -18,7 +19,7 @@ abstract class Importer
|
||||
protected $filename = "";
|
||||
protected $saveDir = "";
|
||||
protected $metadata = array();
|
||||
protected $prjCreateUser = '';
|
||||
|
||||
/**
|
||||
* Stores the current objects before import.
|
||||
* @var object
|
||||
@@ -332,7 +333,7 @@ abstract class Importer
|
||||
$diagram = $project->getStruct($projectUid);
|
||||
$res = $project->updateFromStruct($projectUid, $diagram);
|
||||
}
|
||||
|
||||
$this->updateTheProcessOwner($projectUid);
|
||||
return $projectUid;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
@@ -341,11 +342,29 @@ abstract class Importer
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
$result = $this->doImport($generateUid);
|
||||
|
||||
//Return
|
||||
$this->updateTheProcessOwner($result);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* This updates the process owner.
|
||||
* @param string $proUid
|
||||
* @return void
|
||||
*/
|
||||
private function updateTheProcessOwner(string $proUid): void
|
||||
{
|
||||
$processOwner = $this->data["usr_uid"];
|
||||
|
||||
$currentProcess = $this->getCurrentProcess();
|
||||
if (is_object($currentProcess)) {
|
||||
$processOwner = $currentProcess->process->getProCreateUser();
|
||||
}
|
||||
$process = Process::where('PRO_UID', '=', $proUid);
|
||||
$process->update([
|
||||
'PRO_CREATE_USER' => $processOwner
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare for import, it makes all validations needed
|
||||
* @return int
|
||||
@@ -535,19 +554,17 @@ abstract class Importer
|
||||
// Build BPMN project struct
|
||||
$project = $tables["project"][0];
|
||||
$diagram = $tables["diagram"][0];
|
||||
$diagram["activities"] = (isset($tables["activity"]))? $tables["activity"] : array();
|
||||
$diagram["artifacts"] = (isset($tables["artifact"]))? $tables["artifact"] : array();
|
||||
$diagram["events"] = (isset($tables["event"]))? $tables["event"] : array();
|
||||
$diagram["flows"] = (isset($tables["flow"]))? $tables["flow"] : array();
|
||||
$diagram["gateways"] = (isset($tables["gateway"]))? $tables["gateway"]: array();
|
||||
$diagram["data"] = (isset($tables["data"]))? $tables["data"] : array();
|
||||
$diagram["participants"] = (isset($tables["participant"]))? $tables["participant"] : array();
|
||||
$diagram["laneset"] = (isset($tables["laneset"]))? $tables["laneset"] : array();
|
||||
$diagram["lanes"] = (isset($tables["lane"]))? $tables["lane"] : array();
|
||||
$diagram["activities"] = (isset($tables["activity"]))? $tables["activity"] : [];
|
||||
$diagram["artifacts"] = (isset($tables["artifact"]))? $tables["artifact"] : [];
|
||||
$diagram["events"] = (isset($tables["event"]))? $tables["event"] : [];
|
||||
$diagram["flows"] = (isset($tables["flow"]))? $tables["flow"] : [];
|
||||
$diagram["gateways"] = (isset($tables["gateway"]))? $tables["gateway"]: [];
|
||||
$diagram["data"] = (isset($tables["data"]))? $tables["data"] : [];
|
||||
$diagram["participants"] = (isset($tables["participant"]))? $tables["participant"] : [];
|
||||
$diagram["laneset"] = (isset($tables["laneset"]))? $tables["laneset"] : [];
|
||||
$diagram["lanes"] = (isset($tables["lane"]))? $tables["lane"] : [];
|
||||
$project["diagrams"] = array($diagram);
|
||||
$project["prj_author"] = isset($this->data["usr_uid"])? $this->data["usr_uid"]: "00000000000000000000000000000001";
|
||||
$project["process"] = $tables["process"][0];
|
||||
$project["prjCreateUser"] = $this->prjCreateUser;
|
||||
|
||||
return Adapter\BpmnWorkflow::createFromStruct($project, $generateUid);
|
||||
}
|
||||
@@ -839,7 +856,7 @@ abstract class Importer
|
||||
}
|
||||
}
|
||||
|
||||
public function saveAs($prj_uid, $prj_name, $prj_description, $prj_category, $prj_user = '')
|
||||
public function saveAs($prj_uid, $prj_name, $prj_description, $prj_category)
|
||||
{
|
||||
try {
|
||||
$exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid);
|
||||
@@ -857,7 +874,7 @@ abstract class Importer
|
||||
|
||||
$this->setSourceFile($outputFilename);
|
||||
$this->prepare();
|
||||
$this->prjCreateUser = $prj_user;
|
||||
|
||||
$this->importData["tables"]["bpmn"]["project"][0]["prj_name"] = $prj_name;
|
||||
$this->importData["tables"]["bpmn"]["project"][0]["prj_description"] = $prj_description;
|
||||
$this->importData["tables"]["bpmn"]["diagram"][0]["dia_name"] = $prj_name;
|
||||
@@ -869,7 +886,9 @@ abstract class Importer
|
||||
$this->importData["tables"]["workflow"]["process"][0]["PRO_UPDATE_DATE"] = null;
|
||||
$this->importData["tables"]["workflow"]["process"] = $this->importData["tables"]["workflow"]["process"][0];
|
||||
|
||||
return ['prj_uid' => $this->doImport(true, false)];
|
||||
$result = $this->doImport(true, false);
|
||||
$this->updateTheProcessOwner($result);
|
||||
return ['prj_uid' => $result];
|
||||
} catch (\Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
|
||||
@@ -99,10 +99,6 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$wpData["PRO_STATUS"] = $data["PRO_STATUS"];
|
||||
}
|
||||
|
||||
if (array_key_exists("PRO_CREATE_USER", $data)) {
|
||||
$wpData["PRO_CREATE_USER"] = $data["PRO_CREATE_USER"];
|
||||
}
|
||||
|
||||
$this->wp = new Project\Workflow();
|
||||
$this->wp->create($wpData);
|
||||
|
||||
@@ -1312,10 +1308,6 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$data["PRO_STATUS"] = $projectData['pro_status'];
|
||||
}
|
||||
|
||||
if (!empty($projectData['prjCreateUser'])) {
|
||||
$data["PRO_CREATE_USER"] = $projectData['prjCreateUser'];
|
||||
}
|
||||
|
||||
$bwp->create($data);
|
||||
|
||||
$diagramData = $processData = array();
|
||||
|
||||
@@ -277,7 +277,8 @@ class Project extends Api
|
||||
public function doSaveAs($prj_uid, $prj_name, $prj_description = null, $prj_category = null)
|
||||
{
|
||||
$importer = new \ProcessMaker\Importer\XmlImporter();
|
||||
return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category, $this->getUserId());
|
||||
$importer->setData("usr_uid", $this->getUserId());
|
||||
return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -453,7 +453,7 @@ Ext.onReady(function(){
|
||||
color = r.get('PRO_STATUS') == 'ACTIVE'? 'green': 'red';
|
||||
return String.format("<font color='{0}'>{1}</font>", color, v);
|
||||
}},
|
||||
{header: _('ID_PRO_USER'), dataIndex: 'PRO_CREATE_USER_LABEL', width: 150},
|
||||
{header: _('ID_OWNER'), dataIndex: 'PRO_CREATE_USER_LABEL', width: 150},
|
||||
{header: _('ID_PRO_CREATE_DATE'), dataIndex: 'PRO_CREATE_DATE', width: 90},
|
||||
{header: _('ID_INBOX'), dataIndex: 'CASES_COUNT_TO_DO', width: 50, align:'right'},
|
||||
{header: _('ID_DRAFT'), dataIndex: 'CASES_COUNT_DRAFT', width: 50, align:'right'},
|
||||
|
||||
Reference in New Issue
Block a user