PMCORE-2351 Advanced LDAP Improvements RM PMCORE-1299
This commit is contained in:
5
Rakefile
5
Rakefile
@@ -73,6 +73,11 @@ task :build => [:required] do
|
||||
system "cp -Rf #{Dir.pwd}/vendor/colosa/taskscheduler/taskscheduler #{targetDir}/taskscheduler"
|
||||
system "cp #{Dir.pwd}/vendor/colosa/taskscheduler/public/index.html #{targetDir}/taskscheduler"
|
||||
|
||||
puts "\n\n"
|
||||
puts "Building: Authentication Sources".cyan
|
||||
system "npm install --loglevel=error --prefix #{Dir.pwd}/workflow/engine/methods/authenticationSources"
|
||||
system "npm run build --prefix #{Dir.pwd}/workflow/engine/methods/authenticationSources"
|
||||
|
||||
hashVendors = pmuiHash+"-"+mafeHash
|
||||
## Building minified JS Files
|
||||
puts "Building file: " + "/js/mafe-#{hashVendors}.js".cyan
|
||||
|
||||
@@ -1975,6 +1975,12 @@ msgstr "PM Tables"
|
||||
msgid "Address"
|
||||
msgstr "Address"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_ADD_ATTRIBUTE
|
||||
#: LABEL/ID_ADD_ATTRIBUTE
|
||||
msgid "Add Attribute"
|
||||
msgstr "Add Attribute"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_ADD_CUSTOM_COLUMN
|
||||
#: LABEL/ID_ADD_CUSTOM_COLUMN
|
||||
@@ -2341,6 +2347,18 @@ msgstr "App Uid"
|
||||
msgid "Are you sure that you want to resend this message"
|
||||
msgstr "Are you sure that you want to resend this message"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_ARE_YOU_SURE_TO_DELETE_ATTRIBUTE_PLEASE_CONFIRM
|
||||
#: LABEL/ID_ARE_YOU_SURE_TO_DELETE_ATTRIBUTE_PLEASE_CONFIRM
|
||||
msgid "Are you sure to delete the matched attribute \"{0}\", please confirm?"
|
||||
msgstr "Are you sure to delete the matched attribute \"{0}\", please confirm?"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_ARE_YOU_SURE_TO_DELETE_CONNECTION_PLEASE_CONFIRM
|
||||
#: LABEL/ID_ARE_YOU_SURE_TO_DELETE_CONNECTION_PLEASE_CONFIRM
|
||||
msgid "Are you sure to delete the connection \"{0}\", please confirm?"
|
||||
msgstr "Are you sure to delete the connection \"{0}\", please confirm?"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_ARRAY_VARIABLES_EMPTY
|
||||
#: LABEL/ID_ARRAY_VARIABLES_EMPTY
|
||||
@@ -4259,6 +4277,12 @@ msgstr "Check for updates (you need to be connected to the Internet)"
|
||||
msgid "Check Workspace Configuration"
|
||||
msgstr "Check Workspace Configuration"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_CHOOSE_A_FILE_OR_DROP_IT_HERE
|
||||
#: LABEL/ID_CHOOSE_A_FILE_OR_DROP_IT_HERE
|
||||
msgid "Choose a file or drop it here..."
|
||||
msgstr "Choose a file or drop it here..."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_CHOOSE_OPTION
|
||||
#: LABEL/ID_CHOOSE_OPTION
|
||||
@@ -4709,6 +4733,18 @@ msgstr "Connection Error: User \"{0}\" can't create databases and users. <br>Ple
|
||||
msgid "Connection Error: User \"{0}\" can't create databases and Users <br>Please provide an user with sysadmin role or dbcreator and securityadmin roles."
|
||||
msgstr "Connection Error: User \"{0}\" can't create databases and Users <br>Please provide an user with sysadmin role or dbcreator and securityadmin roles."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_CONNECTION_SETTINGS
|
||||
#: LABEL/ID_CONNECTION_SETTINGS
|
||||
msgid "Connection Settings"
|
||||
msgstr "Connection Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_CONNECTION_WITH_THE_SAME_NAME_PLEASE_SELECT_AN_OPTION
|
||||
#: LABEL/ID_CONNECTION_WITH_THE_SAME_NAME_PLEASE_SELECT_AN_OPTION
|
||||
msgid "You are about importing a connection with the same name \"{0}\" please select an option"
|
||||
msgstr "You are about importing a connection with the same name \"{0}\" please select an option"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_CONNECT_HOST
|
||||
#: LABEL/ID_CONNECT_HOST
|
||||
@@ -5807,6 +5843,12 @@ msgstr "Do you want to delete all fields?"
|
||||
msgid "Do you want to delete all report tables?"
|
||||
msgstr "Do you want to delete all report tables?"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DELETE_ATTRIBUTE
|
||||
#: LABEL/ID_DELETE_ATTRIBUTE
|
||||
msgid "Delete Attribute"
|
||||
msgstr "Delete Attribute"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DELETE_AUTH_SOURCE
|
||||
#: LABEL/ID_DELETE_AUTH_SOURCE
|
||||
@@ -6065,6 +6107,12 @@ msgstr "Do you want to deleted selected({0}) items?"
|
||||
msgid "Do you want to delete the selected logo?"
|
||||
msgstr "Do you want to delete the selected logo?"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DELETE_SETTINGS
|
||||
#: LABEL/ID_DELETE_SETTINGS
|
||||
msgid "Delete Settings"
|
||||
msgstr "Delete Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DELETE_SKIN
|
||||
#: LABEL/ID_DELETE_SKIN
|
||||
@@ -6203,6 +6251,12 @@ msgstr "Departments"
|
||||
msgid "It's necessary to check the parent-department: {0} for the sub-department: {1}"
|
||||
msgstr "It's necessary to check the parent-department: {0} for the sub-department: {1}"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DEPARTMENT_CLASS_IDENTIFIER
|
||||
#: LABEL/ID_DEPARTMENT_CLASS_IDENTIFIER
|
||||
msgid "Department Class Identifier"
|
||||
msgstr "Department Class Identifier"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DEPARTMENT_CREATED_SUCCESSFULLY
|
||||
#: LABEL/ID_DEPARTMENT_CREATED_SUCCESSFULLY
|
||||
@@ -6653,6 +6707,12 @@ msgstr "Downloading upgrade:"
|
||||
msgid "You can download it manually here"
|
||||
msgstr "You can download it manually here"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DOWNLOAD_SETTINGS
|
||||
#: LABEL/ID_DOWNLOAD_SETTINGS
|
||||
msgid "Download Settings"
|
||||
msgstr "Download Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DOWN_TRIGGER
|
||||
#: LABEL/ID_DOWN_TRIGGER
|
||||
@@ -6677,6 +6737,12 @@ msgstr "When this option is enabled, all input, output and attached documents ge
|
||||
msgid "Drop database if exists"
|
||||
msgstr "Drop database if exists"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DROP_FILE_HERE
|
||||
#: LABEL/ID_DROP_FILE_HERE
|
||||
msgid "Drop file here..."
|
||||
msgstr "Drop file here..."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_DUE_DATE
|
||||
#: LABEL/ID_DUE_DATE
|
||||
@@ -6887,6 +6953,18 @@ msgstr "Editing the dynaform"
|
||||
msgid "Edit Action"
|
||||
msgstr "Edit Action"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_EDIT_ATTRIBUTE
|
||||
#: LABEL/ID_EDIT_ATTRIBUTE
|
||||
msgid "Edit Attribute"
|
||||
msgstr "Edit Attribute"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_EDIT_AUTHENTICATION_SOURCES
|
||||
#: LABEL/ID_EDIT_AUTHENTICATION_SOURCES
|
||||
msgid "Edit Authentication Sources"
|
||||
msgstr "Edit Authentication Sources"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_EDIT_BPMN
|
||||
#: LABEL/ID_EDIT_BPMN
|
||||
@@ -6983,6 +7061,12 @@ msgstr "Edit Report Table"
|
||||
msgid "Edit Role"
|
||||
msgstr "Edit Role"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_EDIT_SETTINGS
|
||||
#: LABEL/ID_EDIT_SETTINGS
|
||||
msgid "Edit Settings"
|
||||
msgstr "Edit Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_EDIT_TRIGGERS
|
||||
#: LABEL/ID_EDIT_TRIGGERS
|
||||
@@ -9179,6 +9263,12 @@ msgstr "Group cannot be deleted while it's assigned to a task"
|
||||
msgid "Group Chart"
|
||||
msgstr "Group Chart"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_GROUP_CLASS_IDENTIFIER
|
||||
#: LABEL/ID_GROUP_CLASS_IDENTIFIER
|
||||
msgid "Group Class Identifier"
|
||||
msgstr "Group Class Identifier"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_GROUP_CREATED_SUCCESSFULLY
|
||||
#: LABEL/ID_GROUP_CREATED_SUCCESSFULLY
|
||||
@@ -9191,6 +9281,12 @@ msgstr "Group {GROUP_NAME} created successfully"
|
||||
msgid "The group with {0}: {1} does not exist."
|
||||
msgstr "The group with {0}: {1} does not exist."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_GROUP_IDENTIFIER
|
||||
#: LABEL/ID_GROUP_IDENTIFIER
|
||||
msgid "Group Identifier"
|
||||
msgstr "Group Identifier"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_GROUP_INACTIVE
|
||||
#: LABEL/ID_GROUP_INACTIVE
|
||||
@@ -9647,6 +9743,12 @@ msgstr "Note that your changes will be lost in your existing process if you over
|
||||
msgid "Import BPMN"
|
||||
msgstr "Import BPMN"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_IMPORT_CONNECTION
|
||||
#: LABEL/ID_IMPORT_CONNECTION
|
||||
msgid "Import connection"
|
||||
msgstr "Import connection"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_IMPORT_CSV
|
||||
#: LABEL/ID_IMPORT_CSV
|
||||
@@ -9695,6 +9797,12 @@ msgstr "IMPORT RESULT"
|
||||
msgid "Import Report Table"
|
||||
msgstr "Import Report Table"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_IMPORT_SETTINGS
|
||||
#: LABEL/ID_IMPORT_SETTINGS
|
||||
msgid "Import Settings"
|
||||
msgstr "Import Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_IMPORT_SKIN
|
||||
#: LABEL/ID_IMPORT_SKIN
|
||||
@@ -9725,6 +9833,12 @@ msgstr "in"
|
||||
msgid "[LABEL/ID_INACTIVE] Inactive"
|
||||
msgstr "Inactive"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_INACTIVE_USERS
|
||||
#: LABEL/ID_INACTIVE_USERS
|
||||
msgid "Inactive Users"
|
||||
msgstr "Inactive Users"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_INBOX
|
||||
#: LABEL/ID_INBOX
|
||||
@@ -10673,6 +10787,12 @@ msgstr "The account is currently disabled."
|
||||
msgid "The user's account has expired."
|
||||
msgstr "The user's account has expired."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_LDAP_ATTRIBUTE
|
||||
#: LABEL/ID_LDAP_ATTRIBUTE
|
||||
msgid "LDAP Attribute"
|
||||
msgstr "LDAP Attribute"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_LDAP_ERROR_CONNECTION
|
||||
#: LABEL/ID_LDAP_ERROR_CONNECTION
|
||||
@@ -18551,6 +18671,12 @@ msgstr "There was a problem contacting the market server."
|
||||
msgid "Masks List"
|
||||
msgstr "Masks List"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_MATCH_ATTRIBUTES
|
||||
#: LABEL/ID_MATCH_ATTRIBUTES
|
||||
msgid "Match Attributes"
|
||||
msgstr "Match Attributes"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_MATCH_ATTRIBUTES_TO_SYNC
|
||||
#: LABEL/ID_MATCH_ATTRIBUTES_TO_SYNC
|
||||
@@ -19541,6 +19667,12 @@ msgstr "New"
|
||||
msgid "New PM Table"
|
||||
msgstr "New PM Table"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_AUTHENTICATION_SOURCES
|
||||
#: LABEL/ID_NEW_AUTHENTICATION_SOURCES
|
||||
msgid "New Authentication Sources"
|
||||
msgstr "New Authentication Sources"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_BPMN_PROJECT
|
||||
#: LABEL/ID_NEW_BPMN_PROJECT
|
||||
@@ -19583,6 +19715,12 @@ msgstr "Create New Category"
|
||||
msgid "New Condition From Step"
|
||||
msgstr "New Condition From Step"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_CONNECTION
|
||||
#: LABEL/ID_NEW_CONNECTION
|
||||
msgid "New connection"
|
||||
msgstr "New connection"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_DEPARTMENT
|
||||
#: LABEL/ID_NEW_DEPARTMENT
|
||||
@@ -19619,6 +19757,12 @@ msgstr "New"
|
||||
msgid "New Input Document"
|
||||
msgstr "New Input Document"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_MATCHED_ATTRIBUTE
|
||||
#: LABEL/ID_NEW_MATCHED_ATTRIBUTE
|
||||
msgid "New Matched Attribute"
|
||||
msgstr "New Matched Attribute"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NEW_NOTE
|
||||
#: LABEL/ID_NEW_NOTE
|
||||
@@ -20069,6 +20213,12 @@ msgstr "Your license does not have the Gmail integration. Please contact your ad
|
||||
msgid "No Manager Selected"
|
||||
msgstr "No Manager Selected"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NO_MATCHING_RECORDS
|
||||
#: LABEL/ID_NO_MATCHING_RECORDS
|
||||
msgid "No matching records"
|
||||
msgstr "No matching records"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_NO_MORE_APPLICATIONS
|
||||
#: LABEL/ID_NO_MORE_APPLICATIONS
|
||||
@@ -20345,6 +20495,12 @@ msgstr "Open With"
|
||||
msgid "Operating System"
|
||||
msgstr "Operating System"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_OPERATOR
|
||||
#: LABEL/ID_OPERATOR
|
||||
msgid "Operator"
|
||||
msgstr "Operator"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_OPTION
|
||||
#: LABEL/ID_OPTION
|
||||
@@ -20921,6 +21077,12 @@ msgstr "The PIN is invalid"
|
||||
msgid "please"
|
||||
msgstr "please"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_PLEASE_ADD_THE_FILE_SETTINGS_TO_BE_UPLOADED
|
||||
#: LABEL/ID_PLEASE_ADD_THE_FILE_SETTINGS_TO_BE_UPLOADED
|
||||
msgid "Please add the file settings to be uploaded"
|
||||
msgstr "Please add the file settings to be uploaded"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_PLEASE_CHANGE_PASSWORD_POLICY
|
||||
#: LABEL/ID_PLEASE_CHANGE_PASSWORD_POLICY
|
||||
@@ -21863,6 +22025,12 @@ msgstr "ProcessMaker was successfully installed<br/>Workspace <b>\" {0} \" </b>
|
||||
msgid "The new ProcessMaker UI couldn't be applied on installation. You can enable it afterwards in ADMIN > Settings > System."
|
||||
msgstr "The new ProcessMaker UI couldn't be applied on installation. You can enable it afterwards in ADMIN > Settings > System."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_PROCESSMAKER_USER_FIELD
|
||||
#: LABEL/ID_PROCESSMAKER_USER_FIELD
|
||||
msgid "ProcessMaker User Field"
|
||||
msgstr "ProcessMaker User Field"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_PROCESSMAKER_VALIDATION
|
||||
#: LABEL/ID_PROCESSMAKER_VALIDATION
|
||||
@@ -23015,6 +23183,12 @@ msgstr "Input Documents"
|
||||
msgid "Request sent."
|
||||
msgstr "Request sent."
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_REQUIRE_SIGN_IN_POLICY_FOR_LDAP
|
||||
#: LABEL/ID_REQUIRE_SIGN_IN_POLICY_FOR_LDAP
|
||||
msgid "Require sign-in policy for LDAP"
|
||||
msgstr "Require sign-in policy for LDAP"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_REQUIRED_FIELD
|
||||
#: LABEL/ID_REQUIRED_FIELD
|
||||
@@ -24215,6 +24389,12 @@ msgstr "Show or hide the Cases Steps"
|
||||
msgid "Return to Advanced Search"
|
||||
msgstr "Return to Advanced Search"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_SHOWING_FROM_RECORDS_COUNT
|
||||
#: LABEL/ID_SHOWING_FROM_RECORDS_COUNT
|
||||
msgid "Showing {from} to {to} of {count} records|{count} records|One record"
|
||||
msgstr "Showing {from} to {to} of {count} records|{count} records|One record"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_SIGN_IN
|
||||
#: LABEL/ID_SIGN_IN
|
||||
@@ -25007,6 +25187,12 @@ msgstr "Switch Interface"
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_SYSTEM_ADMINISTRATOR
|
||||
#: LABEL/ID_SYSTEM_ADMINISTRATOR
|
||||
msgid "System Administrator"
|
||||
msgstr "System Administrator"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_SYSTEM_INFO
|
||||
#: LABEL/ID_SYSTEM_INFO
|
||||
@@ -26357,6 +26543,12 @@ msgstr "Update PM Table"
|
||||
msgid "Update Role"
|
||||
msgstr "Update Role"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_UPDATE_SETTINGS
|
||||
#: LABEL/ID_UPDATE_SETTINGS
|
||||
msgid "Update Settings"
|
||||
msgstr "Update Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_UPDATE_SUB_DEPARTAMENT
|
||||
#: LABEL/ID_UPDATE_SUB_DEPARTAMENT
|
||||
@@ -26507,6 +26699,12 @@ msgstr "Uploading the translation file..."
|
||||
msgid "Upload complete"
|
||||
msgstr "Upload complete"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_UPLOAD_CONNECTION_SETTINGS
|
||||
#: LABEL/ID_UPLOAD_CONNECTION_SETTINGS
|
||||
msgid "Upload Connection Settings"
|
||||
msgstr "Upload Connection Settings"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_UPLOAD_ERR_CANT_WRITE
|
||||
#: LABEL/ID_UPLOAD_ERR_CANT_WRITE
|
||||
@@ -26819,6 +27017,12 @@ msgstr "This user: {0}, can not update the data."
|
||||
msgid "User can't start a case because doesn't have a starting task assigned"
|
||||
msgstr "User can't start a case because doesn't have a starting task assigned"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_USER_CLASS_IDENTIFIER
|
||||
#: LABEL/ID_USER_CLASS_IDENTIFIER
|
||||
msgid "User Class Identifier"
|
||||
msgstr "User Class Identifier"
|
||||
|
||||
# TRANSLATION
|
||||
# LABEL/ID_USER_CREATED_SUCCESSFULLY
|
||||
#: LABEL/ID_USER_CREATED_SUCCESSFULLY
|
||||
|
||||
@@ -57132,6 +57132,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_ADDITIONAL_FILTER','en','Additional Filter','2014-01-15') ,
|
||||
( 'LABEL','ID_ADDITIONAL_TABLES','en','PM Tables','2014-01-15') ,
|
||||
( 'LABEL','ID_ADDRESS','en','Address','2014-01-15') ,
|
||||
( 'LABEL','ID_ADD_ATTRIBUTE','en','Add Attribute','2020-12-10') ,
|
||||
( 'LABEL','ID_ADD_CUSTOM_COLUMN','en','Add Custom Column','2014-01-15') ,
|
||||
( 'LABEL','ID_ADD_DATA_PMTABLE','en','Add Data to PM table','2014-10-10') ,
|
||||
( 'LABEL','ID_ADD_FIELD','en','Add field','2014-01-15') ,
|
||||
@@ -57193,6 +57194,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_APP_MSG_BODY','en','Body','2014-01-15') ,
|
||||
( 'LABEL','ID_APP_UID','en','App Uid','2015-09-15') ,
|
||||
( 'LABEL','ID_ARE_YOU_SURE_RESEND','en','Are you sure that you want to resend this message','2014-01-15') ,
|
||||
( 'LABEL','ID_ARE_YOU_SURE_TO_DELETE_ATTRIBUTE_PLEASE_CONFIRM','en','Are you sure to delete the matched attribute "{0}", please confirm?','2020-12-10') ,
|
||||
( 'LABEL','ID_ARE_YOU_SURE_TO_DELETE_CONNECTION_PLEASE_CONFIRM','en','Are you sure to delete the connection "{0}", please confirm?','2020-12-10') ,
|
||||
( 'LABEL','ID_ARRAY_VARIABLES_EMPTY','en','Array of variables is empty','2014-01-15') ,
|
||||
( 'LABEL','ID_ASSIGN','en','Assign','2014-01-15') ,
|
||||
( 'LABEL','ID_ASSIGNED_FIEDS','en','ASSIGNED FIELDS','2014-01-15') ,
|
||||
@@ -57521,6 +57524,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_CHECK_PORT_FAILED','en','Error Testing Connection: Checking port failed','2015-09-18') ,
|
||||
( 'LABEL','ID_CHECK_UPDATES','en','Check for updates (you need to be connected to the Internet)','2017-02-21') ,
|
||||
( 'LABEL','ID_CHECK_WORKSPACE_CONFIGURATION','en','Check Workspace Configuration','2014-01-15') ,
|
||||
( 'LABEL','ID_CHOOSE_A_FILE_OR_DROP_IT_HERE','en','Choose a file or drop it here...','2020-12-10') ,
|
||||
( 'LABEL','ID_CHOOSE_OPTION','en','Choose an option','2014-01-15') ,
|
||||
( 'LABEL','ID_CHOOSE_PROVIDER','en','Please select provider','2014-08-27') ,
|
||||
( 'LABEL','ID_CHOOSE_TIME','en','Choose a time','2014-08-27') ,
|
||||
@@ -57601,6 +57605,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_CONNECTION_ERROR','en','Connection Error: {0}','2014-01-15') ,
|
||||
( 'LABEL','ID_CONNECTION_ERROR_PRIVILEGE','en','Connection Error: User "{0}" can''t create databases and users. <br>Please, provide a user with SUPER privileges.','2015-01-16') ,
|
||||
( 'LABEL','ID_CONNECTION_ERROR_SECURITYADMIN','en','Connection Error: User "{0}" can''t create databases and Users <br>Please provide an user with sysadmin role or dbcreator and securityadmin roles.','2014-01-15') ,
|
||||
( 'LABEL','ID_CONNECTION_SETTINGS','en','Connection Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_CONNECTION_WITH_THE_SAME_NAME_PLEASE_SELECT_AN_OPTION','en','You are about importing a connection with the same name "{0}" please select an option','2020-12-10') ,
|
||||
( 'LABEL','ID_CONNECT_HOST','en','Trying to connect to host','2014-01-15') ,
|
||||
( 'LABEL','ID_CONNECT_TO_SERVER','en','Connected to server {0} :{1} using user: ''{2}''','2014-01-15') ,
|
||||
( 'LABEL','ID_CONSOLIDATED_CASE_LIST','en','Consolidated Case List','2015-03-24') ,
|
||||
@@ -57790,6 +57796,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_DELETE_ACTION','en','Delete case','2020-01-15') ,
|
||||
( 'LABEL','ID_DELETE_ALL_FIELDS','en','Do you want to delete all fields?','2014-01-15') ,
|
||||
( 'LABEL','ID_DELETE_ALL_REPORT_TABLE','en','Do you want to delete all report tables?','2014-01-15') ,
|
||||
( 'LABEL','ID_DELETE_ATTRIBUTE','en','Delete Attribute','2020-12-10') ,
|
||||
( 'LABEL','ID_DELETE_AUTH_SOURCE','en','Delete Authentication Source','2014-10-13') ,
|
||||
( 'LABEL','ID_DELETE_CALENDAR','en','Delete Calendar','2014-10-10') ,
|
||||
( 'LABEL','ID_DELETE_CASES','en','Delete Cases','2016-03-02') ,
|
||||
@@ -57835,6 +57842,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_DELETE_ROUTES','en','Delete Routes','2015-02-20') ,
|
||||
( 'LABEL','ID_DELETE_SELECTED_ITEMS','en','Do you want to deleted selected({0}) items?','2014-01-15') ,
|
||||
( 'LABEL','ID_DELETE_SELECTED_LOGO','en','Do you want to delete the selected logo?','2014-01-15') ,
|
||||
( 'LABEL','ID_DELETE_SETTINGS','en','Delete Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_DELETE_SKIN','en','Delete Skin','2014-10-10') ,
|
||||
( 'LABEL','ID_DELETE_SUB_PROCESS','en','Delete Sub-Process','2015-02-24') ,
|
||||
( 'LABEL','ID_DELETE_SUPERVISOR','en','You cannot unassign the supervisor','2014-01-15') ,
|
||||
@@ -57858,6 +57866,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_DEPARTMENTS_SYNCHRONIZE','en','Synchronize Departments','2014-01-15') ,
|
||||
( 'LABEL','ID_DEPARTMENTS_USERS','en','Departments','2014-01-15') ,
|
||||
( 'LABEL','ID_DEPARTMENT_CHECK_PARENT_DEPARTMENT','en','It''s necessary to check the parent-department: {0} for the sub-department: {1}','2016-07-05') ,
|
||||
( 'LABEL','ID_DEPARTMENT_CLASS_IDENTIFIER','en','Department Class Identifier','2020-12-10') ,
|
||||
( 'LABEL','ID_DEPARTMENT_CREATED_SUCCESSFULLY','en','{DEPARTMENT_NAME}, {PARENT_UID} Department {DEPARTMENT_NAME} created successfully','2014-01-15') ,
|
||||
( 'LABEL','ID_DEPARTMENT_ERROR_CREATE','en','Error creating department','2016-07-05') ,
|
||||
( 'LABEL','ID_DEPARTMENT_EXISTS','en','Department name already exists.','2014-01-15') ,
|
||||
@@ -57935,10 +57944,12 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_DOWNLOADING_FILE','en','Downloading file','2014-01-15') ,
|
||||
( 'LABEL','ID_DOWNLOADING_UPGRADE','en','Downloading upgrade:','2014-09-18') ,
|
||||
( 'LABEL','ID_DOWNLOAD_MANUALLY','en','You can download it manually here','2014-09-18') ,
|
||||
( 'LABEL','ID_DOWNLOAD_SETTINGS','en','Download Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_DOWN_TRIGGER','en','Down Trigger','2015-02-20') ,
|
||||
( 'LABEL','ID_DRAFT','en','Draft','2014-01-15') ,
|
||||
( 'LABEL','ID_DRIVE_HELP_ENABLE','en','When this option is enabled, all input, output and attached documents generated in your processes can be stored in Google Drive.','2016-01-05') ,
|
||||
( 'LABEL','ID_DROP_DATABASE_EXISTS','en','Drop database if exists','2014-01-15') ,
|
||||
( 'LABEL','ID_DROP_FILE_HERE','en','Drop file here...','2020-12-10') ,
|
||||
( 'LABEL','ID_DUE_DATE','en','Due Date','2014-01-15') ,
|
||||
( 'LABEL','ID_DUPLICATE_CASE_SCHEDULER_NAME','en','Duplicate Case Scheduler name.','2014-01-15') ,
|
||||
( 'LABEL','ID_DUPLICATE_CATEGORY_NAME','en','Duplicate category name.','2014-01-15') ,
|
||||
@@ -57976,6 +57987,8 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_EDIT','en','Edit','2014-01-15') ,
|
||||
( 'LABEL','ID_EDITING_DYNAFORM','en','Editing the dynaform','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_ACTION','en','Edit Action','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_ATTRIBUTE','en','Edit Attribute','2020-12-10') ,
|
||||
( 'LABEL','ID_EDIT_AUTHENTICATION_SOURCES','en','Edit Authentication Sources','2020-12-10') ,
|
||||
( 'LABEL','ID_EDIT_BPMN','en','Edit BPMN','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_CATEGORY','en','Edit Process Category','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_CONDITIONS_OF_STEP','en','Edit step conditions','2014-01-15') ,
|
||||
@@ -57992,6 +58005,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_EDIT_PROCESS','en','Process Edited','2015-02-21') ,
|
||||
( 'LABEL','ID_EDIT_REPORT_TABLE','en','Edit Report Table','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_ROLE_TITLE','en','Edit Role','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_SETTINGS','en','Edit Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_EDIT_TRIGGERS','en','Edit Trigger','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_USERS','en','Edit Users','2014-01-15') ,
|
||||
( 'LABEL','ID_EDIT_VIEW_USER_GROUP','en','View user groups','2014-01-15') ,
|
||||
@@ -58374,8 +58388,10 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_GROUPS_SYNCHRONIZE','en','Synchronize Groups','2014-01-15') ,
|
||||
( 'LABEL','ID_GROUP_CANNOT_DELETE_WHILE_ASSIGNED_TO_TASK','en','Group cannot be deleted while it''s assigned to a task','2014-04-03') ,
|
||||
( 'LABEL','ID_GROUP_CHART','en','Group Chart','2014-01-15') ,
|
||||
( 'LABEL','ID_GROUP_CLASS_IDENTIFIER','en','Group Class Identifier','2020-12-10') ,
|
||||
( 'LABEL','ID_GROUP_CREATED_SUCCESSFULLY','en','Group {GROUP_NAME} created successfully','2014-01-15') ,
|
||||
( 'LABEL','ID_GROUP_DOES_NOT_EXIST','en','The group with {0}: {1} does not exist.','2014-05-20') ,
|
||||
( 'LABEL','ID_GROUP_IDENTIFIER','en','Group Identifier','2020-12-10') ,
|
||||
( 'LABEL','ID_GROUP_INACTIVE','en','Group inactive','2014-01-15') ,
|
||||
( 'LABEL','ID_GROUP_NAME','en','Group Name','2014-01-15') ,
|
||||
( 'LABEL','ID_GROUP_NAME_REQUIRED','en','Group name is required','2014-01-15') ;
|
||||
@@ -58456,6 +58472,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_IMPORT_ALREADY_EXISTS_BPMN','en','A process with the same name already exists!. Do you want to overwrite the existing process or you want to create a new process?.','2015-02-20') ,
|
||||
( 'LABEL','ID_IMPORT_ALREADY_EXISTS_BPMN_NOTE','en','Note that your changes will be lost in your existing process if you overwrite it.','2015-02-20') ,
|
||||
( 'LABEL','ID_IMPORT_BPMN','en','Import BPMN','2015-02-20') ,
|
||||
( 'LABEL','ID_IMPORT_CONNECTION','en','Import connection','2020-12-10') ,
|
||||
( 'LABEL','ID_IMPORT_CSV','en','CSV Import','2014-01-15') ,
|
||||
( 'LABEL','ID_IMPORT_DATA_CSV','en','Import Data from CSV file','2014-01-15') ,
|
||||
( 'LABEL','ID_IMPORT_LICENSE','en','Import license','2014-09-18') ,
|
||||
@@ -58466,11 +58483,13 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_IMPORT_RT','en','Import Report Table','2014-01-15') ;
|
||||
INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES
|
||||
|
||||
( 'LABEL','ID_IMPORT_SETTINGS','en','Import Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_IMPORT_SKIN','en','Import Skin','2014-10-10') ,
|
||||
( 'LABEL','ID_IMPORT_TABLE','en','Import Table','2014-10-10') ,
|
||||
( 'LABEL','ID_IMPORT_USERS','en','Import Users','2014-01-15') ,
|
||||
( 'LABEL','ID_IN','en','in','2014-01-15') ,
|
||||
( 'LABEL','ID_INACTIVE','en','Inactive','2014-01-15') ,
|
||||
( 'LABEL','ID_INACTIVE_USERS','en','Inactive Users','2020-12-10') ,
|
||||
( 'LABEL','ID_INBOX','en','Inbox','2014-01-15') ,
|
||||
( 'LABEL','ID_INBOX_EMPTY','en','Your Inbox is empty...','2015-05-06') ,
|
||||
( 'LABEL','ID_INCOMING_SERVER','en','Incoming Server','2018-11-23') ,
|
||||
@@ -58634,6 +58653,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_LATEST_VERSION','en','Latest version','2014-09-18') ,
|
||||
( 'LABEL','ID_LDAP_ACCOUNT_DISABLED','en','The account is currently disabled.','2020-10-02') ,
|
||||
( 'LABEL','ID_LDAP_ACCOUNT_EXPIRED','en','The user''s account has expired.','2020-10-02') ,
|
||||
( 'LABEL','ID_LDAP_ATTRIBUTE','en','LDAP Attribute','2020-12-10') ,
|
||||
( 'LABEL','ID_LDAP_ERROR_CONNECTION','en','Error connection.','2020-10-02') ,
|
||||
( 'LABEL','ID_LDAP_FIELD','en','LDAP Field','2015-09-15') ,
|
||||
( 'LABEL','ID_LDAP_NOT_PERMITTED_TO_LOGON_AT_THIS_TIME','en','The user is not permitted to log on at this time.','2020-10-02') ,
|
||||
@@ -59974,6 +59994,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_MAP_TYPE','en','Map Type','2014-01-15') ,
|
||||
( 'LABEL','ID_MARKET_SERVER_CONTACTING','en','There was a problem contacting the market server.','2014-09-18') ,
|
||||
( 'LABEL','ID_MASKS_LIST','en','Masks List','2014-01-15') ,
|
||||
( 'LABEL','ID_MATCH_ATTRIBUTES','en','Match Attributes','2020-12-10') ,
|
||||
( 'LABEL','ID_MATCH_ATTRIBUTES_TO_SYNC','en','Match attributes to sync','2015-09-15') ,
|
||||
( 'LABEL','ID_MAXIMUM_SIZE_FILE_REQUIRED','en','The file maximum size is required!','2015-01-16') ,
|
||||
( 'LABEL','ID_MAX_FILE_SIZE','en','Maximum upload file size','2014-01-15') ,
|
||||
@@ -60144,6 +60165,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_NEED_REGISTER','en','You need to be registered to download this process. Register NOW!','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW','en','New','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_ADD_TABLE','en','New PM Table','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_AUTHENTICATION_SOURCES','en','New Authentication Sources','2020-12-10') ,
|
||||
( 'LABEL','ID_NEW_BPMN_PROJECT','en','New BPMN Project','2015-08-18') ,
|
||||
( 'LABEL','ID_NEW_CASE','en','New case','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_CASES','en','% New Cases','2015-04-06') ,
|
||||
@@ -60151,12 +60173,14 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_NEW_CASE_SCHEDULER','en','New Case Scheduler','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_CATEGORY','en','Create New Category','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_CONDITION_FROM_STEP','en','New Condition From Step','2015-02-20') ,
|
||||
( 'LABEL','ID_NEW_CONNECTION','en','New connection','2020-12-10') ,
|
||||
( 'LABEL','ID_NEW_DEPARTMENT','en','New','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_DYNAFORM','en','New DynaForm.','2015-01-16') ,
|
||||
( 'LABEL','ID_NEW_EVENT','en','New Event','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_FOLDER','en','New Folder','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_GROUP','en','New','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_INPUTDOCS','en','New Input Document','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_MATCHED_ATTRIBUTE','en','New Matched Attribute','2020-12-10') ,
|
||||
( 'LABEL','ID_NEW_NOTE','en','New Note','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_PASSWORD','en','New Password','2014-01-15') ,
|
||||
( 'LABEL','ID_NEW_PASSWORD_SENT','en','Your new password was sent to your email account!','2014-01-15') ,
|
||||
@@ -60234,6 +60258,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_NO_ITEMS_SELECTED','en','No item selected.','2015-01-16') ,
|
||||
( 'LABEL','ID_NO_LICENSE_FEATURE_ENABLED','en','Your license does not have the Gmail integration. Please contact your administrator.','2015-09-17') ,
|
||||
( 'LABEL','ID_NO_MANAGER_SELECTED','en','No Manager Selected','2014-01-15') ,
|
||||
( 'LABEL','ID_NO_MATCHING_RECORDS','en','No matching records','2020-12-10') ,
|
||||
( 'LABEL','ID_NO_MORE_APPLICATIONS','en','No more applications to show.','2014-01-15') ,
|
||||
( 'LABEL','ID_NO_NEW_VERSIONS','en','No new versions available','2014-09-18') ,
|
||||
( 'LABEL','ID_NO_OLDER_SESSION_FILES','en','There are no older session files','2014-01-15') ,
|
||||
@@ -60281,6 +60306,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_OPEN_IN_POPUP','en','Open in a popup','2014-01-15') ,
|
||||
( 'LABEL','ID_OPEN_WITH','en','Open With','2014-01-15') ,
|
||||
( 'LABEL','ID_OPERATING_SYSTEM','en','Operating System','2014-01-15') ,
|
||||
( 'LABEL','ID_OPERATOR','en','Operator','2020-12-10') ,
|
||||
( 'LABEL','ID_OPTION','en','Option','2014-01-15') ,
|
||||
( 'LABEL','ID_OPTIONS','en','Options','2014-01-15') ,
|
||||
( 'LABEL','ID_OPTIONS_MENU_TASK','en','Options Menu Task','2015-02-20') ,
|
||||
@@ -60381,6 +60407,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_PIN','en','Pin','2015-05-08') ,
|
||||
( 'LABEL','ID_PIN_INVALID','en','The PIN is invalid','2014-01-15') ,
|
||||
( 'LABEL','ID_PLEASE','en','please','2014-01-15') ,
|
||||
( 'LABEL','ID_PLEASE_ADD_THE_FILE_SETTINGS_TO_BE_UPLOADED','en','Please add the file settings to be uploaded','2020-12-10') ,
|
||||
( 'LABEL','ID_PLEASE_CHANGE_PASSWORD_POLICY','en','Please change your password to one that complies with these policies.','2014-01-15') ,
|
||||
( 'LABEL','ID_PLEASE_CONFIGURE_ESTIMATED_DURATION_TASK','en','Please, configure the estimated duration of the task.','2014-10-23') ,
|
||||
( 'LABEL','ID_PLEASE_ENTER_COMMENTS','en','Please enter comments!','2014-01-15') ,
|
||||
@@ -60542,6 +60569,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_PROCESSMAKER_SLOGAN1','en','This Business Process is Powered By ProcessMaker','2014-01-15') ,
|
||||
( 'LABEL','ID_PROCESSMAKER_SUCCESS_INSTALLED','en','ProcessMaker was successfully installed<br/>Workspace <b>" {0} " </b> was installed correctly.','2014-01-15') ,
|
||||
( 'LABEL','ID_PROCESSMAKER_UI_NOT_INSTALL','en','The new ProcessMaker UI couldn''t be applied on installation. You can enable it afterwards in ADMIN > Settings > System.','2015-01-16') ,
|
||||
( 'LABEL','ID_PROCESSMAKER_USER_FIELD','en','ProcessMaker User Field','2020-12-10') ,
|
||||
( 'LABEL','ID_PROCESSMAKER_VALIDATION','en','Please insert a valid processmaker user name and password, in order to assign the case to their respective owner.','2014-01-15') ,
|
||||
( 'LABEL','ID_PROCESSMAKER_WRITE_CONFIG_INDEX','en','ProcessMaker couldn''t write on configuration file: {0}<br/>','2014-01-15') ,
|
||||
( 'LABEL','ID_PROCESSMAP_CALENDAR_CONFIRM_DELETE','en','Are you sure you want to delete this calendar?','2014-01-15') ,
|
||||
@@ -60740,6 +60768,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_REQUEST_ACTION_NOT_EXIST','en','The requested action does not exist','2014-01-15') ,
|
||||
( 'LABEL','ID_REQUEST_DOCUMENTS','en','Input Documents','2014-01-15') ,
|
||||
( 'LABEL','ID_REQUEST_SENT','en','Request sent.','2014-01-15') ,
|
||||
( 'LABEL','ID_REQUIRE_SIGN_IN_POLICY_FOR_LDAP','en','Require sign-in policy for LDAP','2020-12-10') ,
|
||||
( 'LABEL','ID_REQUIRED_FIELD','en','Required Field','2014-01-15') ,
|
||||
( 'LABEL','ID_REQUIRED_FIELDS_ERROR','en','Some required fields were not filled','2014-01-15') ,
|
||||
( 'LABEL','ID_REQUIRED_FIELDS_GRID','en','The marked fields in the form are required and/or have errors in their format. Please verify the fields before continuing.','2015-05-04') ,
|
||||
@@ -60944,6 +60973,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_SHOW_DIRS','en','Show Dirs','2014-01-15') ,
|
||||
( 'LABEL','ID_SHOW_HIDE_CASES_STEPS','en','Show or hide the Cases Steps','2014-01-15') ,
|
||||
( 'LABEL','ID_SHOW_RETURN_ADVANCED_SEARCH','en','Return to Advanced Search','2017-07-23') ,
|
||||
( 'LABEL','ID_SHOWING_FROM_RECORDS_COUNT','en','Showing {from} to {to} of {count} records|{count} records|One record','2020-12-10') ,
|
||||
( 'LABEL','ID_SIGN_IN','en','Sign In','2014-01-15') ,
|
||||
( 'LABEL','ID_SIGN_OUT','en','Sign out','2014-01-15') ,
|
||||
( 'LABEL','ID_SIMPLE_REPORT','en','Simple Report','2014-01-15') ,
|
||||
@@ -61081,6 +61111,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_SWITCH_EDITOR','en','Switch Editor','2014-01-15') ,
|
||||
( 'LABEL','ID_SWITCH_INTERFACE','en','Switch Interface','2014-01-15') ,
|
||||
( 'LABEL','ID_SYSTEM','en','System','2014-01-15') ,
|
||||
( 'LABEL','ID_SYSTEM_ADMINISTRATOR','en','System Administrator','2020-12-10') ,
|
||||
( 'LABEL','ID_SYSTEM_INFO','en','System information','2014-01-15') ,
|
||||
( 'LABEL','ID_SYSTEM_REDIRECT_CONFIRM','en','You must login again to view the changes. Do you want do it now?','2015-01-16') ,
|
||||
( 'LABEL','ID_SYSTEM_SETTINGS','en','System Settings','2014-01-15') ,
|
||||
@@ -61346,6 +61377,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_UPDATE_OUTPUT_DOCUMENT','en','Update Output Document','2015-02-20') ,
|
||||
( 'LABEL','ID_UPDATE_PMTABLE','en','Update PM Table','2014-10-10') ,
|
||||
( 'LABEL','ID_UPDATE_ROLE','en','Update Role','2014-10-10') ,
|
||||
( 'LABEL','ID_UPDATE_SETTINGS','en','Update Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_UPDATE_SUB_DEPARTAMENT','en','Update Sub Department','2014-10-21') ,
|
||||
( 'LABEL','ID_UPDATE_TEXT','en','Edit Text','2015-02-20') ,
|
||||
( 'LABEL','ID_UPDATE_TRIGGER','en','Update trigger','2015-02-20') ,
|
||||
@@ -61371,6 +61403,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_UPLOADING_PROCESS_FILE','en','Uploading the process file...','2014-01-15') ,
|
||||
( 'LABEL','ID_UPLOADING_TRANSLATION_FILE','en','Uploading the translation file...','2014-01-15') ,
|
||||
( 'LABEL','ID_UPLOAD_COMPLETE','en','Upload complete','2014-01-15') ,
|
||||
( 'LABEL','ID_UPLOAD_CONNECTION_SETTINGS','en','Upload Connection Settings','2020-12-10') ,
|
||||
( 'LABEL','ID_UPLOAD_ERR_CANT_WRITE','en','Failed to write file to disk','2014-01-15') ,
|
||||
( 'LABEL','ID_UPLOAD_ERR_EXTENSION','en','File upload stopped by extension','2014-01-15') ,
|
||||
( 'LABEL','ID_UPLOAD_ERR_FORM_SIZE','en','The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form','2014-01-15') ,
|
||||
@@ -61425,6 +61458,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
||||
( 'LABEL','ID_USER_CAN_NOT_BE_DELETED','en','The user with usr_uid: {0}, cannot be deleted while it has cases assigned.','2014-05-22') ,
|
||||
( 'LABEL','ID_USER_CAN_NOT_UPDATE','en','This user: {0}, can not update the data.','2014-05-22') ,
|
||||
( 'LABEL','ID_USER_CASES_NOT_START','en','User can''t start a case because doesn''t have a starting task assigned','2014-01-15') ,
|
||||
( 'LABEL','ID_USER_CLASS_IDENTIFIER','en','User Class Identifier','2020-12-10') ,
|
||||
( 'LABEL','ID_USER_CREATED_SUCCESSFULLY','en','User {FIRSTNAME} {LASTNAME} [{USER_ID}] created successfully','2014-01-15') ,
|
||||
( 'LABEL','ID_USER_CREDENTIALS_REQUIRED','en','User credentials are required.','2014-01-15') ,
|
||||
( 'LABEL','ID_USER_DEFINED_TIMING_CONTROL','en','Allow user defined timing control','2014-01-15') ,
|
||||
|
||||
@@ -15,30 +15,42 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
$pmSetupPermission = true;
|
||||
if ($RBAC->userCanAccess('PM_SETUP_LOGO') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'LOGO', '../admin/pmLogo',
|
||||
'LOGO',
|
||||
'../admin/pmLogo',
|
||||
G::LoadTranslation('ID_LOGO'),
|
||||
'icon-pmlogo.png', '', 'settings'
|
||||
'icon-pmlogo.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_EMAIL') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
"EMAIL_SERVER", "../emailServer/emailServer",
|
||||
G::LoadTranslation("ID_EMAIL_SERVER_TITLE"),
|
||||
"icon-email-settings1.png", "", "settings"
|
||||
'EMAIL_SERVER',
|
||||
'../emailServer/emailServer',
|
||||
G::LoadTranslation('ID_EMAIL_SERVER_TITLE'),
|
||||
'icon-email-settings1.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_CALENDAR') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'CALENDAR', 'calendarList',
|
||||
'CALENDAR',
|
||||
'calendarList',
|
||||
G::LoadTranslation('ID_CALENDAR'),
|
||||
'icon-calendar.png', '', 'settings'
|
||||
'icon-calendar.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_PROCESS_CATEGORIES') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PROCESS_CATEGORY', '../processCategory/processCategoryList',
|
||||
'PROCESS_CATEGORY',
|
||||
'../processCategory/processCategoryList',
|
||||
G::LoadTranslation('ID_PROCESS_CATEGORY'),
|
||||
"rules.png", '', 'settings'
|
||||
'rules.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -46,9 +58,12 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP_SKIN') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'SKINS', 'skinsList',
|
||||
'SKINS',
|
||||
'skinsList',
|
||||
G::LoadTranslation('ID_SKINS'),
|
||||
'icon-skins.png', '', 'settings'
|
||||
'icon-skins.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if (!$partnerFlag) {
|
||||
@@ -58,17 +73,23 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
*/
|
||||
if ($RBAC->userCanAccess('PM_SETUP_HEART_BEAT') === 1 && false) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'HEARTBEAT', 'processHeartBeatConfig',
|
||||
'HEARTBEAT',
|
||||
'processHeartBeatConfig',
|
||||
G::LoadTranslation('ID_HEARTBEAT_CONFIG'),
|
||||
"heartBeat.jpg", '', 'settings'
|
||||
'heartBeat.jpg',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_ENVIRONMENT') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ENVIRONMENT_SETTINGS', 'environmentSettings',
|
||||
'ENVIRONMENT_SETTINGS',
|
||||
'environmentSettings',
|
||||
G::LoadTranslation('ID_ENVIRONMENT_SETTINGS'),
|
||||
"", '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -76,44 +97,62 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP_CLEAR_CACHE') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'CLEAR_CACHE', 'clearCompiled',
|
||||
'CLEAR_CACHE',
|
||||
'clearCompiled',
|
||||
G::LoadTranslation('ID_CLEAR_CACHE'),
|
||||
'icon-rebuild-clean.png', "", 'settings'
|
||||
'icon-rebuild-clean.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_PM_TABLES') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PM_TABLES', '../pmTables',
|
||||
'PM_TABLES',
|
||||
'../pmTables',
|
||||
G::LoadTranslation('ID_ADDITIONAL_TABLES'),
|
||||
'icon-tables.png', '', 'settings'
|
||||
'icon-tables.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_LOGIN') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'LOGIN', 'loginSettings',
|
||||
'LOGIN',
|
||||
'loginSettings',
|
||||
G::LoadTranslation('LOGIN'),
|
||||
"", '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_DASHBOARDS') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'DASHBOARD', '../DashboardModule/dashletsList',
|
||||
'DASHBOARD',
|
||||
'../DashboardModule/dashletsList',
|
||||
ucfirst(G::LoadTranslation('ID_DASHBOARD')),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=')) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'STRATEGIC_DASHBOARD', '../strategicDashboard/dashboardList',
|
||||
'STRATEGIC_DASHBOARD',
|
||||
'../strategicDashboard/dashboardList',
|
||||
ucfirst(G::LoadTranslation('ID_STRATEGIC_DASHBOARD')),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PMGMAIL', '../pmGmail/formPMGmail',
|
||||
'PMGMAIL',
|
||||
'../pmGmail/formPMGmail',
|
||||
ucfirst(G::LoadTranslation('ID_PMGMAIL')),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -123,24 +162,33 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP_LANGUAGE') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'LANGUAGES', 'languages',
|
||||
'LANGUAGES',
|
||||
'languages',
|
||||
G::LoadTranslation('ID_LANGUAGES'),
|
||||
'icon-language.png', '', 'settings'
|
||||
'icon-language.png',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if ($RBAC->userCanAccess('PM_SETUP_CASES_LIST_CACHE_BUILDER') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'APPCACHEVIEW_SETUP', '../setup/appCacheViewConf',
|
||||
'APPCACHEVIEW_SETUP',
|
||||
'../setup/appCacheViewConf',
|
||||
G::LoadTranslation('ID_APPCACHE_SETUP'),
|
||||
"", '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
if (!$partnerFlag) {
|
||||
if ($RBAC->userCanAccess('PM_SETUP_PLUGINS') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PLUGINS', 'pluginsMain',
|
||||
'PLUGINS',
|
||||
'pluginsMain',
|
||||
G::LoadTranslation('ID_PLUGINS_MANAGER'),
|
||||
'icon-plugins.png', '', 'plugins'
|
||||
'icon-plugins.png',
|
||||
'',
|
||||
'plugins'
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -148,60 +196,121 @@ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
|
||||
|
||||
//users options
|
||||
if ($RBAC->userCanAccess('PM_USERS') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('USERS', '../users/users_List', G::LoadTranslation('ID_USERS_LIST'),
|
||||
'icon-webservices.png', '', 'users');
|
||||
$G_TMP_MENU->AddIdRawOption('GROUPS', '../groups/groups', G::LoadTranslation('ID_GROUPS'), '', '', 'users');
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'DEPARTAMENTS', '../departments/departments',
|
||||
G::LoadTranslation('ID_DEPARTMENTS_USERS'),
|
||||
'', '', 'users'
|
||||
'USERS',
|
||||
'../users/users_List',
|
||||
G::LoadTranslation('ID_USERS_LIST'),
|
||||
'icon-webservices.png',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption('ROLES', '../roles/roles_List',
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'GROUPS',
|
||||
'../groups/groups',
|
||||
G::LoadTranslation('ID_GROUPS'),
|
||||
'',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'DEPARTAMENTS',
|
||||
'../departments/departments',
|
||||
G::LoadTranslation('ID_DEPARTMENTS_USERS'),
|
||||
'',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ROLES',
|
||||
'../roles/roles_List',
|
||||
G::LoadTranslation('ID_ROLES'),
|
||||
'', '', 'users'
|
||||
'',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
}
|
||||
|
||||
if ($RBAC->userCanAccess('PM_USERS') === 1 && $RBAC->userCanAccess('PM_SETUP_USERS_AUTHENTICATION_SOURCES') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'AUTHSOURCES', '../authSources/authSources_List',
|
||||
'AUTHSOURCES',
|
||||
'../authenticationSources/index',
|
||||
G::LoadTranslation('ID_AUTH_SOURCES'),
|
||||
'', '', 'users'
|
||||
'',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'UX',
|
||||
'../admin/uxList',
|
||||
G::LoadTranslation('ID_USER_EXPERIENCE'),
|
||||
'',
|
||||
'',
|
||||
'users'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption('UX', '../admin/uxList', G::LoadTranslation('ID_USER_EXPERIENCE'), '', '', 'users');
|
||||
}
|
||||
|
||||
if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('SYSTEM', '../admin/system', G::LoadTranslation('ID_SYSTEM'), '', '', 'settings');
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'INFORMATION', '../setup/systemInfo?option=processInfo',
|
||||
'SYSTEM',
|
||||
'../admin/system',
|
||||
G::LoadTranslation('ID_SYSTEM'),
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'INFORMATION',
|
||||
'../setup/systemInfo?option=processInfo',
|
||||
G::LoadTranslation('ID_SYSTEM_INFO'),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
|
||||
if ($RBAC->userCanAccess('PM_SETUP') === 1 && $RBAC->userCanAccess('PM_SETUP_LOGS') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption('EVENT', '../events/eventList', G::LoadTranslation('ID_EVENTS_CLASSIC'), '', '',
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'EVENT',
|
||||
'../events/eventList',
|
||||
G::LoadTranslation('ID_EVENTS_CLASSIC'),
|
||||
'',
|
||||
'',
|
||||
'logs');
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log',
|
||||
'LOG_CASE_SCHEDULER',
|
||||
'../cases/cases_Scheduler_Log',
|
||||
G::LoadTranslation('ID_CASE_SCHEDULER_CLASSIC'),
|
||||
"icon-logs-list.png", '', 'logs'
|
||||
'icon-logs-list.png',
|
||||
'',
|
||||
'logs'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption("CRON", "../setup/cron", G::LoadTranslation("ID_CRON_ACTIONS"), null, null, 'logs');
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'EMAILS', '../mails/emailList',
|
||||
'CRON',
|
||||
'../setup/cron',
|
||||
G::LoadTranslation('ID_CRON_ACTIONS'),
|
||||
null,
|
||||
null,
|
||||
'logs'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'EMAILS',
|
||||
'../mails/emailList',
|
||||
ucfirst(strtolower(G::LoadTranslation('ID_EMAILS'))),
|
||||
'', '', 'logs'
|
||||
'',
|
||||
'',
|
||||
'logs'
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if (isset($sAudit) && $sAudit !== false && $licensedFeatures->verifyfeature
|
||||
('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')
|
||||
('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')
|
||||
) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'AUDIT_LOG', '../setup/auditLog',
|
||||
'AUDIT_LOG',
|
||||
'../setup/auditLog',
|
||||
ucfirst(G::LoadTranslation('ID_AUDITLOG_DISPLAY')),
|
||||
'', '', 'logs'
|
||||
'',
|
||||
'',
|
||||
'logs'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -210,8 +319,12 @@ if ($RBAC->userCanAccess('PM_SETUP') === 1 && $RBAC->userCanAccess('PM_SETUP_LOG
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if ($RBAC->userCanAccess('PM_SETUP_LOG_FILES') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'STANDARD_LOGGING', '../FileLogs/fileList',
|
||||
G::LoadTranslation('ID_STANDARD_LOGGING'), '', '', 'logs'
|
||||
'STANDARD_LOGGING',
|
||||
'../FileLogs/fileList',
|
||||
G::LoadTranslation('ID_STANDARD_LOGGING'),
|
||||
'',
|
||||
'',
|
||||
'logs'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -219,21 +332,30 @@ if ($RBAC->userCanAccess('PM_SETUP_LOG_FILES') === 1) {
|
||||
|
||||
if ($RBAC->userCanAccess('PM_SETUP') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PM_REQUIREMENTS', '../setup/systemInfo',
|
||||
'PM_REQUIREMENTS',
|
||||
'../setup/systemInfo',
|
||||
G::LoadTranslation('ID_PROCESSMAKER_REQUIREMENTS_CHECK'),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PHP_INFO', '../setup/systemInfo?option=php',
|
||||
'PHP_INFO',
|
||||
'../setup/systemInfo?option=php',
|
||||
G::LoadTranslation('ID_PHP_INFO'),
|
||||
'', '', 'settings'
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if ($licensedFeatures->verifyfeature('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
"AUDIT_LOG", "auditLogConfig",
|
||||
G::LoadTranslation("ID_AUDITLOG_DISPLAY"),
|
||||
"", "", "settings"
|
||||
'AUDIT_LOG',
|
||||
'auditLogConfig',
|
||||
G::LoadTranslation('ID_AUDITLOG_DISPLAY'),
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -266,15 +388,22 @@ if ($licenseStatusInfo["message"] != "") {
|
||||
if ($RBAC->userCanAccess('PM_SETUP') == 1) {
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PMENTERPRISE', '../enterprise/addonsStore',
|
||||
'PMENTERPRISE',
|
||||
'../enterprise/addonsStore',
|
||||
G::LoadTranslation('ID_MENU_NAME') . $licStatusMsg,
|
||||
'', '', 'plugins'
|
||||
'',
|
||||
'',
|
||||
'plugins'
|
||||
);
|
||||
if ($RBAC->userCanAccess('PM_SETUP_CUSTOM_CASES_LIST') == 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'CASES_LIST_SETUP', '../cases/casesListSetup',
|
||||
'CASES_LIST_SETUP',
|
||||
'../cases/casesListSetup',
|
||||
G::LoadTranslation('ID_CUSTOM_CASES_LISTS'),
|
||||
'', '', 'settings');
|
||||
'',
|
||||
'',
|
||||
'settings'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
}
|
||||
@@ -283,45 +412,62 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1) {
|
||||
$pluginRegistry = PluginRegistry::loadSingleton();
|
||||
$status = $pluginRegistry->getStatusPlugin('actionsByEmail');
|
||||
|
||||
if ((string)($status) !== 'enabled' &&
|
||||
if ((string) ($status) !== 'enabled' &&
|
||||
$licensedFeatures->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=') &&
|
||||
$RBAC->userCanAccess('PM_SETUP_LOGS') == 1
|
||||
) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'PM_ACTIONS_BY_EMAIL_LOGS',
|
||||
'../actionsByEmail/ActionByEmail.php',
|
||||
G::LoadTranslation("ID_ACTIONS_BY_EMAIL_LOG"),
|
||||
'', '', 'logs'
|
||||
G::LoadTranslation('ID_ACTIONS_BY_EMAIL_LOG'),
|
||||
'',
|
||||
'',
|
||||
'logs'
|
||||
);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
if ($RBAC->userCanAccess('PM_TASK_SCHEDULER_ADMIN') === 1) {
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_CASE_ACTIONS', '../scheduler/index?category=case_actions',
|
||||
G::LoadTranslation("ID_TASK_SCHEDULER_CASE_ACTIONS"),
|
||||
'', '', G::LoadTranslation("ID_TASK_SCHEDULER")
|
||||
'ID_MENU_CASE_ACTIONS',
|
||||
'../scheduler/index?category=case_actions',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER_CASE_ACTIONS'),
|
||||
'',
|
||||
'',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER')
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_EMAILS_NOTIFICATIONS', '../scheduler/index?category=emails_notifications',
|
||||
G::LoadTranslation("ID_TASK_SCHEDULER_EMAILS_NOTIFICATIONS"),
|
||||
'', '', G::LoadTranslation("ID_TASK_SCHEDULER")
|
||||
'ID_MENU_EMAILS_NOTIFICATIONS',
|
||||
'../scheduler/index?category=emails_notifications',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER_EMAILS_NOTIFICATIONS'),
|
||||
'',
|
||||
'',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER')
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_PLUGINS', '../scheduler/index?category=plugins',
|
||||
G::LoadTranslation("ID_TASK_SCHEDULER_PLUGINS"),
|
||||
'', '', G::LoadTranslation("ID_TASK_SCHEDULER")
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_PM_SYNC', '../scheduler/index?category=processmaker_sync',
|
||||
G::LoadTranslation("ID_TASK_SCHEDULER_PM_SYNC"),
|
||||
'', '', G::LoadTranslation("ID_TASK_SCHEDULER")
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_REPORTING', '../scheduler/index?category=reporting',
|
||||
G::LoadTranslation("ID_TASK_SCHEDULER_REPORTING"),
|
||||
'', '', G::LoadTranslation("ID_TASK_SCHEDULER")
|
||||
'ID_MENU_PLUGINS',
|
||||
'../scheduler/index?category=plugins',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER_PLUGINS'),
|
||||
'',
|
||||
'',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER')
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_PM_SYNC',
|
||||
'../scheduler/index?category=processmaker_sync',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER_PM_SYNC'),
|
||||
'',
|
||||
'',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER')
|
||||
);
|
||||
$G_TMP_MENU->AddIdRawOption(
|
||||
'ID_MENU_REPORTING',
|
||||
'../scheduler/index?category=reporting',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER_REPORTING'),
|
||||
'',
|
||||
'',
|
||||
G::LoadTranslation('ID_TASK_SCHEDULER')
|
||||
);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
}
|
||||
@@ -100,34 +100,65 @@ try {
|
||||
global $RBAC;
|
||||
|
||||
$co = new Configurations();
|
||||
$config = $co->getConfiguration( 'authSourcesList', 'pageSize', '', $_SESSION['USER_LOGGED'] );
|
||||
$limit_size = isset( $config['pageSize'] ) ? $config['pageSize'] : 20;
|
||||
$config = $co->getConfiguration('authSourcesList', 'pageSize', '', $_SESSION['USER_LOGGED']);
|
||||
$limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20;
|
||||
|
||||
$start = isset( $_REQUEST['start'] ) ? $_REQUEST['start'] : 0;
|
||||
$limit = isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : $limit_size;
|
||||
$filter = isset( $_REQUEST['textFilter'] ) ? $_REQUEST['textFilter'] : '';
|
||||
$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
|
||||
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size;
|
||||
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
|
||||
|
||||
$Criterias = $RBAC->getAuthenticationSources( $start, $limit, $filter );
|
||||
$criterias = $RBAC->getAuthenticationSources($start, $limit, $filter);
|
||||
|
||||
$Dat = AuthenticationSourcePeer::doSelectRS( $Criterias['COUNTER'] );
|
||||
$Dat->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$Dat->next();
|
||||
$row = $Dat->getRow();
|
||||
$dataSourceAuthentication = AuthenticationSourcePeer::doSelectRS($criterias['COUNTER']);
|
||||
$dataSourceAuthentication->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$dataSourceAuthentication->next();
|
||||
$row = $dataSourceAuthentication->getRow();
|
||||
$total_sources = $row['CNT'];
|
||||
|
||||
$oDataset = AuthenticationSourcePeer::doSelectRS( $Criterias['LIST'] );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
if (!empty($_REQUEST['orderBy']) && isset($_REQUEST['ascending']) && defined("AuthenticationSourcePeer::" . $_REQUEST['orderBy'])) {
|
||||
if ($_REQUEST['ascending'] === '1') {
|
||||
$criterias['LIST']->addAscendingOrderByColumn(constant("AuthenticationSourcePeer::" . $_REQUEST['orderBy']));
|
||||
}
|
||||
if ($_REQUEST['ascending'] === '0') {
|
||||
$criterias['LIST']->addDescendingOrderByColumn(constant("AuthenticationSourcePeer::" . $_REQUEST['orderBy']));
|
||||
}
|
||||
} else {
|
||||
$criterias['LIST']->addAscendingOrderByColumn(AuthenticationSourcePeer::AUTH_SOURCE_NAME);
|
||||
}
|
||||
$dataset = AuthenticationSourcePeer::doSelectRS($criterias['LIST']);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
global $RBAC;
|
||||
$auth = $RBAC->getAllUsersByAuthSource();
|
||||
|
||||
$aSources = Array ();
|
||||
while ($oDataset->next()) {
|
||||
$aSources[] = $oDataset->getRow();
|
||||
$index = sizeof( $aSources ) - 1;
|
||||
$aSources[$index]['CURRENT_USERS'] = isset( $auth[$aSources[$index]['AUTH_SOURCE_UID']] ) ? $auth[$aSources[$index]['AUTH_SOURCE_UID']] : 0;
|
||||
$sources = [];
|
||||
while ($dataset->next()) {
|
||||
$row = $dataset->getRow();
|
||||
$values = explode("_", $row["AUTH_SOURCE_PASSWORD"]);
|
||||
foreach ($values as $value) {
|
||||
if ($value == "2NnV3ujj3w") {
|
||||
$row["AUTH_SOURCE_PASSWORD"] = G::decrypt($values[0], $row["AUTH_SOURCE_SERVER_NAME"]);
|
||||
}
|
||||
}
|
||||
$label = G::LoadTranslation('ID_DISABLE');
|
||||
if ($row['AUTH_SOURCE_ENABLED_TLS'] === "1") {
|
||||
$label = G::LoadTranslation('ID_ENABLE');
|
||||
}
|
||||
$row['AUTH_SOURCE_ENABLED_TLS_LABEL'] = $label;
|
||||
//additional information
|
||||
$authSourceData = unserialize($row['AUTH_SOURCE_DATA']);
|
||||
if (is_array($authSourceData)) {
|
||||
$row = array_merge($row, $authSourceData);
|
||||
}
|
||||
$sources[] = $row;
|
||||
$index = sizeof($sources) - 1;
|
||||
$sources[$index]['CURRENT_USERS'] = isset($auth[$sources[$index]['AUTH_SOURCE_UID']]) ? $auth[$sources[$index]['AUTH_SOURCE_UID']] : 0;
|
||||
}
|
||||
echo '{sources: ' . G::json_encode( $aSources ) . ', total_sources: ' . $total_sources . '}';
|
||||
$response = [
|
||||
'sources' => $sources,
|
||||
'total_sources' => $total_sources
|
||||
];
|
||||
echo G::json_encode($response);
|
||||
break;
|
||||
case 'canDeleteAuthSource':
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<?php
|
||||
|
||||
use ProcessMaker\Model\RbacAuthenticationSource;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
$function = $_REQUEST['functionAccion'];
|
||||
|
||||
switch ($function) {
|
||||
@@ -62,10 +66,10 @@ switch ($function) {
|
||||
|
||||
//Response
|
||||
$response["status"] = "OK";
|
||||
$response["existsRecords"] = ($flagUser || $flagDepartment || $flagGroup)? 1 : 0;
|
||||
$response["existsRecords"] = ($flagUser || $flagDepartment || $flagGroup) ? 1 : 0;
|
||||
} catch (Exception $e) {
|
||||
//Response
|
||||
$response["status"] = "ERROR";
|
||||
$response["status"] = "ERROR";
|
||||
$response["message"] = $e->getMessage();
|
||||
}
|
||||
|
||||
@@ -93,7 +97,44 @@ switch ($function) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
echo G::json_encode(array('success'=> true, 'data' => $data, 'message'=>'Created Quote', 'total' => count($data)));
|
||||
echo G::json_encode(array('success' => true, 'data' => $data, 'message' => 'Created Quote', 'total' => count($data)));
|
||||
break;
|
||||
case 'ldapVerifyName':
|
||||
$authSourceName = empty($_REQUEST['AUTH_SOURCE_NAME']) ? '' : $_REQUEST['AUTH_SOURCE_NAME'];
|
||||
$authenticationSource = RbacAuthenticationSource::query()
|
||||
->select(['AUTH_SOURCE_UID', 'AUTH_SOURCE_NAME'])
|
||||
->where('AUTH_SOURCE_NAME', '=', $authSourceName)
|
||||
->get()
|
||||
->first();
|
||||
$row = false;
|
||||
$suggestName = "";
|
||||
if (!empty($authenticationSource)) {
|
||||
$row = $authenticationSource;
|
||||
$lastAuthenticationSource = RbacAuthenticationSource::query()
|
||||
->select(['AUTH_SOURCE_NAME'])
|
||||
->where('AUTH_SOURCE_NAME', 'LIKE', "%{$authSourceName}%")
|
||||
->orderBy('AUTH_SOURCE_NAME', 'desc')
|
||||
->get()
|
||||
->first();
|
||||
if (!empty($lastAuthenticationSource)) {
|
||||
$name = $lastAuthenticationSource->AUTH_SOURCE_NAME;
|
||||
//get suggest name
|
||||
$pieces = explode(" ", $name);
|
||||
$last = array_pop($pieces);
|
||||
$number = trim($last, "()");
|
||||
if ("({$number})" === $last) {
|
||||
$number = intval($number) + 1;
|
||||
$suggestName = implode("", $pieces) . " ({$number})";
|
||||
} else {
|
||||
$suggestName = $name . " (1)";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo G::json_encode([
|
||||
'success' => true,
|
||||
'row' => $row,
|
||||
'suggestName' => $suggestName
|
||||
]);
|
||||
break;
|
||||
case 'ldapSave':
|
||||
if (isset($_POST['AUTH_SOURCE_SHOWGRID-checkbox'])) {
|
||||
@@ -102,7 +143,7 @@ switch ($function) {
|
||||
$attributes = G::json_decode($_POST['AUTH_SOURCE_GRID_TEXT']);
|
||||
$con = 1;
|
||||
foreach ($attributes as $value) {
|
||||
$_POST['AUTH_SOURCE_GRID_ATTRIBUTE'][$con] = (array)$value;
|
||||
$_POST['AUTH_SOURCE_GRID_ATTRIBUTE'][$con] = (array) $value;
|
||||
$con++;
|
||||
}
|
||||
}
|
||||
@@ -133,11 +174,11 @@ switch ($function) {
|
||||
unset($_POST['AUTH_SOURCE_GRID_TEXT']);
|
||||
}
|
||||
|
||||
$aCommonFields = array ('AUTH_SOURCE_UID','AUTH_SOURCE_NAME','AUTH_SOURCE_PROVIDER','AUTH_SOURCE_SERVER_NAME','AUTH_SOURCE_PORT','AUTH_SOURCE_ENABLED_TLS','AUTH_ANONYMOUS','AUTH_SOURCE_SEARCH_USER','AUTH_SOURCE_PASSWORD','AUTH_SOURCE_VERSION','AUTH_SOURCE_BASE_DN','AUTH_SOURCE_OBJECT_CLASSES','AUTH_SOURCE_ATTRIBUTES');
|
||||
$aCommonFields = array('AUTH_SOURCE_UID', 'AUTH_SOURCE_NAME', 'AUTH_SOURCE_PROVIDER', 'AUTH_SOURCE_SERVER_NAME', 'AUTH_SOURCE_PORT', 'AUTH_SOURCE_ENABLED_TLS', 'AUTH_ANONYMOUS', 'AUTH_SOURCE_SEARCH_USER', 'AUTH_SOURCE_PASSWORD', 'AUTH_SOURCE_VERSION', 'AUTH_SOURCE_BASE_DN', 'AUTH_SOURCE_OBJECT_CLASSES', 'AUTH_SOURCE_ATTRIBUTES');
|
||||
|
||||
$aFields = $aData = array ();
|
||||
$aFields = $aData = array();
|
||||
foreach ($_POST as $sField => $sValue) {
|
||||
if (in_array( $sField, $aCommonFields )) {
|
||||
if (in_array($sField, $aCommonFields)) {
|
||||
$aFields[$sField] = $sValue;
|
||||
} else {
|
||||
$aData[$sField] = $sValue;
|
||||
@@ -168,11 +209,11 @@ switch ($function) {
|
||||
|
||||
//Save
|
||||
if ($aFields['AUTH_SOURCE_UID'] == '') {
|
||||
$RBAC->createAuthSource( $aFields );
|
||||
$RBAC->createAuthSource($aFields);
|
||||
} else {
|
||||
$RBAC->updateAuthSource( $aFields );
|
||||
$RBAC->updateAuthSource($aFields);
|
||||
}
|
||||
echo G::json_encode(array('success'=> true));
|
||||
echo G::json_encode(array('success' => true));
|
||||
break;
|
||||
case "searchUsers":
|
||||
$response = array();
|
||||
@@ -182,8 +223,8 @@ switch ($function) {
|
||||
|
||||
$authenticationSourceUid = $_POST["sUID"];
|
||||
$keyword = $_POST["sKeyword"];
|
||||
$start = (isset($_POST["start"]))? $_POST["start"]: 0;
|
||||
$limit = (isset($_POST["limit"]))? $_POST["limit"]: $pageSize;
|
||||
$start = (isset($_POST["start"])) ? $_POST["start"] : 0;
|
||||
$limit = (isset($_POST["limit"])) ? $_POST["limit"] : $pageSize;
|
||||
|
||||
//Get Users from Database
|
||||
$arrayUser = array();
|
||||
@@ -217,7 +258,7 @@ switch ($function) {
|
||||
if (!isset($arrayUser[strtolower($arrayUserData["sUsername"])])) {
|
||||
$arrayUserData["STATUS"] = G::LoadTranslation("ID_NOT_IMPORTED");
|
||||
$arrayUserData["IMPORT"] = 1;
|
||||
} elseif($authenticationSourceUid === $arrayUser[strtolower($arrayUserData["sUsername"])]) {
|
||||
} elseif ($authenticationSourceUid === $arrayUser[strtolower($arrayUserData["sUsername"])]) {
|
||||
$arrayUserData["STATUS"] = G::LoadTranslation("ID_IMPORTED");
|
||||
$arrayUserData["IMPORT"] = 0;
|
||||
} else {
|
||||
@@ -229,25 +270,25 @@ switch ($function) {
|
||||
}
|
||||
|
||||
//Response
|
||||
$response["status"] = "OK";
|
||||
$response["status"] = "OK";
|
||||
$response["success"] = true;
|
||||
$response["resultTotal"] = $result["numRecTotal"];
|
||||
$response["resultRoot"] = $arrayData;
|
||||
$response["resultRoot"] = $arrayData;
|
||||
} catch (Exception $e) {
|
||||
//Response
|
||||
$response["status"] = "ERROR";
|
||||
$response["status"] = "ERROR";
|
||||
$response["message"] = $e->getMessage();
|
||||
}
|
||||
|
||||
echo G::json_encode($response);
|
||||
break;
|
||||
case 'importUsers':
|
||||
$usersImport = $_REQUEST['UsersImport'];
|
||||
$usersImport = $_REQUEST['UsersImport'];
|
||||
$authSourceUid = $_REQUEST['AUTH_SOURCE_UID'];
|
||||
|
||||
$aUsers = G::json_decode($usersImport);
|
||||
global $RBAC;
|
||||
$aFields = $RBAC->getAuthSource( $authSourceUid );
|
||||
$aFields = $RBAC->getAuthSource($authSourceUid);
|
||||
$aAttributes = array();
|
||||
|
||||
if (isset($aFields['AUTH_SOURCE_DATA']['AUTH_SOURCE_GRID_ATTRIBUTE'])) {
|
||||
@@ -258,46 +299,46 @@ switch ($function) {
|
||||
$countUsers = 0;
|
||||
//$usersImport
|
||||
foreach ($aUsers as $sUser) {
|
||||
$aUser = (array)$sUser;
|
||||
$aUser = (array) $sUser;
|
||||
$matches = array();
|
||||
$aData = array();
|
||||
$aData['USR_USERNAME'] = str_replace( "*", "'", $aUser['sUsername'] );
|
||||
$aData = array();
|
||||
$aData['USR_USERNAME'] = str_replace("*", "'", $aUser['sUsername']);
|
||||
$aData["USR_PASSWORD"] = "00000000000000000000000000000000";
|
||||
// note added by gustavo gustavo-at-colosa.com
|
||||
// asign the FirstName and LastName variables
|
||||
// add replace to change D*Souza to D'Souza by krlos
|
||||
$aData['USR_FIRSTNAME'] = str_replace( "*", "'", $aUser['sFirstname'] );
|
||||
$aData['USR_LASTNAME'] = str_replace( "*", "'", $aUser['sLastname'] );
|
||||
$aData['USR_FIRSTNAME'] = str_replace("*", "'", $aUser['sFirstname']);
|
||||
$aData['USR_LASTNAME'] = str_replace("*", "'", $aUser['sLastname']);
|
||||
$aData['USR_EMAIL'] = $aUser['sEmail'];
|
||||
$aData['USR_DUE_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 2 ) );
|
||||
$aData['USR_CREATE_DATE'] = date( 'Y-m-d H:i:s' );
|
||||
$aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' );
|
||||
$aData['USR_BIRTHDAY'] = date( 'Y-m-d' );
|
||||
$aData['USR_DUE_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 2));
|
||||
$aData['USR_CREATE_DATE'] = date('Y-m-d H:i:s');
|
||||
$aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s');
|
||||
$aData['USR_BIRTHDAY'] = date('Y-m-d');
|
||||
$aData['USR_STATUS'] = (isset($aUser['USR_STATUS'])) ? (($aUser['USR_STATUS'] == 'ACTIVE') ? 1 : 0) : 1;
|
||||
$aData['USR_AUTH_TYPE'] = strtolower( $aFields['AUTH_SOURCE_PROVIDER'] );
|
||||
$aData['USR_AUTH_TYPE'] = strtolower($aFields['AUTH_SOURCE_PROVIDER']);
|
||||
$aData['UID_AUTH_SOURCE'] = $aFields['AUTH_SOURCE_UID'];
|
||||
// validating with regexp if there are some missing * inside the DN string
|
||||
// if it's so the is changed to the ' character
|
||||
preg_match( '/[a-zA-Z]\*[a-zA-Z]/', $aUser['sDN'], $matches );
|
||||
preg_match('/[a-zA-Z]\*[a-zA-Z]/', $aUser['sDN'], $matches);
|
||||
|
||||
foreach ($matches as $key => $match) {
|
||||
$newMatch = str_replace( '*', '\'', $match );
|
||||
$aUser['sDN'] = str_replace( $match, $newMatch, $aUser['sDN'] );
|
||||
$newMatch = str_replace('*', '\'', $match);
|
||||
$aUser['sDN'] = str_replace($match, $newMatch, $aUser['sDN']);
|
||||
}
|
||||
$aData['USR_AUTH_USER_DN'] = $aUser['sDN'];
|
||||
|
||||
try {
|
||||
$sUserUID = $RBAC->createUser( $aData, 'PROCESSMAKER_OPERATOR', $aFields['AUTH_SOURCE_NAME']);
|
||||
$usersCreated .= $aData['USR_USERNAME'].' ';
|
||||
$countUsers ++;
|
||||
$sUserUID = $RBAC->createUser($aData, 'PROCESSMAKER_OPERATOR', $aFields['AUTH_SOURCE_NAME']);
|
||||
$usersCreated .= $aData['USR_USERNAME'] . ' ';
|
||||
$countUsers++;
|
||||
} catch (Exception $oError) {
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', array ('MESSAGE' => $oError->getMessage()) );
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', array('MESSAGE' => $oError->getMessage()));
|
||||
G::RenderPage("publish", "blank");
|
||||
die();
|
||||
}
|
||||
|
||||
$aData['USR_STATUS'] = (isset($aUser['USR_STATUS'])) ? $aUser['USR_STATUS'] :'ACTIVE';
|
||||
$aData['USR_STATUS'] = (isset($aUser['USR_STATUS'])) ? $aUser['USR_STATUS'] : 'ACTIVE';
|
||||
$aData['USR_UID'] = $sUserUID;
|
||||
$aData['USR_ROLE'] = 'PROCESSMAKER_OPERATOR';
|
||||
|
||||
@@ -307,7 +348,7 @@ switch ($function) {
|
||||
if (count($aAttributes)) {
|
||||
foreach ($aAttributes as $value) {
|
||||
if (isset($aUser[$value['attributeUser']])) {
|
||||
$aData[$value['attributeUser']] = str_replace( "*", "'", $aUser[$value['attributeUser']] );
|
||||
$aData[$value['attributeUser']] = str_replace("*", "'", $aUser[$value['attributeUser']]);
|
||||
if ($value['attributeUser'] == 'USR_STATUS') {
|
||||
$evalValue = $aData[$value['attributeUser']];
|
||||
$statusValue = $aData['USR_STATUS'];
|
||||
@@ -317,7 +358,7 @@ switch ($function) {
|
||||
}
|
||||
}
|
||||
$oUser = new Users();
|
||||
$oUser->create( $aData );
|
||||
$oUser->create($aData);
|
||||
}
|
||||
|
||||
$sClassName = strtolower($aFields['AUTH_SOURCE_PROVIDER']);
|
||||
@@ -334,7 +375,7 @@ switch ($function) {
|
||||
|
||||
$plugin->log($ldapcnn, "Users imported $countUsers: " . $usersCreated);
|
||||
|
||||
echo G::json_encode(array('success'=> true));
|
||||
echo G::json_encode(array('success' => true));
|
||||
break;
|
||||
case "ldapTestConnection":
|
||||
$response = array();
|
||||
@@ -357,7 +398,7 @@ switch ($function) {
|
||||
$response["status"] = "OK";
|
||||
} catch (Exception $e) {
|
||||
//Response
|
||||
$response["status"] = "ERROR";
|
||||
$response["status"] = "ERROR";
|
||||
$response["message"] = $e->getMessage();
|
||||
}
|
||||
|
||||
|
||||
24
workflow/engine/methods/authenticationSources/.gitignore
vendored
Normal file
24
workflow/engine/methods/authenticationSources/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
/nbproject/private/
|
||||
24
workflow/engine/methods/authenticationSources/README.md
Normal file
24
workflow/engine/methods/authenticationSources/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# my-app
|
||||
|
||||
## Project setup
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compiles and hot-reloads for development
|
||||
```
|
||||
npm run serve
|
||||
```
|
||||
|
||||
### Compiles and minifies for production
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Lints and fixes files
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### Customize configuration
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
||||
@@ -0,0 +1,5 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
'@vue/cli-plugin-babel/preset'
|
||||
]
|
||||
}
|
||||
13
workflow/engine/methods/authenticationSources/index.php
Normal file
13
workflow/engine/methods/authenticationSources/index.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
global $G_PUBLISH;
|
||||
$G_PUBLISH = new Publisher();
|
||||
try {
|
||||
echo file_get_contents(PATH_HOME . "public_html/lib/authenticationSources/index.html");
|
||||
} catch (Exception $e) {
|
||||
$message = [
|
||||
'MESSAGE' => $e->getMessage()
|
||||
];
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $message);
|
||||
G::RenderPage('publish', 'blank');
|
||||
}
|
||||
17751
workflow/engine/methods/authenticationSources/package-lock.json
generated
Normal file
17751
workflow/engine/methods/authenticationSources/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
51
workflow/engine/methods/authenticationSources/package.json
Normal file
51
workflow/engine/methods/authenticationSources/package.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "authenticationSources",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build --dest ../../../public_html/lib/authenticationSources",
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@panter/vue-i18next": "^0.15.2",
|
||||
"@vue/cli": "^4.4.6",
|
||||
"axios": "^0.19.2",
|
||||
"bootstrap": "^4.5.0",
|
||||
"bootstrap-vue": "^2.15.0",
|
||||
"core-js": "^3.6.5",
|
||||
"lodash": "^4.17.19",
|
||||
"save": "^2.4.0",
|
||||
"vue": "^2.6.11",
|
||||
"vue-tables-2": "^2.0.27",
|
||||
"vuelidate": "^0.7.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "~4.5.0",
|
||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"vue-template-compiler": "^2.6.11"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"extends": [
|
||||
"plugin:vue/essential",
|
||||
"eslint:recommended"
|
||||
],
|
||||
"parserOptions": {
|
||||
"parser": "babel-eslint"
|
||||
},
|
||||
"rules": {}
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
]
|
||||
}
|
||||
BIN
workflow/engine/methods/authenticationSources/public/favicon.ico
Normal file
BIN
workflow/engine/methods/authenticationSources/public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
<script type="text/javascript" src="/js/ext/translation.en.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
155
workflow/engine/methods/authenticationSources/src/App.vue
Normal file
155
workflow/engine/methods/authenticationSources/src/App.vue
Normal file
@@ -0,0 +1,155 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<authenticationSources ref="authenticationSources"
|
||||
v-show="views.authenticationSources"
|
||||
@newConnection="newConnection"
|
||||
@editSettings="editSettings"
|
||||
@optionSaveButton="optionSaveButton"
|
||||
@optionUpdateButton="optionUpdateButton"
|
||||
@optionNewButton="optionNewButton"/>
|
||||
|
||||
<newConnection ref="newConnection"
|
||||
v-show="views.newConnection"
|
||||
@matchAttributesToSync="matchAttributesToSync"
|
||||
@save="saveNewConnection"
|
||||
@cancel="showView('authenticationSources')"/>
|
||||
|
||||
<matchAttributes ref="matchAttributes"
|
||||
v-show="views.matchAttributes"
|
||||
@connectionSettings="connectionSettings"
|
||||
@addAttribute="addAttribute"
|
||||
@editAttribute="editAttribute"/>
|
||||
|
||||
<newMatchedAttribute ref="newMatchedAttribute"
|
||||
v-show="views.newMatchedAttribute"
|
||||
@save="saveNewMatchedAttribute"
|
||||
@cancel="cancelNewMatchedAttribute"/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import authenticationSources from './components/authenticationSources.vue'
|
||||
import newConnection from './components/newConnection.vue'
|
||||
import matchAttributes from './components/matchAttributes.vue'
|
||||
import newMatchedAttribute from "./components/newMatchedAttribute.vue"
|
||||
import axios from "axios"
|
||||
export default {
|
||||
name: 'app',
|
||||
components: {
|
||||
authenticationSources,
|
||||
newConnection,
|
||||
matchAttributes,
|
||||
newMatchedAttribute
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
views: {
|
||||
authenticationSources: true,
|
||||
newConnection: false,
|
||||
matchAttributes: false,
|
||||
newMatchedAttribute: false
|
||||
},
|
||||
selectedRow: null
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
showView(name) {
|
||||
for (let view in this.views) {
|
||||
this.views[view] = false;
|
||||
}
|
||||
this.views[name] = true;
|
||||
},
|
||||
|
||||
newConnection() {
|
||||
this.$refs.newConnection.reset();
|
||||
this.$refs.newConnection.setTitle(this.$root.translation('ID_NEW_AUTHENTICATION_SOURCES'));
|
||||
this.showView('newConnection');
|
||||
},
|
||||
editSettings(row) {
|
||||
this.selectedRow = row;
|
||||
let form = this.$refs.newConnection.rowToForm(row);
|
||||
this.$refs.newConnection.setTitle(this.$root.translation('ID_EDIT_AUTHENTICATION_SOURCES'));
|
||||
this.$refs.newConnection.reset();
|
||||
this.$refs.newConnection.load(form);
|
||||
this.showView('newConnection');
|
||||
},
|
||||
optionSaveButton(row) {
|
||||
row.AUTH_SOURCE_UID = "";
|
||||
let form = this.$refs.newConnection.rowToForm(row);
|
||||
this.$refs.newConnection.setTitle(this.$root.translation('ID_NEW_AUTHENTICATION_SOURCES'));
|
||||
this.$refs.newConnection.reset();
|
||||
this.$refs.newConnection.load(form);
|
||||
this.showView('newConnection');
|
||||
},
|
||||
optionUpdateButton(row, rowResult) {
|
||||
row.AUTH_SOURCE_UID = rowResult.AUTH_SOURCE_UID;
|
||||
this.selectedRow = row;
|
||||
let form = this.$refs.newConnection.rowToForm(row);
|
||||
this.$refs.newConnection.setTitle(this.$root.translation('ID_EDIT_AUTHENTICATION_SOURCES'));
|
||||
this.$refs.newConnection.reset();
|
||||
this.$refs.newConnection.load(form);
|
||||
this.showView('newConnection');
|
||||
},
|
||||
optionNewButton(row) {
|
||||
row.AUTH_SOURCE_UID = "";
|
||||
let form = this.$refs.newConnection.rowToForm(row);
|
||||
this.$refs.newConnection.setTitle(this.$root.translation('ID_NEW_AUTHENTICATION_SOURCES'));
|
||||
this.$refs.newConnection.reset();
|
||||
this.$refs.newConnection.load(form);
|
||||
this.showView('newConnection');
|
||||
},
|
||||
|
||||
saveNewConnection(form) {
|
||||
let formData = this.$refs.newConnection.formToFormData(form);
|
||||
axios.post(this.$root.baseUrl() + "ldapAdvancedProxy.php?functionAccion=ldapSave", formData)
|
||||
.then(response => {
|
||||
response;
|
||||
this.$refs.authenticationSources.refresh();
|
||||
})
|
||||
.catch(error => {
|
||||
error;
|
||||
})
|
||||
.finally(() => {
|
||||
});
|
||||
this.showView('authenticationSources');
|
||||
},
|
||||
|
||||
matchAttributesToSync() {
|
||||
let gridText = this.$refs.newConnection.getGridText();
|
||||
let rows = JSON.parse(gridText);
|
||||
this.showView('matchAttributes');
|
||||
this.$refs.matchAttributes.setRows(rows);
|
||||
},
|
||||
addAttribute() {
|
||||
this.$refs.newMatchedAttribute.reset();
|
||||
this.showView("newMatchedAttribute");
|
||||
},
|
||||
editAttribute(row, index) {
|
||||
this.$refs.newMatchedAttribute.load(row, index);
|
||||
this.showView("newMatchedAttribute");
|
||||
},
|
||||
saveNewMatchedAttribute(form) {
|
||||
this.$refs.matchAttributes.saveRow(form);
|
||||
this.showView('matchAttributes');
|
||||
},
|
||||
cancelNewMatchedAttribute() {
|
||||
this.showView('matchAttributes');
|
||||
},
|
||||
connectionSettings(rows) {
|
||||
let gridText = JSON.stringify(rows);
|
||||
this.$refs.newConnection.setGridText(gridText);
|
||||
this.showView('newConnection');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#app {
|
||||
margin: 20px;
|
||||
}
|
||||
.custom-tooltip > .tooltip-inner{
|
||||
max-width: none;
|
||||
}
|
||||
</style>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
@@ -0,0 +1,279 @@
|
||||
<template>
|
||||
<div>
|
||||
<titleSection :title="$root.translation('ID_AUTH_SOURCES')"></titleSection>
|
||||
<b-form-group class="float-right">
|
||||
<b-button variant="primary"
|
||||
@click="$refs['as-b-modal-upload-file'].show();">
|
||||
<b-icon icon="arrow-up-short" aria-hidden="true"/> {{$root.translation('ID_IMPORT_CONNECTION')}}
|
||||
</b-button>
|
||||
<b-button variant="success"
|
||||
@click="$emit('newConnection')">
|
||||
<b-icon icon="plus" aria-hidden="true"/> {{$root.translation('ID_NEW_CONNECTION')}}
|
||||
</b-button>
|
||||
</b-form-group>
|
||||
<v-server-table ref="vServerTable1"
|
||||
:url="baseUrl"
|
||||
:columns="columns"
|
||||
:options="options"
|
||||
:data="tableData">
|
||||
<div slot="icons"
|
||||
slot-scope="props">
|
||||
<b-button :id="'as-b-button-tooltip-'+props.index"
|
||||
variant="light"
|
||||
size="sm"
|
||||
class="mb-2"
|
||||
@mousedown="$root.$emit('bv::hide::tooltip');"
|
||||
@mouseup="$root.$emit('bv::show::tooltip','as-b-button-tooltip-'+props.index);">
|
||||
<b-icon icon="three-dots-vertical" aria-hidden="true"/>
|
||||
</b-button>
|
||||
<b-tooltip :target="'as-b-button-tooltip-'+props.index"
|
||||
triggers="hover click focus"
|
||||
custom-class="custom-tooltip"
|
||||
placement="left"
|
||||
variant="light">
|
||||
<b-button-group>
|
||||
<b-button @click="importUsers(props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_IMPORT_USERS')"
|
||||
variant="light">
|
||||
<b-icon icon="arrow-repeat" aria-hidden="true" variant="success"/>
|
||||
</b-button>
|
||||
<b-button @click="downloadRow(props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_DOWNLOAD_SETTINGS')"
|
||||
variant="light">
|
||||
<b-icon icon="arrow-down" aria-hidden="true" variant="info"/>
|
||||
</b-button>
|
||||
<b-button @click="syncGroups(props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_GROUPS_SYNCHRONIZE')"
|
||||
variant="light">
|
||||
<b-icon icon="people-fill" aria-hidden="true" variant="warning"/>
|
||||
</b-button>
|
||||
<b-button @click="syncDepartments(props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_DEPARTMENTS_SYNCHRONIZE')"
|
||||
variant="light">
|
||||
<b-icon icon="diagram3-fill" aria-hidden="true" variant="warning"/>
|
||||
</b-button>
|
||||
<b-button @click="$emit('editSettings',props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_EDIT_SETTINGS')"
|
||||
variant="light">
|
||||
<b-icon icon="pencil-fill" aria-hidden="true" variant="info"/>
|
||||
</b-button>
|
||||
<b-button @click="deleteRow(props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_DELETE_SETTINGS')"
|
||||
variant="light">
|
||||
<b-icon icon="trash" aria-hidden="true" variant="danger"/>
|
||||
</b-button>
|
||||
</b-button-group>
|
||||
</b-tooltip>
|
||||
</div>
|
||||
</v-server-table>
|
||||
<b-modal ref="as-b-modal-upload-file"
|
||||
:title="$root.translation('ID_UPLOAD_CONNECTION_SETTINGS')"
|
||||
hide-footer
|
||||
size="lg">
|
||||
<formUploadSource ref="formUploadSource"
|
||||
@cancel="$refs['as-b-modal-upload-file'].hide();$refs.formUploadSource.reset();"
|
||||
@optionSaveButton="optionSaveButton"
|
||||
@optionUpdateButton="optionUpdateButton"
|
||||
@optionNewButton="optionNewButton">
|
||||
</formUploadSource>
|
||||
</b-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import titleSection from "./titleSection.vue"
|
||||
import formUploadSource from "./formUploadSource.vue"
|
||||
import axios from "axios"
|
||||
export default {
|
||||
components: {
|
||||
titleSection,
|
||||
formUploadSource
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.$root.baseUrl() + "/authSources_Ajax?action=authSourcesList",
|
||||
columns: [
|
||||
"AUTH_SOURCE_NAME",
|
||||
"AUTH_SOURCE_PROVIDER",
|
||||
"AUTH_SOURCE_SERVER_NAME",
|
||||
"AUTH_SOURCE_PORT",
|
||||
"AUTH_SOURCE_ENABLED_TLS_LABEL",
|
||||
"CURRENT_USERS",
|
||||
"icons"
|
||||
],
|
||||
options: {
|
||||
headings: {
|
||||
AUTH_SOURCE_NAME: this.$root.translation("ID_NAME"),
|
||||
AUTH_SOURCE_PROVIDER: this.$root.translation("ID_PROVIDER"),
|
||||
AUTH_SOURCE_SERVER_NAME: this.$root.translation("ID_SERVER_NAME"),
|
||||
AUTH_SOURCE_PORT: this.$root.translation("ID_PORT"),
|
||||
AUTH_SOURCE_ENABLED_TLS_LABEL: this.$root.translation("ID_ENABLED_TLS"),
|
||||
CURRENT_USERS: this.$root.translation("ID_ACTIVE_USERS"),
|
||||
icons: ""
|
||||
},
|
||||
sortable: [
|
||||
"AUTH_SOURCE_NAME",
|
||||
"AUTH_SOURCE_PROVIDER",
|
||||
"AUTH_SOURCE_SERVER_NAME",
|
||||
"AUTH_SOURCE_PORT",
|
||||
"AUTH_SOURCE_ENABLED_TLS_LABEL",
|
||||
"CURRENT_USERS"
|
||||
],
|
||||
filterable: [
|
||||
"AUTH_SOURCE_NAME",
|
||||
"AUTH_SOURCE_PROVIDER",
|
||||
"AUTH_SOURCE_SERVER_NAME",
|
||||
"AUTH_SOURCE_PORT",
|
||||
"AUTH_SOURCE_ENABLED_TLS_LABEL",
|
||||
"CURRENT_USERS"
|
||||
],
|
||||
texts: {
|
||||
filter: "",
|
||||
filterPlaceholder: this.$root.translation("ID_EMPTY_SEARCH"),
|
||||
count: this.$root.translation("ID_SHOWING_FROM_RECORDS_COUNT"),
|
||||
noResults: this.$root.translation("ID_NO_MATCHING_RECORDS"),
|
||||
loading: this.$root.translation("ID_LOADING_GRID")
|
||||
},
|
||||
perPage: 5,
|
||||
perPageValues: [],
|
||||
sortIcon: {
|
||||
is: "glyphicon-sort",
|
||||
base: "glyphicon",
|
||||
up: "glyphicon-chevron-up",
|
||||
down: "glyphicon-chevron-down"
|
||||
},
|
||||
requestKeys: {
|
||||
query: "textFilter"
|
||||
},
|
||||
requestFunction(data) {
|
||||
data.start = (data.page - 1) * data.limit;
|
||||
return axios.get(this.url, {params: data}, {}).catch(function (e) {
|
||||
this.dispatch("error", e);
|
||||
});
|
||||
},
|
||||
responseAdapter(data) {
|
||||
if (!("sources" in data.data)) {
|
||||
data.data.sources = [];
|
||||
}
|
||||
if (!("total_sources" in data.data)) {
|
||||
data.data.total_sources = 0;
|
||||
}
|
||||
|
||||
return {
|
||||
data: data.data.sources,
|
||||
count: data.data.total_sources
|
||||
};
|
||||
}
|
||||
},
|
||||
tableData: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
refresh() {
|
||||
this.$refs.vServerTable1.refresh();
|
||||
},
|
||||
deleteRow(row) {
|
||||
this.$root.$emit('bv::hide::tooltip');
|
||||
this.$bvModal.msgBoxConfirm(this.$root.translation('ID_ARE_YOU_SURE_TO_DELETE_CONNECTION_PLEASE_CONFIRM', [row.AUTH_SOURCE_NAME]), {
|
||||
title: " ", //is important because title disappear
|
||||
hideHeaderClose: false,
|
||||
okTitle: this.$root.translation('ID_YES'),
|
||||
okVariant: "success",
|
||||
cancelTitle: this.$root.translation('ID_NO'),
|
||||
cancelVariant: "danger"
|
||||
}).then(value => {
|
||||
if (value === false) {
|
||||
return;
|
||||
}
|
||||
let formData = new FormData();
|
||||
formData.append("action", "deleteAuthSource");
|
||||
formData.append("auth_uid", row.AUTH_SOURCE_UID);
|
||||
axios.post(this.$root.baseUrl() + "authSources_Ajax", formData)
|
||||
.then(response => {
|
||||
response;
|
||||
this.refresh();
|
||||
})
|
||||
.catch(error => {
|
||||
error;
|
||||
})
|
||||
.finally(() => {
|
||||
});
|
||||
}).catch(err => {
|
||||
err;
|
||||
});
|
||||
},
|
||||
downloadRow(row) {
|
||||
this.$root.$emit('bv::hide::tooltip');
|
||||
let obj = JSON.parse(JSON.stringify(row)); //is need a object copy
|
||||
//compatibility for complement ppsellucianldap
|
||||
obj.AUTH_SOURCE_UID = "";
|
||||
delete obj.AUTH_SOURCE_PASSWORD;
|
||||
delete obj.CURRENT_USERS;
|
||||
delete obj["UPPER(RBAC_AUTHENTICATION_SOURCE.AUTH_SOURCE_NAME)"];
|
||||
delete obj.AUTH_SOURCE_VERSION;
|
||||
delete obj.AUTH_SOURCE_ATTRIBUTES;
|
||||
delete obj.AUTH_SOURCE_OBJECT_CLASSES;
|
||||
delete obj.AUTH_SOURCE_DATA;
|
||||
delete obj.AUTH_SOURCE_ENABLED_TLS_LABEL;
|
||||
delete obj.LDAP_PAGE_SIZE_LIMIT;
|
||||
if ("AUTH_SOURCE_GRID_ATTRIBUTE" in obj) {
|
||||
let convert = [];
|
||||
for (let i in obj.AUTH_SOURCE_GRID_ATTRIBUTE) {
|
||||
let data = obj.AUTH_SOURCE_GRID_ATTRIBUTE[i] || {};
|
||||
convert.push({
|
||||
attributeLdap: data.attributeLdap || '',
|
||||
attributeUser: data.attributeUser || '',
|
||||
attributeRole: data.attributeRole || ''
|
||||
});
|
||||
}
|
||||
obj.AUTH_SOURCE_GRID_ATTRIBUTE = convert;
|
||||
}
|
||||
//creation file
|
||||
let name = obj.AUTH_SOURCE_NAME + ".json";
|
||||
if (window.navigator.msSaveBlob) {
|
||||
window.navigator.msSaveBlob(new Blob([JSON.stringify(obj)], {type: 'application/octet-stream'}), name);
|
||||
return;
|
||||
}
|
||||
let a = document.createElement('a');
|
||||
document.body.appendChild(a);
|
||||
a.href = window.URL.createObjectURL(new Blob([JSON.stringify(obj)], {type: 'application/octet-stream'}));
|
||||
a.download = name;
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
},
|
||||
importUsers(row) {
|
||||
//the return action is in: processmaker/workflow/engine/templates/ldapAdvanced/ldapAdvancedSearch.js
|
||||
location.href = this.$root.baseUrl() + 'authSources_SearchUsers?sUID=' + row.AUTH_SOURCE_UID;
|
||||
},
|
||||
syncGroups(row) {
|
||||
//the return action is in: processmaker/workflow/engine/templates/authSources/authSourcesSynchronize.js
|
||||
location.href = this.$root.baseUrl() + "authSourcesSynchronize?authUid=" + row.AUTH_SOURCE_UID + "&tab=synchronizeGroups";
|
||||
},
|
||||
syncDepartments(row) {
|
||||
//the return action is in: processmaker/workflow/engine/templates/authSources/authSourcesSynchronize.js
|
||||
location.href = this.$root.baseUrl() + "authSourcesSynchronize?authUid=" + row.AUTH_SOURCE_UID + "&tab=synchronizeDepartments";
|
||||
},
|
||||
optionSaveButton(fileContent) {
|
||||
this.$refs['as-b-modal-upload-file'].hide();
|
||||
this.$emit('optionSaveButton', fileContent);
|
||||
},
|
||||
optionUpdateButton(fileContent, row) {
|
||||
this.$refs['as-b-modal-upload-file'].hide();
|
||||
this.$emit('optionUpdateButton', fileContent, row);
|
||||
},
|
||||
optionNewButton(fileContent) {
|
||||
this.$refs['as-b-modal-upload-file'].hide();
|
||||
this.$emit('optionNewButton', fileContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,444 @@
|
||||
<template>
|
||||
<div>
|
||||
<b-form @submit.stop.prevent="onSave">
|
||||
<b-container fluid>
|
||||
<b-row>
|
||||
<b-col>
|
||||
<b-form-group :label="$root.translation('ID_AVAILABLE_AUTHENTICATION_SOURCES')" description="">
|
||||
<b-form-select v-model="form.availableAuthenticationSource"
|
||||
:options="availableAuthenticationSources"/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_NAME')">
|
||||
<b-form-input v-model="form.name"
|
||||
:state="validateState('name')"
|
||||
placeholder=""/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_TYPE')">
|
||||
<b-form-select v-model="form.type"
|
||||
:options="types"
|
||||
@change="changeTypeForm"/>
|
||||
</b-form-group>
|
||||
<b-form-group v-if="form.type==='ad'"
|
||||
:label="$root.translation('ID_REQUIRE_SIGN_IN_POLICY_FOR_LDAP')">
|
||||
<b-form-checkbox v-model="form.signInPolicyForLDAP"
|
||||
value="1"
|
||||
unchecked-value="0"/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_SERVER_ADDRESS')">
|
||||
<b-form-input v-model="form.serverAddress"
|
||||
:state="validateState('serverAddress')"
|
||||
placeholder=""/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_PORT')">
|
||||
<b-form-input v-model="form.port"
|
||||
:state="validateState('port')"
|
||||
placeholder=""/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_ENABLE_AUTOMATIC_REGISTER')"
|
||||
label-cols-lg="8">
|
||||
<b-form-checkbox v-model="form.enableAutomaticRegister"
|
||||
value="1"
|
||||
unchecked-value="0"
|
||||
switch/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_ANONYMOUS')"
|
||||
label-cols-lg="8">
|
||||
<b-form-checkbox v-model="form.anonymous"
|
||||
value="1"
|
||||
unchecked-value="0"
|
||||
switch/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_ENABLED_TLS')"
|
||||
label-cols-lg="8">
|
||||
<b-form-checkbox v-model="form.enableTLS"
|
||||
value="1"
|
||||
unchecked-value="0"
|
||||
switch/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_BASE_DN')">
|
||||
<b-form-input v-model="form.baseDN"
|
||||
placeholder="dc=business,dc=net"/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_INACTIVE_USERS')">
|
||||
<b-form-input v-model="form.inactiveUsers"
|
||||
placeholder=""/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_ROLE')">
|
||||
<b-form-select v-model="form.role"
|
||||
:options="roles"/>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
<b-col>
|
||||
<b-form-group class="text-right">
|
||||
<b-button variant="success" @click="$refs['fas-b-modal-upload-file'].show();">{{$root.translation('ID_IMPORT_SETTINGS')}}</b-button>
|
||||
</b-form-group>
|
||||
<b-form-group class="text-right">
|
||||
<b-link href="#" @click="matchAttributesToSync" v-show="showMathAttributes || testStatus">{{$root.translation('ID_MATCH_ATTRIBUTES_TO_SYNC')}} >></b-link>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_USERNAME')">
|
||||
<b-form-input v-model="form.userName"
|
||||
:state="validateState('userName')"
|
||||
placeholder=""/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_PASSWORD')">
|
||||
<b-form-input v-model="form.password"
|
||||
:state="validateState('password')"
|
||||
type="password"/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_USER_IDENTIFIER')">
|
||||
<b-form-input v-model="form.userIdentifier"
|
||||
placeholder=""
|
||||
readonly/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_GROUP_IDENTIFIER')">
|
||||
<b-form-input v-model="form.groupIdentifier"
|
||||
placeholder=""
|
||||
readonly/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_FILTER_TO_SEARCH_USERS')">
|
||||
<b-form-input v-model="form.filterToSearchUsers"
|
||||
placeholder=""/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_USER_CLASS_IDENTIFIER')">
|
||||
<b-form-input v-model="form.userClassIdentifier"
|
||||
placeholder=""/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_GROUP_CLASS_IDENTIFIER')">
|
||||
<b-form-input v-model="form.groupClassIdentifier"
|
||||
placeholder=""/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_DEPARTMENT_CLASS_IDENTIFIER')">
|
||||
<b-form-input v-model="form.departmentClassIdentifier"
|
||||
placeholder=""/>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<b-row class="text-right">
|
||||
<b-col>
|
||||
<b-form-group>
|
||||
<b-button variant="danger" @click="$emit('cancel')">{{$root.translation('ID_CANCEL')}}</b-button>
|
||||
<b-button type="submit" variant="success">{{buttonLabel}}</b-button>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-container>
|
||||
</b-form>
|
||||
<b-modal id="messageForFailedTest"
|
||||
ok-variant="success"
|
||||
ok-only>
|
||||
{{testMessage}}
|
||||
</b-modal>
|
||||
<b-modal ref="fas-b-modal-upload-file"
|
||||
:title="$root.translation('ID_IMPORT_SETTINGS')"
|
||||
hide-footer
|
||||
size="lg">
|
||||
<formUploadSource ref="formUploadSource"
|
||||
@cancel="$refs['fas-b-modal-upload-file'].hide();$refs.formUploadSource.reset();"
|
||||
@optionSaveButton="optionSaveButton"
|
||||
skipNameValidation>
|
||||
</formUploadSource>
|
||||
</b-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import formUploadSource from "./formUploadSource.vue"
|
||||
import { validationMixin } from "vuelidate"
|
||||
import { required } from "vuelidate/lib/validators"
|
||||
import axios from "axios"
|
||||
export default {
|
||||
mixins: [validationMixin],
|
||||
components: {
|
||||
formUploadSource
|
||||
},
|
||||
validations: {
|
||||
form: {
|
||||
name: {
|
||||
required
|
||||
},
|
||||
serverAddress: {
|
||||
required
|
||||
},
|
||||
port: {
|
||||
required
|
||||
},
|
||||
userName: {
|
||||
required
|
||||
},
|
||||
password: {
|
||||
required
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
buttonLabel: this.$root.translation("ID_TEST"),
|
||||
testStatus: false,
|
||||
testMessage: "",
|
||||
showMathAttributes: false,
|
||||
form: {
|
||||
uid: "",
|
||||
availableAuthenticationSource: "ldapAdvanced",
|
||||
name: "",
|
||||
type: "ad",
|
||||
serverAddress: "",
|
||||
port: "389",
|
||||
enableAutomaticRegister: "0",
|
||||
anonymous: "0",
|
||||
enableTLS: "0",
|
||||
baseDN: "",
|
||||
userName: "",
|
||||
password: "",
|
||||
userIdentifier: "samaccountname",
|
||||
filterToSearchUsers: "",
|
||||
gridText: "[]",
|
||||
signInPolicyForLDAP: "1",
|
||||
inactiveUsers: "",
|
||||
role: "PROCESSMAKER_OPERATOR",
|
||||
groupIdentifier: "member",
|
||||
userClassIdentifier: "",
|
||||
groupClassIdentifier: "(objectclass=posixgroup)(objectclass=group)(objectclass=groupofuniquenames)",
|
||||
departmentClassIdentifier: "(objectclass=organizationalunit)"
|
||||
},
|
||||
availableAuthenticationSources: [
|
||||
{value: "ldapAdvanced", text: "LDAP Advanced"},
|
||||
{value: "ldap", text: "LDAP"}
|
||||
],
|
||||
types: [
|
||||
{value: "ad", text: "Active Directory"},
|
||||
{value: "ldap", text: "Open LDAP"},
|
||||
{value: "ds", text: "389 DS"}
|
||||
],
|
||||
roles: [
|
||||
{value: "PROCESSMAKER_ADMIN", text: this.$root.translation("ID_SYSTEM_ADMINISTRATOR")},
|
||||
{value: "PROCESSMAKER_MANAGER", text: this.$root.translation("ID_MANAGER")},
|
||||
{value: "PROCESSMAKER_OPERATOR", text: this.$root.translation("ID_OPERATOR")}
|
||||
],
|
||||
show: true
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
validateState(name) {
|
||||
const {$dirty, $error} = this.$v.form[name];
|
||||
return $dirty ? !$error : null;
|
||||
},
|
||||
reset() {
|
||||
this.form = {
|
||||
uid: "",
|
||||
availableAuthenticationSource: "ldapAdvanced",
|
||||
name: "",
|
||||
type: "ad",
|
||||
serverAddress: "",
|
||||
port: "389",
|
||||
enableAutomaticRegister: "0",
|
||||
anonymous: "0",
|
||||
enableTLS: "0",
|
||||
baseDN: "",
|
||||
userName: "",
|
||||
password: "",
|
||||
userIdentifier: "samaccountname",
|
||||
filterToSearchUsers: "",
|
||||
gridText: "[]",
|
||||
signInPolicyForLDAP: "1",
|
||||
inactiveUsers: "",
|
||||
role: "PROCESSMAKER_OPERATOR",
|
||||
groupIdentifier: "member",
|
||||
userClassIdentifier: "",
|
||||
groupClassIdentifier: "(objectclass=posixgroup)(objectclass=group)(objectclass=groupofuniquenames)",
|
||||
departmentClassIdentifier: "(objectclass=organizationalunit)"
|
||||
};
|
||||
},
|
||||
onSave() {
|
||||
this.$v.form.$touch();
|
||||
if (this.$v.form.$anyError) {
|
||||
return;
|
||||
}
|
||||
if (this.testStatus) {
|
||||
this.$emit("save", this.form);
|
||||
} else {
|
||||
this.test(this.form);
|
||||
}
|
||||
},
|
||||
load(obj) {
|
||||
this.form = obj;
|
||||
},
|
||||
test(form) {
|
||||
let formDataForName = new FormData();
|
||||
formDataForName.append("AUTH_SOURCE_NAME", form.name);
|
||||
axios.post(this.$root.baseUrl() + "ldapAdvancedProxy.php?functionAccion=ldapVerifyName", formDataForName)
|
||||
.then(response => {
|
||||
//the name is valid
|
||||
if (response.data.row === false || (this.form.uid !== "" && typeof this.form.uid === "string")) {
|
||||
let formData = this.formToFormData(form);
|
||||
axios.post(this.$root.baseUrl() + "ldapAdvancedProxy.php?functionAccion=ldapTestConnection", formData)
|
||||
.then(response => {
|
||||
//test is successful
|
||||
if (response.data.status === "OK") {
|
||||
this.testStatus = true;
|
||||
this.buttonLabel = this.$root.translation("ID_SAVE");
|
||||
return;
|
||||
}
|
||||
//test fail
|
||||
this.testMessage = response.data.message;
|
||||
this.testStatus = false;
|
||||
this.buttonLabel = this.$root.translation("ID_TEST");
|
||||
this.$bvModal.show("messageForFailedTest");
|
||||
})
|
||||
.catch(error => {
|
||||
error;
|
||||
})
|
||||
.finally(() => {
|
||||
});
|
||||
return;
|
||||
}
|
||||
//the name exist
|
||||
this.$bvModal.msgBoxOk(this.$root.translation('ID_NAME_EXISTS'), {
|
||||
title: " ", //is important because title disappear
|
||||
hideHeaderClose: false,
|
||||
okTitle: this.$root.translation('ID_OK'),
|
||||
okVariant: "success",
|
||||
okOnly: true
|
||||
}).then(value => {
|
||||
if (value === false) {
|
||||
return;
|
||||
}
|
||||
}).catch(err => {
|
||||
err;
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
error;
|
||||
})
|
||||
.finally(() => {
|
||||
});
|
||||
},
|
||||
matchAttributesToSync() {
|
||||
this.$emit('matchAttributesToSync');
|
||||
},
|
||||
setGridText(gridText) {
|
||||
this.form.gridText = gridText;
|
||||
},
|
||||
getGridText() {
|
||||
return this.form.gridText;
|
||||
},
|
||||
optionSaveButton(row) {
|
||||
this.$refs['fas-b-modal-upload-file'].hide();
|
||||
row.AUTH_SOURCE_UID = "";
|
||||
let form = this.rowToForm(row);
|
||||
this.load(form);
|
||||
},
|
||||
rowToForm(row) {
|
||||
let gridText = [];
|
||||
if ("AUTH_SOURCE_GRID_ATTRIBUTE" in row) {
|
||||
for (let i in row.AUTH_SOURCE_GRID_ATTRIBUTE) {
|
||||
let data = row.AUTH_SOURCE_GRID_ATTRIBUTE[i] || {};
|
||||
gridText.push({
|
||||
attributeRole: data.attributeRole || '',
|
||||
attributeUser: data.attributeUser || '',
|
||||
attributeLdap: data.attributeLdap || ''
|
||||
});
|
||||
}
|
||||
}
|
||||
var obj = {
|
||||
uid: row.AUTH_SOURCE_UID,
|
||||
availableAuthenticationSource: row.AUTH_SOURCE_PROVIDER,
|
||||
name: row.AUTH_SOURCE_NAME,
|
||||
type: row.LDAP_TYPE,
|
||||
serverAddress: row.AUTH_SOURCE_SERVER_NAME,
|
||||
port: row.AUTH_SOURCE_PORT,
|
||||
enableAutomaticRegister: row.AUTH_SOURCE_AUTO_REGISTER,
|
||||
anonymous: row.AUTH_ANONYMOUS,
|
||||
enableTLS: row.AUTH_SOURCE_ENABLED_TLS,
|
||||
baseDN: row.AUTH_SOURCE_BASE_DN,
|
||||
userName: row.AUTH_SOURCE_SEARCH_USER,
|
||||
password: row.AUTH_SOURCE_PASSWORD,
|
||||
userIdentifier: row.AUTH_SOURCE_IDENTIFIER_FOR_USER,
|
||||
filterToSearchUsers: row.AUTH_SOURCE_USERS_FILTER,
|
||||
gridText: JSON.stringify(gridText),
|
||||
signInPolicyForLDAP: row.AUTH_SOURCE_SIGNIN_POLICY_FOR_LDAP,
|
||||
inactiveUsers: row.AUTH_SOURCE_RETIRED_OU,
|
||||
role: row.USR_ROLE,
|
||||
groupIdentifier: row.AUTH_SOURCE_IDENTIFIER_FOR_USER_GROUP,
|
||||
userClassIdentifier: row.AUTH_SOURCE_IDENTIFIER_FOR_USER_CLASS,
|
||||
groupClassIdentifier: row.GROUP_CLASS_IDENTIFIER,
|
||||
departmentClassIdentifier: row.DEPARTMENT_CLASS_IDENTIFIER
|
||||
};
|
||||
return obj;
|
||||
},
|
||||
formToFormData(form) {
|
||||
let formData = new FormData();
|
||||
formData.append("AUTH_SOURCE_UID", form.uid);
|
||||
formData.append("AUTH_SOURCE_NAME", form.name);
|
||||
formData.append("AUTH_SOURCE_PROVIDER", form.availableAuthenticationSource);
|
||||
formData.append("LDAP_TYPE", form.type);
|
||||
formData.append("AUTH_SOURCE_AUTO_REGISTER", form.enableAutomaticRegister);
|
||||
formData.append("AUTH_SOURCE_SERVER_NAME", form.serverAddress);
|
||||
formData.append("AUTH_SOURCE_PORT", form.port);
|
||||
formData.append("AUTH_SOURCE_ENABLED_TLS", form.enableTLS);
|
||||
formData.append("AUTH_SOURCE_BASE_DN", form.baseDN);
|
||||
formData.append("AUTH_ANONYMOUS", form.anonymous);
|
||||
formData.append("AUTH_SOURCE_SEARCH_USER", form.userName);
|
||||
formData.append("AUTH_SOURCE_PASSWORD", form.password);
|
||||
formData.append("AUTH_SOURCE_IDENTIFIER_FOR_USER", form.userIdentifier);
|
||||
formData.append("AUTH_SOURCE_USERS_FILTER", form.filterToSearchUsers);
|
||||
formData.append("AUTH_SOURCE_RETIRED_OU", form.inactiveUsers);
|
||||
formData.append("AUTH_SOURCE_ATTRIBUTE_IDS", "USR_FIRSTNAME|USR_LASTNAME|USR_EMAIL|USR_DUE_DATE|USR_STATUS|USR_STATUS_ID|USR_ADDRESS|USR_PHONE|USR_FAX|USR_CELLULAR|USR_ZIP_CODE|USR_POSITION|USR_BIRTHDAY|USR_COST_BY_HOUR|USR_UNIT_COST|USR_PMDRIVE_FOLDER_UID|USR_BOOKMARK_START_CASES|USR_TIME_ZONE|USR_DEFAULT_LANG|USR_LAST_LOGIN|");
|
||||
formData.append("AUTH_SOURCE_SHOWGRID", "");
|
||||
formData.append("AUTH_SOURCE_GRID_TEXT", form.gridText);
|
||||
formData.append("AUTH_SOURCE_SHOWGRID-checkbox", "on");
|
||||
//additional
|
||||
formData.append("AUTH_SOURCE_SIGNIN_POLICY_FOR_LDAP", form.signInPolicyForLDAP);
|
||||
formData.append("USR_ROLE", form.role);
|
||||
formData.append("AUTH_SOURCE_IDENTIFIER_FOR_USER_GROUP", form.groupIdentifier);
|
||||
formData.append("AUTH_SOURCE_IDENTIFIER_FOR_USER_CLASS", form.userClassIdentifier);
|
||||
formData.append("GROUP_CLASS_IDENTIFIER", form.groupClassIdentifier);
|
||||
formData.append("DEPARTMENT_CLASS_IDENTIFIER", form.departmentClassIdentifier);
|
||||
//compatibility for complement ppsellucianldap
|
||||
formData.append("CUSTOM_CHECK_AUTH_SOURCE_IDENTIFIER_FOR_USER", 0);
|
||||
formData.append("CUSTOM_CHECK_AUTH_SOURCE_IDENTIFIER_FOR_USER_GROUP", 0);
|
||||
formData.append("CUSTOM_CHECK_DEPARTMENT_CLASS_IDENTIFIER", 0);
|
||||
formData.append("CUSTOM_CHECK_GROUP_CLASS_IDENTIFIER", 0);
|
||||
formData.append("CUSTOM_AUTH_SOURCE_IDENTIFIER_FOR_USER", "");
|
||||
formData.append("CUSTOM_AUTH_SOURCE_IDENTIFIER_FOR_USER_GROUP", "");
|
||||
formData.append("CUSTOM_DEPARTMENT_CLASS_IDENTIFIER", "");
|
||||
formData.append("CUSTOM_GROUP_CLASS_IDENTIFIER", "");
|
||||
return formData;
|
||||
},
|
||||
changeTypeForm(value) {
|
||||
if (value === "ad") {
|
||||
this.form.userIdentifier = "samaccountname";
|
||||
this.form.groupIdentifier = "member";
|
||||
this.form.signInPolicyForLDAP = "1";
|
||||
}
|
||||
if (value === "ldap") {
|
||||
this.form.userIdentifier = "uid";
|
||||
this.form.groupIdentifier = "memberuid";
|
||||
this.form.signInPolicyForLDAP = "0";
|
||||
}
|
||||
if (value === "ds") {
|
||||
this.form.userIdentifier = "uid";
|
||||
this.form.groupIdentifier = "uniquemember";
|
||||
this.form.signInPolicyForLDAP = "0";
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
form: {
|
||||
handler() {
|
||||
this.testStatus = false;
|
||||
this.buttonLabel = this.$root.translation("ID_TEST");
|
||||
this.showMathAttributes = !(this.form.uid === "");
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,166 @@
|
||||
<template>
|
||||
<div>
|
||||
<b-form @submit.stop.prevent="onSave">
|
||||
<b-container fluid>
|
||||
<b-row>
|
||||
<b-col>
|
||||
<b-form-group :label="$root.translation('ID_PLEASE_ADD_THE_FILE_SETTINGS_TO_BE_UPLOADED')" v-if="newName==true">
|
||||
<b-form-file v-model="form.connectionSettings"
|
||||
@change="change"
|
||||
:state="validateState('connectionSettings')"
|
||||
:placeholder="$root.translation('ID_CHOOSE_A_FILE_OR_DROP_IT_HERE')"
|
||||
:drop-placeholder="$root.translation('ID_DROP_FILE_HERE')">
|
||||
</b-form-file>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_CONNECTION_WITH_THE_SAME_NAME_PLEASE_SELECT_AN_OPTION')" v-else>
|
||||
<b-form-file v-model="form.connectionSettings"
|
||||
@change="change"
|
||||
:state="validateState('connectionSettings')"
|
||||
:placeholder="$root.translation('ID_CHOOSE_A_FILE_OR_DROP_IT_HERE')"
|
||||
:drop-placeholder="$root.translation('ID_DROP_FILE_HERE')">
|
||||
</b-form-file>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<b-row class="text-center">
|
||||
<b-col>
|
||||
<b-form-group v-if="newName==true">
|
||||
<b-button variant="danger"
|
||||
@click="$emit('cancel')">{{$root.translation('ID_CANCEL')}}</b-button>
|
||||
<b-button type="submit"
|
||||
variant="success"
|
||||
:disabled='isDisabled'
|
||||
id="save">{{$root.translation('ID_SAVE')}}</b-button>
|
||||
</b-form-group>
|
||||
<b-form-group v-else>
|
||||
<b-button variant="danger"
|
||||
@click="$emit('cancel')">{{$root.translation('ID_CANCEL')}}</b-button>
|
||||
<b-button type="submit"
|
||||
variant="primary"
|
||||
:disabled='isDisabled'
|
||||
id="update">{{$root.translation('ID_UPDATE_SETTINGS')}}</b-button>
|
||||
<b-button type="submit"
|
||||
variant="success"
|
||||
:disabled='isDisabled'
|
||||
id="new">{{$root.translation('ID_NEW_CONNECTION')}}</b-button>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-container>
|
||||
</b-form>
|
||||
<b-modal id="messageForInvalidFileExtension" ok-only static>{{$root.translation('ID_PMG_SELECT_FILE')}}</b-modal>
|
||||
<b-modal id="messageForInvalidFileFormat" ok-only static>{{$root.translation('ID_INVALID_DATA')}}</b-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { validationMixin } from "vuelidate"
|
||||
import { required } from "vuelidate/lib/validators"
|
||||
import axios from "axios"
|
||||
export default {
|
||||
mixins: [validationMixin],
|
||||
props: {
|
||||
skipNameValidation: Boolean
|
||||
},
|
||||
components: {
|
||||
},
|
||||
validations: {
|
||||
form: {
|
||||
connectionSettings: {
|
||||
required
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
connectionSettings: []
|
||||
},
|
||||
fileContent: {},
|
||||
isDisabled: true,
|
||||
validationResult: {},
|
||||
newName: true
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
validateState(name) {
|
||||
const {$dirty, $error} = this.$v.form[name];
|
||||
return $dirty ? !$error : null;
|
||||
},
|
||||
onSave(e) {
|
||||
this.$v.form.$touch();
|
||||
if (this.$v.form.$anyError) {
|
||||
return;
|
||||
}
|
||||
//validation
|
||||
if (e.submitter.id === "save") {
|
||||
this.$emit('optionSaveButton', this.fileContent);
|
||||
}
|
||||
if (e.submitter.id === "update") {
|
||||
this.$emit('optionUpdateButton', this.fileContent, this.validationResult.row);
|
||||
}
|
||||
if (e.submitter.id === "new") {
|
||||
this.fileContent.AUTH_SOURCE_NAME = this.validationResult.suggestName;
|
||||
this.$emit('optionNewButton', this.fileContent);
|
||||
}
|
||||
},
|
||||
reset() {
|
||||
this.newName = true;
|
||||
this.validationResult = {};
|
||||
this.form.connectionSettings = [];
|
||||
},
|
||||
change(e) {
|
||||
let input = e.target;
|
||||
if (input.files.length <= 0) {
|
||||
return;
|
||||
}
|
||||
let file = input.files[0];
|
||||
if (file.name.indexOf(".json") < 0) {
|
||||
this.$bvModal.show("messageForInvalidFileExtension");
|
||||
this.reset();
|
||||
this.isDisabled = true;
|
||||
return;
|
||||
}
|
||||
let reader = new FileReader();
|
||||
reader.readAsText(file, "UTF-8");
|
||||
reader.onload = (e) => {
|
||||
this.fileContent = JSON.parse(e.target.result);
|
||||
//validation content
|
||||
if (!("AUTH_SOURCE_NAME" in this.fileContent)) {
|
||||
this.$bvModal.show("messageForInvalidFileFormat");
|
||||
this.reset();
|
||||
this.isDisabled = true;
|
||||
return;
|
||||
}
|
||||
if (this.skipNameValidation === true) {
|
||||
this.isDisabled = false;
|
||||
return;
|
||||
}
|
||||
//validation name
|
||||
let formData = new FormData();
|
||||
formData.append("AUTH_SOURCE_NAME", this.fileContent.AUTH_SOURCE_NAME);
|
||||
axios.post(this.$root.baseUrl() + "ldapAdvancedProxy.php?functionAccion=ldapVerifyName", formData)
|
||||
.then(response => {
|
||||
this.newName = response.data.row === false;
|
||||
this.validationResult = response.data;
|
||||
this.isDisabled = false;
|
||||
})
|
||||
.catch(error => {
|
||||
error;
|
||||
this.isDisabled = true;
|
||||
})
|
||||
.finally(() => {
|
||||
});
|
||||
};
|
||||
reader.onerror = () => {
|
||||
};
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<div>
|
||||
<titleSection :title="$root.translation('ID_MATCH_ATTRIBUTES')"></titleSection>
|
||||
<b-form-group class="text-right">
|
||||
<b-link href="#" @click="connectionSettings"> << {{$root.translation('ID_CONNECTION_SETTINGS')}}</b-link>
|
||||
</b-form-group>
|
||||
<b-form-group class="float-right">
|
||||
<b-button variant="success" @click="addAttribute">{{$root.translation('ID_ADD_ATTRIBUTE')}}</b-button>
|
||||
</b-form-group>
|
||||
<v-client-table :columns="columns"
|
||||
:options="options"
|
||||
:data="rows">
|
||||
<div slot="icons"
|
||||
slot-scope="props">
|
||||
<b-button :id="'ma-b-button-tooltip-'+props.index"
|
||||
variant="light"
|
||||
size="sm"
|
||||
class="mb-2">
|
||||
<b-icon icon="three-dots-vertical" aria-hidden="true"/>
|
||||
</b-button>
|
||||
<b-tooltip :target="'ma-b-button-tooltip-'+props.index"
|
||||
triggers="hover focus click"
|
||||
custom-class="custom-tooltip"
|
||||
placement="left"
|
||||
variant="light">
|
||||
<b-button-group>
|
||||
<b-button @click="editAttribute(props.row,props.index)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_EDIT_ATTRIBUTE')"
|
||||
variant="light">
|
||||
<b-icon icon="pencil-fill" aria-hidden="true" variant="info"/>
|
||||
</b-button>
|
||||
<b-button @click="deleteAttribute(props.index,props.row)"
|
||||
v-b-tooltip.hover
|
||||
:title="$root.translation('ID_DELETE_ATTRIBUTE')"
|
||||
variant="light">
|
||||
<b-icon icon="trash" aria-hidden="true" variant="danger"/>
|
||||
</b-button>
|
||||
</b-button-group>
|
||||
</b-tooltip>
|
||||
</div>
|
||||
</v-client-table>
|
||||
<b-modal id="messageForDeleteAttribute"
|
||||
@ok="deleteAttributeProcess"
|
||||
:ok-title="$root.translation('ID_YES')"
|
||||
ok-variant="success"
|
||||
:cancel-title="$root.translation('ID_NO')"
|
||||
cancel-variant="danger">
|
||||
{{$root.translation('ID_ARE_YOU_SURE_TO_DELETE_ATTRIBUTE_PLEASE_CONFIRM',[selectedRowName])}}
|
||||
</b-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import titleSection from "./titleSection.vue"
|
||||
export default {
|
||||
components: {
|
||||
titleSection
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
selectedRowIndex: 0,
|
||||
selectedRowName: "",
|
||||
columns: [
|
||||
"attributeRole",
|
||||
"attributeUser",
|
||||
"attributeLdap",
|
||||
"icons"
|
||||
],
|
||||
options: {
|
||||
headings: {
|
||||
attributeRole: this.$root.translation('ID_ROLE'),
|
||||
attributeUser: this.$root.translation('ID_USER_FIELD'),
|
||||
attributeLdap: this.$root.translation('ID_LDAP_FIELD'),
|
||||
icons: ""
|
||||
},
|
||||
sortable: [
|
||||
"attributeLdap",
|
||||
"attributeRole",
|
||||
"attributeUser"
|
||||
],
|
||||
filterable: [
|
||||
"attributeLdap",
|
||||
"attributeRole",
|
||||
"attributeUser"
|
||||
],
|
||||
texts: {
|
||||
filter: "",
|
||||
filterPlaceholder: this.$root.translation("ID_EMPTY_SEARCH"),
|
||||
count: this.$root.translation("ID_SHOWING_FROM_RECORDS_COUNT"),
|
||||
noResults: this.$root.translation("ID_NO_MATCHING_RECORDS"),
|
||||
loading: this.$root.translation("ID_LOADING_GRID")
|
||||
},
|
||||
perPage: 5,
|
||||
perPageValues: [],
|
||||
sortIcon: {
|
||||
is: "glyphicon-sort",
|
||||
base: "glyphicon",
|
||||
up: "glyphicon-chevron-up",
|
||||
down: "glyphicon-chevron-down"
|
||||
}
|
||||
},
|
||||
rows: []
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
setRows(rows) {
|
||||
this.rows = rows;
|
||||
},
|
||||
addAttribute() {
|
||||
this.$emit("addAttribute");
|
||||
},
|
||||
editAttribute(row, index) {
|
||||
this.$emit("editAttribute", row, index);
|
||||
},
|
||||
deleteAttribute(index, row) {
|
||||
this.selectedRowName = row.attributeLdap;
|
||||
this.selectedRowIndex = index;
|
||||
this.$bvModal.show("messageForDeleteAttribute");
|
||||
},
|
||||
deleteAttributeProcess() {
|
||||
this.rows.splice(this.selectedRowIndex - 1, 1);
|
||||
},
|
||||
saveRow(obj) {
|
||||
if (obj.index === null) {
|
||||
delete obj.index;
|
||||
this.rows.push(obj);
|
||||
} else {
|
||||
let i = obj.index;
|
||||
delete obj.index;
|
||||
this.rows[i - 1] = obj;
|
||||
}
|
||||
},
|
||||
connectionSettings() {
|
||||
this.$emit('connectionSettings', this.rows);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div>
|
||||
<titleSection :title="title"></titleSection>
|
||||
<formAuthenticationSources ref="formAuthenticationSources"
|
||||
@matchAttributesToSync="$emit('matchAttributesToSync',$event)"
|
||||
@cancel="cancel"
|
||||
@save="$emit('save',$event)"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import titleSection from "./titleSection.vue"
|
||||
import formAuthenticationSources from "./formAuthenticationSources.vue"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: "#"
|
||||
};
|
||||
},
|
||||
components: {
|
||||
titleSection,
|
||||
formAuthenticationSources
|
||||
},
|
||||
methods: {
|
||||
setTitle(value) {
|
||||
this.title = value;
|
||||
},
|
||||
reset() {
|
||||
this.$refs.formAuthenticationSources.reset();
|
||||
},
|
||||
load(obj) {
|
||||
this.$refs.formAuthenticationSources.load(obj);
|
||||
},
|
||||
cancel() {
|
||||
this.reset();
|
||||
this.$emit('cancel');
|
||||
},
|
||||
rowToForm(row) {
|
||||
return this.$refs.formAuthenticationSources.rowToForm(row);
|
||||
},
|
||||
formToFormData(form) {
|
||||
return this.$refs.formAuthenticationSources.formToFormData(form);
|
||||
},
|
||||
setGridText(data) {
|
||||
this.$refs.formAuthenticationSources.setGridText(data);
|
||||
},
|
||||
getGridText() {
|
||||
return this.$refs.formAuthenticationSources.getGridText();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<div>
|
||||
<titleSection :title="$root.translation('ID_NEW_MATCHED_ATTRIBUTE')"></titleSection>
|
||||
<b-form @submit.stop.prevent="onSave">
|
||||
<b-container fluid>
|
||||
<b-row>
|
||||
<b-col>
|
||||
<b-form-group :label="$root.translation('ID_ROLE')">
|
||||
<b-form-select v-model="form.attributeRole"
|
||||
:options="roles"/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_PROCESSMAKER_USER_FIELD')" description="">
|
||||
<b-form-select v-model="form.attributeUser"
|
||||
:options="userAttributes"/>
|
||||
</b-form-group>
|
||||
<b-form-group :label="$root.translation('ID_LDAP_ATTRIBUTE')">
|
||||
<b-form-input v-model="form.attributeLdap"
|
||||
:state="validateState('attributeLdap')"
|
||||
placeholder=""/>
|
||||
<b-form-invalid-feedback>{{$root.translation('ID_IS_REQUIRED')}}</b-form-invalid-feedback>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<b-row class="text-right">
|
||||
<b-col>
|
||||
<b-form-group>
|
||||
<b-button variant="danger" @click="$emit('cancel')">{{$root.translation('ID_CANCEL')}}</b-button>
|
||||
<b-button type="submit" variant="success">{{$root.translation('ID_SAVE')}}</b-button>
|
||||
</b-form-group>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-container>
|
||||
</b-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { validationMixin } from "vuelidate"
|
||||
import { required } from "vuelidate/lib/validators"
|
||||
import titleSection from "./titleSection.vue"
|
||||
export default {
|
||||
mixins: [validationMixin],
|
||||
components: {
|
||||
titleSection
|
||||
},
|
||||
validations: {
|
||||
form: {
|
||||
attributeLdap: {
|
||||
required
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
index: null,
|
||||
attributeLdap: "",
|
||||
attributeRole: "",
|
||||
attributeUser: "USR_FIRSTNAME"
|
||||
},
|
||||
roles: [
|
||||
{value: "", text: "All"},
|
||||
{value: "PROCESSMAKER_ADMIN", text: this.$root.translation("ID_SYSTEM_ADMINISTRATOR")},
|
||||
{value: "PROCESSMAKER_MANAGER", text: this.$root.translation("ID_MANAGER")},
|
||||
{value: "PROCESSMAKER_OPERATOR", text: this.$root.translation("ID_OPERATOR")}
|
||||
],
|
||||
userAttributes: [
|
||||
{value: "USR_FIRSTNAME", text: "USR_FIRSTNAME"},
|
||||
{value: "USR_LASTNAME", text: "USR_LASTNAME"},
|
||||
{value: "USR_EMAIL", text: "USR_EMAIL"},
|
||||
{value: "USR_DUE_DATE", text: "USR_DUE_DATE"},
|
||||
{value: "USR_STATUS", text: "USR_STATUS"},
|
||||
{value: "USR_STATUS_ID", text: "USR_STATUS_ID"},
|
||||
{value: "USR_ADDRESS", text: "USR_ADDRESS"},
|
||||
{value: "USR_PHONE", text: "USR_PHONE"},
|
||||
{value: "USR_FAX", text: "USR_FAX"},
|
||||
{value: "USR_CELLULAR", text: "USR_CELLULAR"},
|
||||
{value: "USR_ZIP_CODE", text: "USR_ZIP_CODE"},
|
||||
{value: "USR_POSITION", text: "USR_POSITION"},
|
||||
{value: "USR_BIRTHDAY", text: "USR_BIRTHDAY"},
|
||||
{value: "USR_COST_BY_HOUR", text: "USR_COST_BY_HOUR"},
|
||||
{value: "USR_UNIT_COST", text: "USR_UNIT_COST"},
|
||||
{value: "USR_PMDRIVE_FOLDER_UID", text: "USR_PMDRIVE_FOLDER_UID"},
|
||||
{value: "USR_BOOKMARK_START_CASES", text: "USR_BOOKMARK_START_CASES"},
|
||||
{value: "USR_TIME_ZONE", text: "USR_TIME_ZONE"},
|
||||
{value: "USR_DEFAULT_LANG", text: "USR_DEFAULT_LANG"},
|
||||
{value: "USR_LAST_LOGIN", text: "USR_LAST_LOGIN"}
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
validateState(name) {
|
||||
const {$dirty, $error} = this.$v.form[name];
|
||||
return $dirty ? !$error : null;
|
||||
},
|
||||
onSave() {
|
||||
this.$v.form.$touch();
|
||||
if (this.$v.form.$anyError) {
|
||||
return;
|
||||
}
|
||||
this.$emit("save", this.form);
|
||||
},
|
||||
load(row, index) {
|
||||
this.form.index = index;
|
||||
this.form.attributeLdap = row.attributeLdap;
|
||||
this.form.attributeRole = row.attributeRole;
|
||||
this.form.attributeUser = row.attributeUser;
|
||||
},
|
||||
reset() {
|
||||
this.form = {
|
||||
index: null,
|
||||
attributeLdap: "",
|
||||
attributeRole: "",
|
||||
attributeUser: "USR_FIRSTNAME"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<h3 class="text-primary">
|
||||
{{title}}
|
||||
</h3>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
props: {
|
||||
title: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
33
workflow/engine/methods/authenticationSources/src/main.js
Normal file
33
workflow/engine/methods/authenticationSources/src/main.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import Vue from 'vue'
|
||||
import {BootstrapVue, IconsPlugin} from 'bootstrap-vue'
|
||||
import 'bootstrap/dist/css/bootstrap.css'
|
||||
import 'bootstrap-vue/dist/bootstrap-vue.css'
|
||||
import {ClientTable} from 'vue-tables-2'
|
||||
import {ServerTable} from 'vue-tables-2'
|
||||
import App from './App.vue';
|
||||
|
||||
Vue.config.productionTip = false
|
||||
Vue.use(BootstrapVue)
|
||||
Vue.use(IconsPlugin)
|
||||
Vue.use(ClientTable, {}, false, 'bootstrap4', {});
|
||||
Vue.use(ServerTable, {}, false, 'bootstrap4', {});
|
||||
|
||||
new Vue({
|
||||
render: h => h(App),
|
||||
methods: {
|
||||
translation(text, params) {
|
||||
if ("TRANSLATIONS" in window && text in window.TRANSLATIONS) {
|
||||
text = window.TRANSLATIONS[text];
|
||||
if (params != undefined && "length" in params) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
text = text.replace("{" + i + "}", params[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return text;
|
||||
},
|
||||
baseUrl() {
|
||||
return "../authSources/";
|
||||
}
|
||||
}
|
||||
}).$mount('#app');
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
publicPath: '/lib/authenticationSources/'
|
||||
};
|
||||
@@ -38,7 +38,7 @@ Ext.onReady(function() {
|
||||
text : _('ID_BACK'),
|
||||
iconCls: "button_menu_ext ss_sprite ss_arrow_left",
|
||||
handler: function() {
|
||||
location.href = '../authSources/authSources_List';
|
||||
location.href = "../authenticationSources/index";
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Ext.onReady(function() {
|
||||
|
||||
handler: function ()
|
||||
{
|
||||
redirectPage("authSources_List");
|
||||
location.href = "../authenticationSources/index";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user