diff --git a/features/backend/pm_user/main_tests_pm_user.feature b/features/backend/pm_user/main_tests_pm_user.feature index 2bbf93284..97790df53 100644 --- a/features/backend/pm_user/main_tests_pm_user.feature +++ b/features/backend/pm_user/main_tests_pm_user.feature @@ -144,6 +144,7 @@ Feature: User Main Tests Scenario Outline: Get a single Users and check some properties + Given that I want to get a resource with the key "usr_uid" stored in session array as variable "usr_uid_" And I request "user" And the content type is "application/json" Then the response status code should be 200 diff --git a/features/backend/pm_user/negative_tests_pm_user.feature b/features/backend/pm_user/negative_tests_pm_user.feature index 0d3f8a616..fdf54179b 100644 --- a/features/backend/pm_user/negative_tests_pm_user.feature +++ b/features/backend/pm_user/negative_tests_pm_user.feature @@ -19,9 +19,7 @@ Feature: PM User Main Tests | Invalid limit | a | 0 | c | 0 | 400 | | real numbers | a | 0.1 | 1.4599 | 0 | 400 | | real numbers | a | 1.5 | 1.4599 | 0 | 400 | - | real numbers | a | 0.0 | 1.0 | 1 | 400 | - | real numbers | a | 0.0 | 0.0 | 0 | 400 | - + Scenario Outline: Create new User with bad parameters (negative tests) Given POST this data: @@ -55,22 +53,22 @@ Feature: PM User Main Tests Examples: - | Test_description | usr_firstname | usr_lastname | usr_username | usr_email | usr_address | usr_zip_code | usr_country | usr_city | usr_location | usr_phone | usr_position | usr_replaced_by | usr_due_date | usr_calendar | usr_status | usr_role | usr_new_pass | usr_cnf_pass | error_code | type | error_message | - | Invalid usr_email | jhon | smith | jhon | jhonsmith | grenn #344 | 555-6555 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_email | - | Invalid usr_country | will | carter | will | will@gmail.com | saim #45 | 555-6522 | Bo | LP | LP | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | sample | sample | 400 | string | | - | Invalid usr_city | saraah | sandler | saraah | saraah@gmail.com | laberh #985 | 555-9999 | AR | BA | BA | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | 2014-12-12 | 99159704252f501c63f8c58025859967 | ACTIVE | PROCESSMAKER_ADMIN | admin | admin | 400 | string | | - | Invalid usr_location | daniela | perez | daniela | daniela@gmail.com | grenn #544 | 555-6565 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | INACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | | - | Invalid usr_replaced_by | micaela | sanchez | micaela | micaela@gmail.com | sancjh #544 | 555-6652 | United States | Florida | Miami | 555-6655-555 | Gerencia | 61364466400000000000333333333333 | 2016-02-15 | | VACATION | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | | - | Invalid usr_due_date | jhon | smith | jhon | jhon@gmail.com | grenn #344 | 555-6555 | United States | Florida | Miami | 555-6655-555 | Gerencia | | sample | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_due_date | - | Invalid usr_status | will | carter | will | will@gmail.com | saim #45 | 555-6522 | Bo | LP | LP | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | INPUT | PROCESSMAKER_MANAGER | sample | sample | 400 | string | | - | Invalid usr_role | saraah | sandler | saraah | saraah@gmail.com | laberh #985 | 555-9999 | AR | BA | BA | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | 2014-12-12 | 99159704252f501c63f8c58025859967 | ACTIVE | INPUT_DOCUMENT | admin | admin | 400 | string | | - | Without usr_firstname | | perez | daniel | daniela@gmail.com | grenn #544 | 555-6565 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | INACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | required | - | Without usr_lastname | micaela | | brayan | micaela@gmail.com | sancjh #544 | 555-6652 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | VACATION | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | required | - | Without usr_username | jhon | smith | | jhon@gmail.com | grenn #344 | 555-6555 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | required | - | Without usr_email | will | carter | herbert | | saim #45 | 555-6522 | Bo | LP | LP | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | sample | sample | 400 | string | required | - | Without usr_due_date | saraah | sandler | sarah | saraah@gmail.com | laberh #985 | 555-9999 | AR | BA | BA | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | | 99159704252f501c63f8c58025859967 | ACTIVE | PROCESSMAKER_ADMIN | admin | admin | 400 | string | required | - | Without usr_status | daniela | perez | daniella | daniela@gmail.com | grenn #544 | 555-6565 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | required | - | Without usr_role | micaela | sanchez | micaeella | micaela@gmail.com | sancjh #544 | 555-6652 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | VACATION | | sample | sample | 400 | string | required | - | Wrong password | jhon | smith | jhon | jhon@gmail.com | grenn #344 | 555-6555 | United States | Florida | Miami | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | igual | 400 | string | same | - | Short length of the password | will | carter | will | will@gmail.com | saim #45 | 555-6522 | Bo | LP | LP | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | hol | hol | 400 | string | Minimum length | - | Create with User exist | Peter | Vanko | peter | colosaqatest@gmail.com | | | | | | | | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | exists | + | Test_description | usr_firstname | usr_lastname | usr_username | usr_email | usr_address | usr_zip_code | usr_country | usr_city | usr_location | usr_phone | usr_position | usr_replaced_by | usr_due_date | usr_calendar | usr_status | usr_role | usr_new_pass | usr_cnf_pass | error_code | type | error_message | + | Invalid usr_email | jhon | smith | jhon | jhonsmith | grenn #344 | 555-6555 | US | FL | MIA | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_email | + | Invalid usr_country | will | carter | will | will@gmail.com | saim #45 | 555-6522 | BOLIVIA | L | LPB | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | sample | sample | 400 | string | usr_country | + | Invalid usr_city | saraah | sandler | saraah | saraah@gmail.com | laberh #985 | 555-9999 | AR | BOLIVIA | BUE | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | 2014-12-12 | 99159704252f501c63f8c58025859967 | ACTIVE | PROCESSMAKER_ADMIN | admin | admin | 400 | string | usr_city | + | Invalid usr_location | daniela | perez | daniela | daniela@gmail.com | grenn #544 | 555-6565 | US | FL | MIAMI | 555-6655-555 | Gerencia | | 2016-02-15 | | INACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_location | + | Invalid usr_replaced_by | micaela | sanchez | micaela | micaela@gmail.com | sancjh #544 | 555-6652 | BO | L | LPB | 555-6655-555 | Gerencia | 61364466400000000000333333333333 | 2016-02-15 | | VACATION | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_replaced_by | + | Invalid usr_due_date | jhon | smith | jhon | jhon@gmail.com | grenn #344 | 555-6555 | AR | B | BUE | 555-6655-555 | Gerencia | | sample | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_due_date | + | Invalid usr_status | will | carter | will | will@gmail.com | saim #45 | 555-6522 | US | FL | MIA | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | INPUT | PROCESSMAKER_MANAGER | sample | sample | 400 | string | usr_status | + | Invalid usr_role | saraah | sandler | saraah | saraah@gmail.com | laberh #985 | 555-9999 | BO | L | LPB | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | 2014-12-12 | 99159704252f501c63f8c58025859967 | ACTIVE | INPUT_DOCUMENT | admin | admin | 400 | string | usr_role | + | Without usr_firstname | | perez | daniel | daniela@gmail.com | grenn #544 | 555-6565 | AR | B | BUE | 555-6655-555 | Gerencia | | 2016-02-15 | | INACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_firstname | + | Without usr_lastname | micaela | | brayan | micaela@gmail.com | sancjh #544 | 555-6652 | US | FL | MIA | 555-6655-555 | Gerencia | | 2016-02-15 | | VACATION | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_lastname | + | Without usr_username | jhon | smith | | jhon@gmail.com | grenn #344 | 555-6555 | BO | L | LPB | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_username | + | Without usr_email | will | carter | herbert | | saim #45 | 555-6522 | AR | B | BUE | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | sample | sample | 400 | string | usr_email | + | Without usr_due_date | saraah | sandler | sarahh | saraah@gmail.com | laberh #985 | 555-9999 | US | FL | MIA | 2353643644 | Desarrollo | 61364466452d56711adb378002702791 | | 99159704252f501c63f8c58025859967 | ACTIVE | PROCESSMAKER_ADMIN | admin | admin | 400 | string | usr_due_date | + | Without usr_status | daniela | perez | daniella | daniela@gmail.com | grenn #544 | 555-6565 | US | FL | MIA | 555-6655-555 | Gerencia | | 2016-02-15 | | | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | usr_status | + | Without usr_role | micaela | sanchez | micaeella | micaela@gmail.com | sancjh #544 | 555-6652 | BO | L | LPB | 555-6655-555 | Gerencia | | 2016-02-15 | | VACATION | | sample | sample | 400 | string | usr_role | + | Wrong password | jhon | smith | jhon | jhon@gmail.com | grenn #344 | 555-6555 | AR | B | BUE | 555-6655-555 | Gerencia | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | igual | 400 | string | same | + | Short length of the password | will | carter | will | will@gmail.com | saim #45 | 555-6522 | US | FL | MIA | 23344444 | Adminsitracion | 44811996752d567110634a1013636964 | 2014-12-12 | | ACTIVE | PROCESSMAKER_MANAGER | hol | hol | 400 | string | Minimum length | + | Create with User exist | Peter | Vanko | peter | colosaqatest@gmail.com | | | | | | | | | 2016-02-15 | | ACTIVE | PROCESSMAKER_OPERATOR | sample | sample | 400 | string | exists | diff --git a/features/backend/report_tables/basic_sequence_report_tables.feature b/features/backend/report_tables/basic_sequence_report_tables.feature index 526d0beec..11ee410b3 100644 --- a/features/backend/report_tables/basic_sequence_report_tables.feature +++ b/features/backend/report_tables/basic_sequence_report_tables.feature @@ -70,7 +70,7 @@ Feature: DataBase Connections ] } """ - And that I want to update a resource with the key "dbs_uid" stored in session array + And that I want to update a resource with the key "rep_uid" stored in session array And I request "project/96189226752f3e5e23c1303036042196/report-table" Then the response status code should be 200 And the response charset is "UTF-8" @@ -79,7 +79,7 @@ Feature: DataBase Connections Scenario: Get a database connection (with change in "dbs_description" and "dbs_database_name") Given that I have a valid access_token - And that I want to get a resource with the key "dbs_uid" stored in session array + And that I want to get a resource with the key "rep_uid" stored in session array And I request "project/96189226752f3e5e23c1303036042196/report-table" Then the response status code should be 200 And the response charset is "UTF-8" @@ -89,7 +89,7 @@ Feature: DataBase Connections Scenario: Delete a database connection Given that I have a valid access_token - And that I want to delete a resource with the key "dbs_uid" stored in session array + And that I want to delete a resource with the key "rep_uid" stored in session array And I request "project/96189226752f3e5e23c1303036042196/report-table" Then the response status code should be 200 And the response charset is "UTF-8" diff --git a/features/backend/report_tables/main_tests_report_tables.feature b/features/backend/report_tables/main_tests_report_tables.feature index e6a8899da..3bafd669e 100644 --- a/features/backend/report_tables/main_tests_report_tables.feature +++ b/features/backend/report_tables/main_tests_report_tables.feature @@ -28,19 +28,19 @@ Scenario Outline: Create new report tables from dynaform and grid "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : },{ "fld_dyn" : "", "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : },{ "fld_dyn" : "", "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : } ] } @@ -52,8 +52,8 @@ Scenario Outline: Create new report tables from dynaform and grid Examples: | test_description | project | rep_uid_number | rep_tab_name | rep_tab_dsc | rep_tab_connection | rep_tab_type | rep_tab_grid | fld_dyn_1 | fld_name_1 | fld_label_1 | fld_type_1 | fld_size_1 | fld_dyn_2 | fld_name_2 | fld_label_2 | fld_type_2 | fld_size_2 | fld_dyn_3 | fld_name_3 | fld_label_3 | fld_type_3 | fld_size_3 | - | Create a Report Table - Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 15 | - | Create a Report Table - Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc 2 | workflow | GRID | 267480685524ac9b3bd5e23004484669 | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 15 | + | Create a Report Table - Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 15 | + | Create a Report Table - Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc 2 | workflow | GRID | 267480685524ac9b3bd5e23004484669 | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 15 | Scenario: Create a new database connection with same name @@ -99,19 +99,19 @@ Scenario Outline: Update a created report tables "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : },{ "fld_dyn" : "", "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : },{ "fld_dyn" : "", "fld_name" : "", "fld_label" : "", "fld_type" : "", - "fld_size" : "" + "fld_size" : } ] } @@ -126,8 +126,8 @@ Scenario Outline: Update a created report tables Examples: | test_description | project | rep_uid_number | rep_tab_name | rep_tab_dsc | rep_tab_connection | rep_tab_type | rep_tab_grid | fld_dyn_1 | fld_name_1 | fld_label_1 | fld_type_1 | fld_size_1 | fld_dyn_2 | fld_name_2 | fld_label_2 | fld_type_2 | fld_size_2 | fld_dyn_3 | fld_name_3 | fld_label_3 | fld_type_3 | fld_size_3 | - | Update a Report Table - Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | - | Update a Report Table - Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | 267480685524ac9b3bd5e23004484669 | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | Update a Report Table - Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | Update a Report Table - Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | 267480685524ac9b3bd5e23004484669 | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | Scenario Outline: Get a details of created report tables @@ -142,8 +142,8 @@ Scenario Outline: Get a details of created report tables Examples: | project | rep_uid_number | rep_tab_name | rep_tab_dsc | rep_tab_connection | rep_tab_type | rep_tab_grid | fld_dyn_1 | fld_name_1 | fld_label_1 | fld_type_1 | fld_size_1 | fld_dyn_2 | fld_name_2 | fld_label_2 | fld_type_2 | fld_size_2 | fld_dyn_3 | fld_name_3 | fld_label_3 | fld_type_3 | fld_size_3 | - | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | - | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | grid | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | grid | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | Scenario Outline: Populate report tables @@ -154,8 +154,8 @@ Scenario Outline: Populate report tables Examples: | test_description | project | rep_uid_number | rep_tab_name | rep_tab_dsc | rep_tab_connection | rep_tab_type | rep_tab_grid | fld_dyn_1 | fld_name_1 | fld_label_1 | fld_type_1 | fld_size_1 | fld_dyn_2 | fld_name_2 | fld_label_2 | fld_type_2 | fld_size_2 | fld_dyn_3 | fld_name_3 | fld_label_3 | fld_type_3 | fld_size_3 | - | Populate Report Table Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | - | Populate Report Table Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | grid | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | Populate Report Table Normal | 922677707524ac7417ce345089010125 | 1 | REPORT_TABLE_1 | Report Table Desc Updated 1 | workflow | NORMAL | | nameany | NAME_ANY | Name Any | VARCHAR | 64 | date1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | + | Populate Report Table Grid | 922677707524ac7417ce345089010125 | 2 | REPORT_TABLE_2 | Report Table Desc Updated 2 | workflow | GRID | grid | text1 | TEXT_1 | Text 1 | VARCHAR | 64 | fecha1 | DATE_1 | Date | DATE | 0 | | CUSTOM_FIELD_1 | Custom Field 1 | VARCHAR | 150 | diff --git a/workflow/engine/classes/model/map/BpmnEventMapBuilder.php b/workflow/engine/classes/model/map/BpmnEventMapBuilder.php index 1c42b65d5..7fd82bbb1 100644 --- a/workflow/engine/classes/model/map/BpmnEventMapBuilder.php +++ b/workflow/engine/classes/model/map/BpmnEventMapBuilder.php @@ -99,7 +99,7 @@ class BpmnEventMapBuilder $tMap->addColumn('EVN_MESSAGE', 'EvnMessage', 'string', CreoleTypes::LONGVARCHAR, false, null); - $tMap->addColumn('EVN_OPRERATION_NAME', 'EvnOprerationName', 'string', CreoleTypes::VARCHAR, false, 255); + $tMap->addColumn('EVN_OPERATION_NAME', 'EvnOperationName', 'string', CreoleTypes::VARCHAR, false, 255); $tMap->addColumn('EVN_OPERATION_IMPLEMENTATION_REF', 'EvnOperationImplementationRef', 'string', CreoleTypes::VARCHAR, false, 255); diff --git a/workflow/engine/classes/model/om/BaseBpmnEvent.php b/workflow/engine/classes/model/om/BaseBpmnEvent.php index c71f57df7..80059a84f 100644 --- a/workflow/engine/classes/model/om/BaseBpmnEvent.php +++ b/workflow/engine/classes/model/om/BaseBpmnEvent.php @@ -130,10 +130,10 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent protected $evn_message; /** - * The value for the evn_opreration_name field. + * The value for the evn_operation_name field. * @var string */ - protected $evn_opreration_name; + protected $evn_operation_name; /** * The value for the evn_operation_implementation_ref field. @@ -377,14 +377,14 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent } /** - * Get the [evn_opreration_name] column value. + * Get the [evn_operation_name] column value. * * @return string */ - public function getEvnOprerationName() + public function getEvnOperationName() { - return $this->evn_opreration_name; + return $this->evn_operation_name; } /** @@ -825,12 +825,12 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent } // setEvnMessage() /** - * Set the value of [evn_opreration_name] column. + * Set the value of [evn_operation_name] column. * * @param string $v new value * @return void */ - public function setEvnOprerationName($v) + public function setEvnOperationName($v) { // Since the native PHP type for this column is string, @@ -839,12 +839,12 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $v = (string) $v; } - if ($this->evn_opreration_name !== $v) { - $this->evn_opreration_name = $v; - $this->modifiedColumns[] = BpmnEventPeer::EVN_OPRERATION_NAME; + if ($this->evn_operation_name !== $v) { + $this->evn_operation_name = $v; + $this->modifiedColumns[] = BpmnEventPeer::EVN_OPERATION_NAME; } - } // setEvnOprerationName() + } // setEvnOperationName() /** * Set the value of [evn_operation_implementation_ref] column. @@ -1007,7 +1007,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $this->evn_message = $rs->getString($startcol + 16); - $this->evn_opreration_name = $rs->getString($startcol + 17); + $this->evn_operation_name = $rs->getString($startcol + 17); $this->evn_operation_implementation_ref = $rs->getString($startcol + 18); @@ -1318,7 +1318,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent return $this->getEvnMessage(); break; case 17: - return $this->getEvnOprerationName(); + return $this->getEvnOperationName(); break; case 18: return $this->getEvnOperationImplementationRef(); @@ -1372,7 +1372,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $keys[14] => $this->getEvnEscalationCode(), $keys[15] => $this->getEvnCondition(), $keys[16] => $this->getEvnMessage(), - $keys[17] => $this->getEvnOprerationName(), + $keys[17] => $this->getEvnOperationName(), $keys[18] => $this->getEvnOperationImplementationRef(), $keys[19] => $this->getEvnTimeDate(), $keys[20] => $this->getEvnTimeCycle(), @@ -1461,7 +1461,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $this->setEvnMessage($value); break; case 17: - $this->setEvnOprerationName($value); + $this->setEvnOperationName($value); break; case 18: $this->setEvnOperationImplementationRef($value); @@ -1570,7 +1570,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent } if (array_key_exists($keys[17], $arr)) { - $this->setEvnOprerationName($arr[$keys[17]]); + $this->setEvnOperationName($arr[$keys[17]]); } if (array_key_exists($keys[18], $arr)) { @@ -1672,8 +1672,8 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $criteria->add(BpmnEventPeer::EVN_MESSAGE, $this->evn_message); } - if ($this->isColumnModified(BpmnEventPeer::EVN_OPRERATION_NAME)) { - $criteria->add(BpmnEventPeer::EVN_OPRERATION_NAME, $this->evn_opreration_name); + if ($this->isColumnModified(BpmnEventPeer::EVN_OPERATION_NAME)) { + $criteria->add(BpmnEventPeer::EVN_OPERATION_NAME, $this->evn_operation_name); } if ($this->isColumnModified(BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF)) { @@ -1782,7 +1782,7 @@ abstract class BaseBpmnEvent extends BaseObject implements Persistent $copyObj->setEvnMessage($this->evn_message); - $copyObj->setEvnOprerationName($this->evn_opreration_name); + $copyObj->setEvnOperationName($this->evn_operation_name); $copyObj->setEvnOperationImplementationRef($this->evn_operation_implementation_ref); diff --git a/workflow/engine/classes/model/om/BaseBpmnEventPeer.php b/workflow/engine/classes/model/om/BaseBpmnEventPeer.php index f1afbfb32..867906b13 100644 --- a/workflow/engine/classes/model/om/BaseBpmnEventPeer.php +++ b/workflow/engine/classes/model/om/BaseBpmnEventPeer.php @@ -82,8 +82,8 @@ abstract class BaseBpmnEventPeer /** the column name for the EVN_MESSAGE field */ const EVN_MESSAGE = 'BPMN_EVENT.EVN_MESSAGE'; - /** the column name for the EVN_OPRERATION_NAME field */ - const EVN_OPRERATION_NAME = 'BPMN_EVENT.EVN_OPRERATION_NAME'; + /** the column name for the EVN_OPERATION_NAME field */ + const EVN_OPERATION_NAME = 'BPMN_EVENT.EVN_OPERATION_NAME'; /** the column name for the EVN_OPERATION_IMPLEMENTATION_REF field */ const EVN_OPERATION_IMPLEMENTATION_REF = 'BPMN_EVENT.EVN_OPERATION_IMPLEMENTATION_REF'; @@ -111,9 +111,9 @@ abstract class BaseBpmnEventPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('EvnUid', 'PrjUid', 'ProUid', 'EvnName', 'EvnType', 'EvnMarker', 'EvnIsInterrupting', 'EvnAttachedTo', 'EvnCancelActivity', 'EvnActivityRef', 'EvnWaitForCompletion', 'EvnErrorName', 'EvnErrorCode', 'EvnEscalationName', 'EvnEscalationCode', 'EvnCondition', 'EvnMessage', 'EvnOprerationName', 'EvnOperationImplementationRef', 'EvnTimeDate', 'EvnTimeCycle', 'EvnTimeDuration', 'EvnBehavior', ), - BasePeer::TYPE_COLNAME => array (BpmnEventPeer::EVN_UID, BpmnEventPeer::PRJ_UID, BpmnEventPeer::PRO_UID, BpmnEventPeer::EVN_NAME, BpmnEventPeer::EVN_TYPE, BpmnEventPeer::EVN_MARKER, BpmnEventPeer::EVN_IS_INTERRUPTING, BpmnEventPeer::EVN_ATTACHED_TO, BpmnEventPeer::EVN_CANCEL_ACTIVITY, BpmnEventPeer::EVN_ACTIVITY_REF, BpmnEventPeer::EVN_WAIT_FOR_COMPLETION, BpmnEventPeer::EVN_ERROR_NAME, BpmnEventPeer::EVN_ERROR_CODE, BpmnEventPeer::EVN_ESCALATION_NAME, BpmnEventPeer::EVN_ESCALATION_CODE, BpmnEventPeer::EVN_CONDITION, BpmnEventPeer::EVN_MESSAGE, BpmnEventPeer::EVN_OPRERATION_NAME, BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF, BpmnEventPeer::EVN_TIME_DATE, BpmnEventPeer::EVN_TIME_CYCLE, BpmnEventPeer::EVN_TIME_DURATION, BpmnEventPeer::EVN_BEHAVIOR, ), - BasePeer::TYPE_FIELDNAME => array ('EVN_UID', 'PRJ_UID', 'PRO_UID', 'EVN_NAME', 'EVN_TYPE', 'EVN_MARKER', 'EVN_IS_INTERRUPTING', 'EVN_ATTACHED_TO', 'EVN_CANCEL_ACTIVITY', 'EVN_ACTIVITY_REF', 'EVN_WAIT_FOR_COMPLETION', 'EVN_ERROR_NAME', 'EVN_ERROR_CODE', 'EVN_ESCALATION_NAME', 'EVN_ESCALATION_CODE', 'EVN_CONDITION', 'EVN_MESSAGE', 'EVN_OPRERATION_NAME', 'EVN_OPERATION_IMPLEMENTATION_REF', 'EVN_TIME_DATE', 'EVN_TIME_CYCLE', 'EVN_TIME_DURATION', 'EVN_BEHAVIOR', ), + BasePeer::TYPE_PHPNAME => array ('EvnUid', 'PrjUid', 'ProUid', 'EvnName', 'EvnType', 'EvnMarker', 'EvnIsInterrupting', 'EvnAttachedTo', 'EvnCancelActivity', 'EvnActivityRef', 'EvnWaitForCompletion', 'EvnErrorName', 'EvnErrorCode', 'EvnEscalationName', 'EvnEscalationCode', 'EvnCondition', 'EvnMessage', 'EvnOperationName', 'EvnOperationImplementationRef', 'EvnTimeDate', 'EvnTimeCycle', 'EvnTimeDuration', 'EvnBehavior', ), + BasePeer::TYPE_COLNAME => array (BpmnEventPeer::EVN_UID, BpmnEventPeer::PRJ_UID, BpmnEventPeer::PRO_UID, BpmnEventPeer::EVN_NAME, BpmnEventPeer::EVN_TYPE, BpmnEventPeer::EVN_MARKER, BpmnEventPeer::EVN_IS_INTERRUPTING, BpmnEventPeer::EVN_ATTACHED_TO, BpmnEventPeer::EVN_CANCEL_ACTIVITY, BpmnEventPeer::EVN_ACTIVITY_REF, BpmnEventPeer::EVN_WAIT_FOR_COMPLETION, BpmnEventPeer::EVN_ERROR_NAME, BpmnEventPeer::EVN_ERROR_CODE, BpmnEventPeer::EVN_ESCALATION_NAME, BpmnEventPeer::EVN_ESCALATION_CODE, BpmnEventPeer::EVN_CONDITION, BpmnEventPeer::EVN_MESSAGE, BpmnEventPeer::EVN_OPERATION_NAME, BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF, BpmnEventPeer::EVN_TIME_DATE, BpmnEventPeer::EVN_TIME_CYCLE, BpmnEventPeer::EVN_TIME_DURATION, BpmnEventPeer::EVN_BEHAVIOR, ), + BasePeer::TYPE_FIELDNAME => array ('EVN_UID', 'PRJ_UID', 'PRO_UID', 'EVN_NAME', 'EVN_TYPE', 'EVN_MARKER', 'EVN_IS_INTERRUPTING', 'EVN_ATTACHED_TO', 'EVN_CANCEL_ACTIVITY', 'EVN_ACTIVITY_REF', 'EVN_WAIT_FOR_COMPLETION', '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', ), BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, ) ); @@ -124,9 +124,9 @@ abstract class BaseBpmnEventPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('EvnUid' => 0, 'PrjUid' => 1, 'ProUid' => 2, 'EvnName' => 3, 'EvnType' => 4, 'EvnMarker' => 5, 'EvnIsInterrupting' => 6, 'EvnAttachedTo' => 7, 'EvnCancelActivity' => 8, 'EvnActivityRef' => 9, 'EvnWaitForCompletion' => 10, 'EvnErrorName' => 11, 'EvnErrorCode' => 12, 'EvnEscalationName' => 13, 'EvnEscalationCode' => 14, 'EvnCondition' => 15, 'EvnMessage' => 16, 'EvnOprerationName' => 17, 'EvnOperationImplementationRef' => 18, 'EvnTimeDate' => 19, 'EvnTimeCycle' => 20, 'EvnTimeDuration' => 21, 'EvnBehavior' => 22, ), - BasePeer::TYPE_COLNAME => array (BpmnEventPeer::EVN_UID => 0, BpmnEventPeer::PRJ_UID => 1, BpmnEventPeer::PRO_UID => 2, BpmnEventPeer::EVN_NAME => 3, BpmnEventPeer::EVN_TYPE => 4, BpmnEventPeer::EVN_MARKER => 5, BpmnEventPeer::EVN_IS_INTERRUPTING => 6, BpmnEventPeer::EVN_ATTACHED_TO => 7, BpmnEventPeer::EVN_CANCEL_ACTIVITY => 8, BpmnEventPeer::EVN_ACTIVITY_REF => 9, BpmnEventPeer::EVN_WAIT_FOR_COMPLETION => 10, BpmnEventPeer::EVN_ERROR_NAME => 11, BpmnEventPeer::EVN_ERROR_CODE => 12, BpmnEventPeer::EVN_ESCALATION_NAME => 13, BpmnEventPeer::EVN_ESCALATION_CODE => 14, BpmnEventPeer::EVN_CONDITION => 15, BpmnEventPeer::EVN_MESSAGE => 16, BpmnEventPeer::EVN_OPRERATION_NAME => 17, BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF => 18, BpmnEventPeer::EVN_TIME_DATE => 19, BpmnEventPeer::EVN_TIME_CYCLE => 20, BpmnEventPeer::EVN_TIME_DURATION => 21, BpmnEventPeer::EVN_BEHAVIOR => 22, ), - BasePeer::TYPE_FIELDNAME => array ('EVN_UID' => 0, 'PRJ_UID' => 1, 'PRO_UID' => 2, 'EVN_NAME' => 3, 'EVN_TYPE' => 4, 'EVN_MARKER' => 5, 'EVN_IS_INTERRUPTING' => 6, 'EVN_ATTACHED_TO' => 7, 'EVN_CANCEL_ACTIVITY' => 8, 'EVN_ACTIVITY_REF' => 9, 'EVN_WAIT_FOR_COMPLETION' => 10, 'EVN_ERROR_NAME' => 11, 'EVN_ERROR_CODE' => 12, 'EVN_ESCALATION_NAME' => 13, 'EVN_ESCALATION_CODE' => 14, 'EVN_CONDITION' => 15, 'EVN_MESSAGE' => 16, 'EVN_OPRERATION_NAME' => 17, 'EVN_OPERATION_IMPLEMENTATION_REF' => 18, 'EVN_TIME_DATE' => 19, 'EVN_TIME_CYCLE' => 20, 'EVN_TIME_DURATION' => 21, 'EVN_BEHAVIOR' => 22, ), + BasePeer::TYPE_PHPNAME => array ('EvnUid' => 0, 'PrjUid' => 1, 'ProUid' => 2, 'EvnName' => 3, 'EvnType' => 4, 'EvnMarker' => 5, 'EvnIsInterrupting' => 6, 'EvnAttachedTo' => 7, 'EvnCancelActivity' => 8, 'EvnActivityRef' => 9, 'EvnWaitForCompletion' => 10, 'EvnErrorName' => 11, 'EvnErrorCode' => 12, 'EvnEscalationName' => 13, 'EvnEscalationCode' => 14, 'EvnCondition' => 15, 'EvnMessage' => 16, 'EvnOperationName' => 17, 'EvnOperationImplementationRef' => 18, 'EvnTimeDate' => 19, 'EvnTimeCycle' => 20, 'EvnTimeDuration' => 21, 'EvnBehavior' => 22, ), + BasePeer::TYPE_COLNAME => array (BpmnEventPeer::EVN_UID => 0, BpmnEventPeer::PRJ_UID => 1, BpmnEventPeer::PRO_UID => 2, BpmnEventPeer::EVN_NAME => 3, BpmnEventPeer::EVN_TYPE => 4, BpmnEventPeer::EVN_MARKER => 5, BpmnEventPeer::EVN_IS_INTERRUPTING => 6, BpmnEventPeer::EVN_ATTACHED_TO => 7, BpmnEventPeer::EVN_CANCEL_ACTIVITY => 8, BpmnEventPeer::EVN_ACTIVITY_REF => 9, BpmnEventPeer::EVN_WAIT_FOR_COMPLETION => 10, BpmnEventPeer::EVN_ERROR_NAME => 11, BpmnEventPeer::EVN_ERROR_CODE => 12, BpmnEventPeer::EVN_ESCALATION_NAME => 13, BpmnEventPeer::EVN_ESCALATION_CODE => 14, BpmnEventPeer::EVN_CONDITION => 15, BpmnEventPeer::EVN_MESSAGE => 16, BpmnEventPeer::EVN_OPERATION_NAME => 17, BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF => 18, BpmnEventPeer::EVN_TIME_DATE => 19, BpmnEventPeer::EVN_TIME_CYCLE => 20, BpmnEventPeer::EVN_TIME_DURATION => 21, BpmnEventPeer::EVN_BEHAVIOR => 22, ), + BasePeer::TYPE_FIELDNAME => array ('EVN_UID' => 0, 'PRJ_UID' => 1, 'PRO_UID' => 2, 'EVN_NAME' => 3, 'EVN_TYPE' => 4, 'EVN_MARKER' => 5, 'EVN_IS_INTERRUPTING' => 6, 'EVN_ATTACHED_TO' => 7, 'EVN_CANCEL_ACTIVITY' => 8, 'EVN_ACTIVITY_REF' => 9, 'EVN_WAIT_FOR_COMPLETION' => 10, 'EVN_ERROR_NAME' => 11, 'EVN_ERROR_CODE' => 12, 'EVN_ESCALATION_NAME' => 13, 'EVN_ESCALATION_CODE' => 14, 'EVN_CONDITION' => 15, 'EVN_MESSAGE' => 16, 'EVN_OPERATION_NAME' => 17, 'EVN_OPERATION_IMPLEMENTATION_REF' => 18, 'EVN_TIME_DATE' => 19, 'EVN_TIME_CYCLE' => 20, 'EVN_TIME_DURATION' => 21, 'EVN_BEHAVIOR' => 22, ), BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, ) ); @@ -262,7 +262,7 @@ abstract class BaseBpmnEventPeer $criteria->addSelectColumn(BpmnEventPeer::EVN_MESSAGE); - $criteria->addSelectColumn(BpmnEventPeer::EVN_OPRERATION_NAME); + $criteria->addSelectColumn(BpmnEventPeer::EVN_OPERATION_NAME); $criteria->addSelectColumn(BpmnEventPeer::EVN_OPERATION_IMPLEMENTATION_REF); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index d53a79de7..c3eff4cad 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -3302,7 +3302,7 @@ - + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 96646e1c1..31e859bbe 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -1825,7 +1825,7 @@ CREATE TABLE `BPMN_EVENT` `EVN_ESCALATION_CODE` VARCHAR(255), `EVN_CONDITION` VARCHAR(255), `EVN_MESSAGE` MEDIUMTEXT, - `EVN_OPRERATION_NAME` VARCHAR(255), + `EVN_OPERATION_NAME` VARCHAR(255), `EVN_OPERATION_IMPLEMENTATION_REF` VARCHAR(255), `EVN_TIME_DATE` VARCHAR(255), `EVN_TIME_CYCLE` VARCHAR(255), diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 4a3640308..7730aaa4d 100644 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -116,13 +116,6 @@ class BpmnWorkflow extends Project\Bpmn public function updateActivity($actUid, $data) { - unset($data["BOU_ELEMENT_ID"]); - - if (! self::isModified("activity", $actUid, $data)) { - self::log("Update Activity: $actUid (No Changes)"); - return false; - } - parent::updateActivity($actUid, $data); $taskData = array(); @@ -233,6 +226,11 @@ class BpmnWorkflow extends Project\Bpmn parent::addEvent($data); } + public function updateEvent($evnUid, $data) + { + parent::updateEvent($evnUid, $data); + } + public function removeEvent($evnUid) { // $event = \BpmnEventPeer::retrieveByPK($evnUid); diff --git a/workflow/engine/src/ProcessMaker/Project/Bpmn.php b/workflow/engine/src/ProcessMaker/Project/Bpmn.php index 0b8325052..b60a491f2 100644 --- a/workflow/engine/src/ProcessMaker/Project/Bpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Bpmn.php @@ -60,6 +60,10 @@ class Bpmn extends Handler "PRJ_UID", "PRO_UID", "BOU_ELEMENT", "BOU_ELEMENT_TYPE", "BOU_REL_POSITION", "BOU_SIZE_IDENTICAL", "DIA_UID", "BOU_UID", "ELEMENT_UID" ), + "event" => array( + "PRJ_UID", "PRO_UID", "BOU_ELEMENT", "BOU_ELEMENT_TYPE", "BOU_REL_POSITION", + "BOU_SIZE_IDENTICAL", "DIA_UID", "BOU_UID", "ELEMENT_UID", "EVN_ATTACHED_TO", "EVN_CONDITION" + ), "flow" => array("PRJ_UID", "DIA_UID", "FLO_ELEMENT_DEST_PORT", "FLO_ELEMENT_ORIGIN_PORT") ); @@ -356,8 +360,9 @@ class Bpmn extends Handler { $event = EventPeer::retrieveByPK($evnUid); - if ($retType != "object" && ! empty($activity)) { + if ($retType != "object" && ! empty($event)) { $event = $event->toArray(); + $event = self::filterArrayKeys($event, self::$excludeFields["event"]); } return $event; @@ -369,11 +374,26 @@ class Bpmn extends Handler extract($start); } - return Event::getAll($this->project->getPrjUid(), null, null, '', $changeCaseTo); + //return Event::getAll($this->project->getPrjUid(), null, null, '', $changeCaseTo); + + $filter = $changeCaseTo != CASE_UPPER ? array_map("strtolower", self::$excludeFields["event"]) : self::$excludeFields["event"]; + + return self::filterCollectionArrayKeys( + Event::getAll($this->getUid(), $start, $limit, $filter, $changeCaseTo), + $filter + ); } public function updateEvent($evnUid, $data) { + if (array_key_exists("EVN_CANCEL_ACTIVITY", $data)) { + $data["EVN_CANCEL_ACTIVITY"] = $data["EVN_CANCEL_ACTIVITY"] ? 1 : 0; + } + + if (array_key_exists("EVN_WAIT_FOR_COMPLETION", $data)) { + $data["EVN_WAIT_FOR_COMPLETION"] = $data["EVN_WAIT_FOR_COMPLETION"] ? 1 : 0; + } + try { self::log("Update Event: $evnUid", "With data: ", $data); @@ -626,7 +646,8 @@ class Bpmn extends Handler case "event": $data = $this->getEvent($uid); break; case "flow": $data = $this->getFlow($uid); break; } - + //self::log("saved data: ", $data, "new data: ", $newData); + //self::log("checksum saved data: ", self::getChecksum($data), "checksum new data: ", self::getChecksum($newData)); return (self::getChecksum($data) !== self::getChecksum($newData)); } } \ No newline at end of file diff --git a/workflow/engine/src/ProcessMaker/Project/Handler.php b/workflow/engine/src/ProcessMaker/Project/Handler.php index 9bf25f7e5..432941f3f 100644 --- a/workflow/engine/src/ProcessMaker/Project/Handler.php +++ b/workflow/engine/src/ProcessMaker/Project/Handler.php @@ -90,6 +90,16 @@ abstract class Handler return $result; } + public static function isEquals($array, $arrayCompare) + { + ksort($array); + ksort($arrayCompare); + self::log($array, $arrayCompare); + //$ret = array_diff_assoc($array, $arrayCompare); + + return (self::getChecksum($array) === self::getChecksum($arrayCompare)); + } + /** * Log in ProcessMaker Standard Output if debug mode is enabled. * diff --git a/workflow/engine/src/Services/Api/ProcessMaker/Project.php b/workflow/engine/src/Services/Api/ProcessMaker/Project.php index 90e977dea..54bc73c50 100644 --- a/workflow/engine/src/Services/Api/ProcessMaker/Project.php +++ b/workflow/engine/src/Services/Api/ProcessMaker/Project.php @@ -120,19 +120,18 @@ class Project extends Api foreach ($diagram["activities"] as $i => $activityData) { $activityData = array_change_key_case($activityData, CASE_UPPER); unset($activityData["_EXTENDED"]); + unset($activityData["BOU_ELEMENT_ID"]); - // activity exists ? - if ($bwp->activityExists($activityData["ACT_UID"])) { - // then update activity - $bwp->updateActivity($activityData["ACT_UID"], $activityData); - } else { - // if not exists then create it + $activity = $bwp->getActivity($activityData["ACT_UID"]); + if (is_null($activity)) { $oldActUid = $activityData["ACT_UID"]; $activityData["ACT_UID"] = Hash::generateUID(); - $bwp->addActivity($activityData); - $result[] = array("object" => "activity", "new_uid" => $activityData["ACT_UID"], "old_uid" => $oldActUid); + } elseif (! $bwp->isEquals($activity, $activityData)) { + $bwp->updateActivity($activityData["ACT_UID"], $activityData); + } else { + Logger::log("Update Activity ({$activityData["ACT_UID"]}) Skipped - No changes required"); } $diagram["activities"][$i] = $activityData; @@ -191,19 +190,26 @@ class Project extends Api $whiteList = array(); foreach ($diagram["events"] as $i => $eventData) { $eventData = array_change_key_case($eventData, CASE_UPPER); + unset($eventData["_EXTENDED"]); // gateway exists ? - if ($event = $bwp->getEvent($eventData["EVN_UID"])) { - // then update activity - $bwp->updateEvent($eventData["EVN_UID"], $eventData); - } else { - // if not exists then create it + $event = $bwp->getEvent($eventData["EVN_UID"]); + if (is_null($event)) { $oldActUid = $eventData["EVN_UID"]; $eventData["EVN_UID"] = Hash::generateUID(); - $bwp->addEvent($eventData); - $result[] = array("object" => "event", "new_uid" => $eventData["EVN_UID"], "old_uid" => $oldActUid); + } elseif (! $bwp->isEquals($event, $eventData)) { + if (array_key_exists("EVN_CANCEL_ACTIVITY", $eventData)) { + $eventData["EVN_CANCEL_ACTIVITY"] = $eventData["EVN_CANCEL_ACTIVITY"] ? 1 : 0; + } + if (array_key_exists("EVN_WAIT_FOR_COMPLETION", $eventData)) { + $eventData["EVN_WAIT_FOR_COMPLETION"] = $eventData["EVN_WAIT_FOR_COMPLETION"] ? 1 : 0; + } + + $bwp->updateEvent($eventData["EVN_UID"], $eventData); + } else { + Logger::log("Update Event ({$eventData["EVN_UID"]}) Skipped - No changes required"); } $diagram["events"][$i] = $eventData;