Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.58 KB | None | 0 0
  1. var OB_JV_UserCreationUtil = Class.create();
  2. OB_JV_UserCreationUtil.prototype = {
  3. initialize: function(blob,subject) {
  4. this.blob = blob;
  5. this.controller = new OB_IntegrationController();
  6. this.subject = subject;
  7. this.personal_email_id = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"email");
  8. this.controller = new OB_IntegrationController();
  9. },
  10. insertUser:function(){
  11. try{
  12. var blob = this.blob;
  13. if(JSUtil.type_of(blob) == 'string'){
  14. blob = new JSON().decode(this.blob);
  15. }
  16. //var blob = new JSON().decode(this.blob);
  17. var email = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"email");
  18.  
  19. var firstName = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"firstName");
  20.  
  21. var lastName = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"lastName");
  22.  
  23. var hiringManager = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"job.managers");
  24. gs.log("THe hiring_hiring Manager" + hiringManager);
  25. var hrManager = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"rc");
  26. gs.log("THe HR Manager" + hrManager);
  27. var businessUnitID = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"job.department");
  28.  
  29. var locationID = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob, "job.location.name"); // work location ID.
  30.  
  31.  
  32. var levelID = x_4591_jobvite_can.OB_JobviteConstants.getPattern(blob,"job.customFields[name=Job Level].value");
  33.  
  34. //get all the information via API
  35.  
  36.  
  37.  
  38. var controller = this.controller;
  39. //businessUnitID = controller.dimension.findBusinessUnitByName(businessUnitID);
  40. locationID = controller.dimension.findLocationByName(locationID);
  41.  
  42. if(JSUtil.nil(locationID)){
  43. locationID = '';
  44. }
  45.  
  46.  
  47. //levelID = controller.dimension.findLevelByName(levelID);
  48. var regionID = controller.dimension.findRegionByName("North America") // hardcoding country for now.
  49. var milestoneID = controller.dimension.findMilestoneByName("Offer Extended");
  50.  
  51. var startDate = WD_Constants.getPattern(this.blob,'startDate');
  52. startDate = startDate.split(" ")[0];
  53.  
  54.  
  55. var tz_start_date = OB_Email_Constants.convertStartDate(startDate,WD_Constants.getPattern(this.blob,'job.location.name'));
  56. if(global.JSUtil.nil(tz_start_date) || tz_start_date == -1){
  57. OB_Email_Constants.logError(this.blob,"start date is not right. Hence returning, and there has been no creation of a new employee with the email ID " + this.personal_email_id);
  58. }
  59.  
  60. if(tz_start_date == -1){
  61. tz_start_date = '';
  62. }
  63.  
  64. //var nho_date = WD_Constants.getPattern(this.blob,'nho_date').split(" ")[0];
  65. var nho_date = WD_Constants.getPattern(this.blob, "customFields[name=NHO Date].value");
  66.  
  67.  
  68. var tz_nho_date = OB_Email_Constants.convertStartDate(nho_date, WD_Constants.getPattern(this.blob,'job.location.name'));
  69. if(global.JSUtil.nil(tz_nho_date) || tz_nho_date == -1){
  70. OB_Email_Constants.logError(this.blob, "NHO date is not right. There has been no creation of a new employee with the email ID " + this.personal_email_id);
  71. }
  72.  
  73. if(tz_nho_date == -1){
  74. tz_nho_date = '';
  75. }
  76.  
  77.  
  78. hiringManager = hiringManager[0].userName;
  79. gs.log("hiringManager email found" + hiringManager);
  80. hiringManager = controller.user.getUserByEmail(hiringManager);
  81. hiringManager = hiringManager.id;
  82. gs.log("HRmanager found" + hrManager)
  83. hrManager = controller.user.getUserByEmail(hrManager);
  84.  
  85. hrManager = hrManager.id;
  86.  
  87. var nho_location = WD_Constants.getPattern(this.blob, "job.customFields[name=Location on First Day/NHO Location].value");
  88.  
  89. if(JSUtil.nil(nho_location)){
  90. // OBSN - 177
  91. nho_location = locationID;
  92. }else{
  93. nho_location = controller.dimension.findLocationByName(nho_location);
  94. }
  95.  
  96.  
  97. // password
  98. var configFactory = OB_AppConfigDTO.create();
  99. var cfg = configFactory.getAppCOnfigByName("onboard_user_default_password");
  100. var password = cfg.value;
  101.  
  102.  
  103.  
  104. //var tz_start_date = startDate;
  105. gs.log("creating user with email : " + email + " firstName : " + firstName + " Lastname: " + lastName + " hiringManager : " + hiringManager + " hrManager : " + hrManager + " levelID " + levelID + " locatonID " + locationID.id + " milestoneID " + milestoneID.id + " regionID " + regionID.id + " start date : " + tz_start_date + " NHO date " + tz_nho_date + " business id = " + businessUnitID + "NHO location = " + nho_location);
  106.  
  107. var hireType = controller.dimension.findHireTypeByName("US-FTE");
  108.  
  109.  
  110. var user = controller.user.createNewHire(
  111. email,
  112. firstName,
  113. lastName,
  114. hiringManager,
  115. hrManager,
  116. levelID,//levelID
  117. nho_location.id,//NHO location
  118. milestoneID.id,//milestoneID
  119. businessUnitID,//businessUnitID
  120. regionID.id,//regionID
  121. "", //title
  122. tz_start_date,
  123. password,
  124. tz_nho_date,
  125. locationID.id,// work location.
  126. hireType.id
  127. );
  128. }catch(e){
  129. gs.log("the line number issue" + e.LineNumber);
  130. }
  131. },
  132.  
  133. updateUser:function(){
  134.  
  135. var blob = this.blob;
  136. //var subject = "ob_email_subject";
  137. if(JSUtil.type_of("blob") == "string"){
  138. blob = new JSON().decode(blob)
  139. }
  140. //var subjectText = blob[subject];
  141. var subjectText = this.subject;
  142. var controller = this.controller;
  143. if(subjectText.indexOf("change start date") != -1){
  144. //API method needed.
  145. var startDate = WD_Constants.getPattern(this.blob,'startDate');
  146. startDate = startDate.split(" ")[0];
  147. gs.log("THE START DATE0 = " + startDate);
  148. var tz_start_date = OB_Email_Constants.convertStartDate(startDate,WD_Constants.getPattern(this.blob,'job.location.name'));
  149. gs.log("THE START DATE = " + tz_start_date);
  150. if(global.JSUtil.nil(tz_start_date) || tz_start_date == -1){
  151. OB_Email_Constants.logError(this.blob,"start date is not right. Hence returning, and there has been no update to the start date of the user with email ID " + this.personal_email_id);
  152. }
  153. this.controller.newHire.updateStartDate(this.personal_email_id, tz_start_date);
  154.  
  155. }
  156. else if(subjectText.indexOf("location change") != -1){
  157. var location = WD_Constants.getPattern(this.blob,'location');
  158. // Call to Eric's API. Check with Eric to provide one.
  159. }
  160. else if(subjectText.indexOf("change nho date") != -1){
  161. var nhoDate = WD_Constants.getPattern(this.blob,'nho_date');
  162. var tz_nho_date = OB_Email_Constants.convertStartDate(nhoDate,WD_Constants.getPattern(this.blob,'job.location.name'));
  163. if(global.JSUtil.nil(tz_nho_date) || tz_nho_date == -1){
  164. OB_Email_Constants.logError(this.blob,"NHO date is not right. Hence returning, and there has been no update to the NHO date of the user with email ID " + this.personal_email_id);
  165. return;
  166. }
  167. this.controller.newHire.updateOrientationDate(this.personal_email_id,tz_nho_date);
  168.  
  169.  
  170.  
  171. gs.log('New NHO Date is '+nhoDate);
  172. }
  173. else if(subjectText.indexOf("status change") != -1){
  174. var status = WD_Constants.getPattern(this.blob,'status');
  175. status = status + '';
  176. if(status.toLowerCase.indexOf("offer rejected") != -1){
  177.  
  178. // call Eric's code to close out the user.
  179.  
  180. }
  181. }
  182. else if(subjectText.indexOf("hiring manager change") != -1){
  183. var hiringManager = WD_Constants.getPattern(this.blob,'hiring_manager');
  184. gs.log('New Hiring Manager is '+hiringManager+'-'+this.personal_email_id);
  185. gs.log("updating the hiring manager" + hiringManager);
  186. this.controller.newHire.updateHiringManager(this.personal_email_id,hiringManager);
  187. }
  188. else if(subjectText.indexOf("recruiting coordinator change") != -1){
  189. var rc = WD_Constants.getPattern(this.blob,'rc');
  190. gs.log('New Recruiting Coordinator is; and updating it with '+rc);
  191. this.controller.newHire.updateHRManager(this.personal_email_id,rc);
  192. }
  193. else if(subjectText.indexOf("offer accepted") != -1){
  194. // call Eric's API. : W
  195.  
  196.  
  197. var nhoDate = WD_Constants.getPattern(this.blob,'nho_date');
  198. var tz_nho_date = OB_Email_Constants.convertStartDate(nhoDate,WD_Constants.getPattern(this.blob,'job.location.name'));
  199. if(global.JSUtil.nil(tz_nho_date) || tz_nho_date == -1){
  200. OB_Email_Constants.logError(this.blob,"NHO date is not right. Hence returning, and there has been no update to the NHO date of the user with email ID " + this.personal_email_id);
  201. return;
  202. }
  203. this.controller.newHire.updateOrientationDate(this.personal_email_id,tz_nho_date);
  204.  
  205. var startDate = WD_Constants.getPattern(this.blob,'startDate');
  206. startDate = startDate.split(" ")[0];
  207. gs.log("THE START DATE0 = " + startDate);
  208. var tz_start_date = OB_Email_Constants.convertStartDate(startDate,WD_Constants.getPattern(this.blob,'job.location.name'));
  209. gs.log("THE START DATE = " + tz_start_date);
  210. if(global.JSUtil.nil(tz_start_date) || tz_start_date == -1){
  211. OB_Email_Constants.logError(this.blob,"start date is not right. Hence returning, and there has been no update to the start date of the user with email ID " + this.personal_email_id);
  212. }
  213. this.controller.newHire.updateStartDate(this.personal_email_id, tz_start_date);
  214.  
  215.  
  216. this.controller.newHire.checkUserForTransition(this.personal_email_id);
  217.  
  218.  
  219. }
  220. else if(subjectText.indexOf("background check passed")){
  221. this.controller.user.updateBackgroundCheckStatus(this.personal_email_id,"C");
  222. }
  223. else
  224. {
  225. OB_Email_Constants.logError(this.blob,"Subject is not valid to update the user");
  226. }
  227. },
  228.  
  229.  
  230.  
  231. type: 'OB_JV_UserCreationUtil'
  232. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement