PMC-138 Assigned user lost in case of Custom Import (Promotion Manager)

This commit is contained in:
Roly Rudy Gutierrez Pinto
2019-11-01 12:28:55 -04:00
parent 4806c865f3
commit 3e3ef93816
21 changed files with 11650 additions and 47 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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>

View 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>

View 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>

View 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"
}
]

File diff suppressed because it is too large Load Diff

View 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"
}
}

View 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>

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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));

View File

@@ -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;
}

View File

@@ -69,9 +69,9 @@ class GranularImporter
switch ($nameObject) {
case 'PROCESSDEFINITION':
$objectList['PROCESSDEFINITION']['bpmn'] = isset($data['tables']['bpmn']) ? $this->structureBpmnData
($data['tables']['bpmn']) : [];
($data['tables']['bpmn']) : [];
$objectList['PROCESSDEFINITION']['workflow'] = isset($data['tables']['workflow']) ?
$data['tables']['workflow'] : [];
$data['tables']['workflow'] : [];
break;
case 'ASSIGNMENTRULES':
$objectList['ASSIGNMENTRULES']['tasks'] = isset($data['tables']['workflow']['tasks']) ?
@@ -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;
}

View File

@@ -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();
}

View File

@@ -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();

View File

@@ -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);
}
/**

View File

@@ -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'},