Name

sn_hr_mobile.MobileCardViewMigrationTools

Description

No description available

Script

var MobileCardViewMigrationTools = Class.create();
MobileCardViewMigrationTools.prototype = {

  TABLE: {
      SYS_SG_ITEM_VIEW: "sys_sg_item_view",
      SYS_SG_UI_STYLE: "sys_sg_ui_style",
      SYS_SG_FORM_SCREEN: "sys_sg_form_screen",
      SYS_SG_MASTER_ITEM: "sys_sg_master_item"
  },

  FIELD: {
      ACTIVE: "active",
      PARAMETER_TYPE: "parameter_type",
      BUTTON: "button",
      PARENT_TABLE: "parent_table",
      PARENT: "parent"
  },

  SYS_SG_ITEM_VIEW_MAP: {
      "bac1e925536c33004d1dddeeff7b1230": {
          "sys_sg_form_screen": [
              "024760c1537723004d1dddeeff7b12b0",
              "0a07e05553ac33004d1dddeeff7b12c8",
              "0e060615737723002204e2596bf6a7ae",
              "17c0a8be53ab23000ad0ddeeff7b12ad",
              "270ab11f53722010d493ddeeff7b1249",
              "8e518987532323000ad0ddeeff7b120a",
              "9208a08177bb23005c4204389a1061e5",
              "989ea9a453113300ea67ddeeff7b12da",
              "99760a15737723002204e2596bf6a711",
              "a3d8a98653a323000ad0ddeeff7b127b",
              "f40e1c2de7222010809a268b03f6a9dd",
              "f9836507732323005788e1e54cf6a7cb"
          ],
          "sys_sg_master_item": [],
          "name": "HR Task To-do Form Screen Header"
      },
      "2e90117d532033004d1dddeeff7b1269": {
          "sys_sg_form_screen": [
              "0c47f0a8e7432010809a268b03f6a971",
              "f45e9242536723000ad0ddeeff7b12fe"
          ],
          "sys_sg_master_item": [],
          "name": "HR Approval Form Screen Header"
      },
      "a927f2b0c7030010ec17148c95c26097": {
          "sys_sg_form_screen": [
              "24124c01c7120010ec17148c95c260e4"
          ],
          "sys_sg_master_item": [
              "3919373b53d200100ad0ddeeff7b1215"
          ],
          "name": "HR Case New Hire Section"
      },
      "ada870d0536033004d1dddeeff7b126b": {
          "sys_sg_form_screen": [
              "52af5656734873002204e2596bf6a785"
          ],
          "sys_sg_master_item": [],
          "name": "HR Activity Set Header"
      },
      "edbe0ea1c36620105f973e5f2b40dd91": {
          "sys_sg_form_screen": [
              "53aac221c36620105f973e5f2b40dd76"
          ],
          "sys_sg_master_item": [],
          "name": "HR Cases Request"
      },
      "26dc56b6731200105788e1e54cf6a7ab": {
          "sys_sg_form_screen": [
              "67a27c2373b200105788e1e54cf6a7f5",
              "a2d674e373b200105788e1e54cf6a709"
          ],
          "sys_sg_master_item": [],
          "name": "Primary ticket as task"
      },
      "321a22a8733323005788e1e54cf6a775": {
          "sys_sg_form_screen": [
              "78dedf4f73f323005788e1e54cf6a796",
              "cc8a66a8733323005788e1e54cf6a783"
          ],
          "sys_sg_master_item": [
              "006ae2a8733323005788e1e54cf6a7c0",
              "01e98aedc32620105f973e5f2b40ddee",
              "c1a59743737323005788e1e54cf6a7b8"
          ],
          "name": "HR Cases Request"
      },
      "5f8629e5536c33004d1dddeeff7b1246": {
          "sys_sg_form_screen": [
              "b8bec102736323005788e1e54cf6a7cb"
          ],
          "sys_sg_master_item": [],
          "name": "HR Case Acceptance To-do Form Screen"
      },
      "6f9b7a5fb3533300f5302ddc16a8dc60": {
          "sys_sg_form_screen": [
              "c00d769fb3533300f5302ddc16a8dca2"
          ],
          "sys_sg_master_item": [
              "322c7e5fb3533300f5302ddc16a8dcc5"
          ],
          "name": "HR SuccessFactor view"
      },
      "a45c4a24b7032010003c6f69ee11a9b0": {
          "sys_sg_form_screen": [
              "f21ab310b7472010003c6f69ee11a950"
          ],
          "sys_sg_master_item": [],
          "name": "HR Onboarding Case"
      },
      "dee7ed0a536323000ad0ddeeff7b1293": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "01b8650653a323000ad0ddeeff7b12aa",
              "3faf54be536b23000ad0ddeeff7b1266",
              "536b7ce4c7a20010ec17148c95c26082",
              "5cfb46d5737723002204e2596bf6a7f3",
              "716b82d5737723002204e2596bf6a7e5",
              "7621c587532323000ad0ddeeff7b12d1",
              "7672ca5353b22010d493ddeeff7b12fe",
              "779dfc0d773f23005c4204389a106170",
              "7fbb06d5737723002204e2596bf6a7aa",
              "a98aa25577947300fe2604389a1061f3",
              "c81e7468c7a20010ec17148c95c260b7",
              "d62cc6d5737723002204e2596bf6a749",
              "f133a107732323005788e1e54cf6a71c",
              "fd1c2d2453113300ea67ddeeff7b1247"
          ],
          "name": "HR Task To-do"
      },
      "b3aa375a53a323000ad0ddeeff7b1279": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "05edde02536723000ad0ddeeff7b1229",
              "1e222cdb53d200100ad0ddeeff7b1252"
          ],
          "name": "HR Approval To-do"
      },
      "c6dfc9a0c7e20010ec17148c95c260e4": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "074d20acc7620010ec17148c95c26073",
              "093e68acc7620010ec17148c95c2608c",
              "1f7da0acc7620010ec17148c95c26027",
              "41c0b020c7a20010ec17148c95c260d2",
              "434b7ce4c7a20010ec17148c95c26008",
              "55013420c7a20010ec17148c95c260d2",
              "55d8bdf4c7220010ec17148c95c2602c",
              "56ade0acc7620010ec17148c95c260ba",
              "58aeb868c7a20010ec17148c95c260a7",
              "7440bcecc7620010ec17148c95c2607a",
              "996e3868c7a20010ec17148c95c26053",
              "a20c3428c7a20010ec17148c95c26058",
              "a3ebb028c7a20010ec17148c95c260f6",
              "acbdb068c7a20010ec17148c95c26078",
              "b5bf28ecc7620010ec17148c95c26056",
              "b8203cecc7620010ec17148c95c26006",
              "c3e8bdf4c7220010ec17148c95c260ec",
              "e06d20acc7620010ec17148c95c26093"
          ],
          "name": "HR Task To-do overdue"
      },
      "de4f300a732323005788e1e54cf6a774": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "092ef4c6732323005788e1e54cf6a7d5",
              "2e43641f53d200100ad0ddeeff7b124e"
          ],
          "name": "HR Case Acceptance To-do"
      },
      "a159c11f531833004d1dddeeff7b127d": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "0d3a491f531833004d1dddeeff7b127f"
          ],
          "name": "Attachment"
      },
      "23a2709bc7230010ec17148c95c260d7": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "3b917c5bc7230010ec17148c95c260c9",
              "45bf681bc7230010ec17148c95c260f2",
              "9c90345bc7230010ec17148c95c260a0"
          ],
          "name": "Document Templates Overdue"
      },
      "06c83dd173440010e15be2596bf6a706": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "3c60d639c3472010a43d3e5f2b40dd70",
              "d42bbd1573440010e15be2596bf6a739"
          ],
          "name": "HR Activity Set Future Task"
      },
      "d0ed1e16734873002204e2596bf6a789": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "4bffd656734873002204e2596bf6a7ca"
          ],
          "name": "HR Activity Set"
      },
      "3862c480b7c72010003c6f69ee11a923": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "5b120480b7c72010003c6f69ee11a977"
          ],
          "name": "My onboarding"
      },
      "1d7d6b3bc7130010ec17148c95c260f3": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "7ebdb132c7e30010ec17148c95c2601d"
          ],
          "name": "Document Template"
      },
      "afea4c5b730433002204e2596bf6a7ec": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "804b009b730433002204e2596bf6a78d"
          ],
          "name": "User"
      },
      "be3dfa9b87772300e0ef0cf888cb0bd0": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "8ef104e2738873002204e2596bf6a751"
          ],
          "name": "Open Task Main Item"
      },
      "b19d17edb79033001befcd58de11a9f5": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "8f2a85de53e033000ad0ddeeff7b12a2"
          ],
          "name": "Request Details Item View"
      },
      "74df285387732300e0ef0cf888cb0b79": {
          "sys_sg_form_screen": [],
          "sys_sg_master_item": [
              "9bcb3c5b531600100ad0ddeeff7b1251"
          ],
          "name": "REQ Approval Item View"
      }
  },

  initialize: function() {
      this.mobileUtahUpgradeCommonTool = new sn_hr_mobile.MobileUtahUpgradeCommonTools();
  },

  cleanUpgrade: function() {
      var itemViewMap = this.SYS_SG_ITEM_VIEW_MAP;
      for (var itemView in itemViewMap) {
          var itemViewGr = this.mobileUtahUpgradeCommonTool.getGlideRecord(this.TABLE.SYS_SG_ITEM_VIEW, itemView);
          if (!itemViewGr || !itemViewGr.isValidRecord()) {
              gs.info("MobileCardViewMigrationTools: cleanUpgrade: Skipping revert as sys_sg_item_view Record {0} not found", itemView);
          } else if (gs.nil(itemViewMap[itemView][this.TABLE.SYS_SG_MASTER_ITEM]) && gs.nil(itemViewMap[itemView][this.TABLE.SYS_SG_FORM_SCREEN])) {
              gs.info("MobileCardViewMigrationTools: cleanUpgrade: Skipping revert as no master or form screen mapped for sys_sg_item_view Record {0}", itemView);
          } else if (this.isItemViewFlowCustom(itemViewGr)) {
              this.revertUntouchedItems(itemViewGr, itemViewMap, this.TABLE.SYS_SG_MASTER_ITEM);
              this.revertUntouchedItems(itemViewGr, itemViewMap, this.TABLE.SYS_SG_FORM_SCREEN);
          } else {
              gs.info("MobileCardViewMigrationTools: cleanUpgrade: Skipping revert as sys_sg_item_view Record {0} not customized", itemView);
          }
      }
  },

  isItemViewFlowCustom: function(itemViewGr) {
      return this.mobileUtahUpgradeCommonTool.isRecordCustomized(itemViewGr.getValue("sys_update_name")) || this.isUIStyleCustomized(itemViewGr);
  },

  isUIStyleCustomized: function(itemViewGr) {
      var uiStyles = itemViewGr.getValue("ui_styles");
      var gr = new GlideRecord(this.TABLE.SYS_SG_UI_STYLE);
      gr.addQuery("sys_id", "IN", uiStyles);
      gr.query();
      while (gr.next()) {
          if (this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name")))
              return true;
      }
      return false;
  },

  revertUntouchedItems: function(itemViewGr, itemViewMap, tableName) {
      if (gs.nil(itemViewMap[itemViewGr.getUniqueValue()][tableName]))
          return;
      var gr = new GlideRecord(tableName);
      gr.addQuery("sys_id", "IN", itemViewMap[itemViewGr.getUniqueValue()][tableName]);
      gr.query();
      if (gr.hasNext()) {
          while (gr.next()) {
              gs.info("MobileCardViewMigrationTools: check if view config loaded " + gr.getValue("view_config"));
              gs.info("MobileCardViewMigrationTools: revertUntouchedItems: Reverting {0} Record {1} ", tableName, itemViewMap[itemViewGr.getUniqueValue()][tableName]);
              if (!this.mobileUtahUpgradeCommonTool.isRecordCustomized(gr.getValue("sys_update_name")) && gr.getValue("use_view_config") == "1") {
                  gr.setValue("use_view_config", 0);
                  gr.setValue("item_view", itemViewGr.getUniqueValue());
                  gr.update();
                  gs.info("MobileCardViewMigrationTools: revertUntouchedItems: Reverting {0} Record {1} updated ", tableName, gr.getUniqueValue());
              }
          }
      } else {
          gs.info("MobileCardViewMigrationTools: revertUntouchedItems: No valid {0} record found for revert, hence no action taken ", tableName);
      }
  },

  type: 'MobileCardViewMigrationTools'
};

Sys ID

d9cc8e4f53cb111024caddeeff7b1286

Offical Documentation

Official Docs: