/*
 * OrangeHRM Enterprise is a closed sourced comprehensive Human Resource Management (HRM)
 * System that captures all the essential functionalities required for any enterprise.
 * Copyright (C) 2006 OrangeHRM Inc., http://www.orangehrm.com
 *
 * OrangeHRM Inc is the owner of the patent, copyright, trade secrets, trademarks and any
 * other intellectual property rights which subsist in the Licensed Materials. OrangeHRM Inc
 * is the owner of the media / downloaded OrangeHRM Enterprise software files on which the
 * Licensed Materials are received. Title to the Licensed Materials and media shall remain
 * vested in OrangeHRM Inc. For the avoidance of doubt title and all intellectual property
 * rights to any design, new software, new protocol, new interface, enhancement, update,
 * derivative works, revised screen text or any other items that OrangeHRM Inc creates for
 * Customer shall remain vested in OrangeHRM Inc. Any rights not expressly granted herein are
 * reserved to OrangeHRM Inc.
 *
 * Please refer http://www.orangehrm.com/Files/OrangeHRM_Commercial_License.pdf for the license which includes terms and conditions on using this software.
 *
 */

SET @module_id := (SELECT `id`
                               FROM `ohrm_module`
                               WHERE `name` = 'onboardingPro');

SET @custom_tab_screen_id := (SELECT id
                              FROM `ohrm_screen`
                              WHERE `name` = 'Emergency Contacts');
SET @tab_id := (SELECT id
                FROM `ohrm_menu_item`
                WHERE `menu_title` = 'Emergency Contacts'
                  AND screen_id = @custom_tab_screen_id
                  AND status = 1);

SET @wizard_screen_id := (SELECT id
                FROM `ohrm_wizard_screen`
                WHERE `title` = 'Emergency Contacts');

SET @copy_preboarding_forms_task_template_id := (SELECT id FROM ohrm_advanced_task_template WHERE name = 'Copy Form data to Multiple tab' LIMIT 1);

SET @wizard_screen_id := (SELECT id
                FROM `ohrm_wizard_screen`
                WHERE `title` = 'Emergency Contacts');

SET @emergencyContacts_section_id := (SELECT id
                FROM `ohrm_wizard_section`
                WHERE `wizard_screen_id` = @wizard_screen_id AND name = 'PimEmergencyContacts');

SET @metadata := CONCAT('{
  "formName": "Preboarding Emergency Contacts",
  "wizardDataTemplate":{
     "sectionId": "@section_id",
     "wizardSectionName": "emergencyContacts",
      "data":{
         "emergencyContacts":{
            "name": "${name}",
            "relationship": "${relationship}",
            "home_phone": "${home_phone}",
            "mobile_phone": "${mobile_phone}",
            "office_phone": "${work_phone}",
            "seqno": "${index}"
         },
         "actions":{
            "endpoint": "employees/<EMPNUMBER>/emergencyContacts",
            "method": "POST",
            "data": {
                "name": "${name}",
                "relationship": "${relationship}",
                "home_phone": "${home_phone}",
                "mobile_phone": "${mobile_phone}",
                "office_phone": "${work_phone}"
            },
            "extra": {
                "emergencyContactId": "${index}"
            },
            "params": {}
         }
      }
   },
   "config":{
      "emptyValueMap": {
        "name":"",
        "relationship":"",
        "home_phone":"",
        "mobile_phone":"",
        "office_phone":""
      },
      "aggregate_column": "emergency_contact"
   }
}');

SET @metadata = REPLACE(@metadata, '@section_id', @emergencyContacts_section_id);

INSERT INTO `ohrm_advanced_task` (task_template_id, name, description, metadata)
VALUES (@copy_preboarding_forms_task_template_id, 'pre_add_candidate_as_employee',
        'task run at when candidate added as employee to copy preboarding form information to employee', @metadata);
