Created
February 3, 2016 13:47
-
-
Save ramrrr/6024e1d013ce22dbbf71 to your computer and use it in GitHub Desktop.
Svein test plz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var App = require("core/App") | |
| var AbstractEventModel = require("networkAdapters/model/AbstractEventModel") | |
| var Event = require("alertComposer/send/Event") | |
| var Area = require("alertComposer/recipient/Area") | |
| var Group = require("alertComposer/recipient/Group") | |
| var Person = require("alertComposer/recipient/Person") | |
| //Base Alert template model | |
| module.exports = App.BaseResendEventModel = Ember.Mixin.create(AbstractEventModel, { | |
| setUpModel: function (id) { | |
| var event = this.createEventModel(); | |
| var areaRecipients = []; | |
| var myElements = ["recipient", "channel"]; | |
| var self = this; | |
| if (alertIds != null && alertIds.length != 0) { | |
| Ember.RSVP.all(alertIds.map(function (id) { | |
| return self.store.find("alert", id); | |
| })).then(function (alerts) { | |
| event.get('alerts').clear(); | |
| resendAlert = alerts.objectAt(0); | |
| var removePersonRecipients = []; | |
| var isGasTabEnabled = false; | |
| window.privelegeMap.forEach(function (option) { | |
| if ("recipientConfigurationModule" == option.key && "true" == option.value) { | |
| isGasTabEnabled = true; | |
| } | |
| }) | |
| for(var i=0;i<resendAlert.get("recipients").get('length');i++) { | |
| if(resendAlert.get("recipients")[i] instanceof Area && resendAlert.get("recipients")[i].get("businessRules")) { | |
| var privateRule = JSON.parse(resendAlert.get("recipients")[i].get("businessRules")).priFixed | |
| var enterpriseRule = JSON.parse(resendAlert.get("recipients")[i].get("businessRules")).entFixed | |
| var privateRuleSms = JSON.parse(resendAlert.get("recipients")[i].get("businessRules")).priMobile | |
| var enterpriseRuleSms = JSON.parse(resendAlert.get("recipients")[i].get("businessRules")).entMobile | |
| var emailRule = JSON.parse(resendAlert.get("recipients")[i].get("businessRules")).email | |
| Ember.Logger.info("privateRule ", privateRule); | |
| Ember.Logger.info("enterpriseRule ", enterpriseRule); | |
| Ember.Logger.info("privateRuleSms ", privateRuleSms); | |
| Ember.Logger.info("enterpriseRuleSms ", enterpriseRuleSms); | |
| Ember.Logger.info("emailRule ", emailRule); | |
| Ember.Logger.info("Channels added ", resendAlert.get("channels")); | |
| resendAlert.get("channels").forEach(function (channel) { | |
| channel.set("isIndividualChecked", false); | |
| channel.set("isBusinessChecked", false); | |
| Ember.Logger.info("Processing channel ", channel); | |
| if (channel instanceof App.VoiceChannel) { | |
| if (privateRule && privateRule != undefined) { | |
| if (privateRule != "none") { | |
| channel.set("isIndividualChecked", true); | |
| } else { | |
| channel.set("isIndividualChecked", false); | |
| } | |
| } | |
| if (enterpriseRule && enterpriseRule != undefined) { | |
| if(enterpriseRule != "none") { | |
| channel.set("isBusinessChecked", true); | |
| } else { | |
| channel.set("isBusinessChecked", false); | |
| } | |
| } | |
| } | |
| if(channel instanceof App.SmsChannel) { | |
| if (privateRuleSms && privateRuleSms != undefined) { | |
| if(privateRuleSms != "none") { | |
| channel.set("isIndividualChecked", true); | |
| } else { | |
| channel.set("isIndividualChecked", false); | |
| } | |
| } | |
| if (enterpriseRuleSms && enterpriseRuleSms != undefined) { | |
| if(enterpriseRuleSms != "none") { | |
| channel.set("isBusinessChecked", true); | |
| } else { | |
| channel.set("isBusinessChecked", false); | |
| } | |
| } | |
| } | |
| if(channel instanceof App.EmailChannel) { | |
| if (emailRule && emailRule != undefined) { | |
| channel.set("isBusinessChecked", false); | |
| if(emailRule != "none") { | |
| channel.set("isIndividualChecked", true); | |
| } else { | |
| channel.set("isIndividualChecked", false); | |
| } | |
| } | |
| } | |
| }) | |
| } else if(resendAlert.get("recipients")[i] instanceof Group || resendAlert.get("recipients")[i] instanceof Person ){ | |
| if(!isGasTabEnabled){ | |
| removePersonRecipients.push(resendAlert.get("recipients")[i]); | |
| } | |
| } | |
| } | |
| resendAlert.get("recipients").removeObjects(removePersonRecipients); | |
| resendAlert.set("activeChannel", resendAlert.get("channels").objectAt(0)); | |
| //creating message library object | |
| self.setMessageLibrary(resendAlert) | |
| self.setSimulation(resendAlert); | |
| event.set("name", resendEventName); | |
| event.get("alerts").pushObject(resendAlert); | |
| }).then(null, function (error) { | |
| console.log(error) | |
| console.log(error.stack) | |
| }); | |
| } | |
| return event; | |
| }, | |
| setSimulation: function(alert) { | |
| window.privelegeMap.forEach(function (option) { | |
| if ("alertComposerModule.none:training" == option.key && "true" == option.value) { | |
| alert.set("simulation", true) | |
| } | |
| if ("alertComposerModule.none:live" == option.key && "true" == option.value) { | |
| alert.set("simulation", false) | |
| } | |
| }) | |
| }, | |
| setMessageLibrary: function(resendAlert) { | |
| var self = this; | |
| var msgLibrary = this.store.createRecord("messageLibrary"); | |
| resendAlert.get("channels").forEach(function(channel){ | |
| channel.set("alert", resendAlert); | |
| if(channel instanceof App.VoiceChannel){ | |
| if(channel.get('message')) { | |
| var voiceMessage = channel.get('message'); | |
| self.store.find("voiceMessage", voiceMessage.get("id")).then(function(message){ | |
| var newVoiceMessage = self.store.createRecord("voiceMessage"); | |
| newVoiceMessage.set("callFlowId", message.get('callFlowId')); | |
| newVoiceMessage.set("message", message.get("message")); | |
| message.get('audios').forEach(function(source) { | |
| var audio = self.store.createRecord("audio") | |
| audio.set('audioParameterId', source.get('audioParameterId')) | |
| audio.set('callStepId', source.get('callStepId')) | |
| audio.set('audioId', source.get('audioId')) | |
| audio.set('description', source.get('description')) | |
| audio.set('name', source.get('name')) | |
| audio.set('voiceOf', source.get('voiceOf')) | |
| audio.set('addedVia', source.get('addedVia')) | |
| newVoiceMessage.get('audios').pushObject(audio) | |
| }) | |
| msgLibrary.set('voiceMessage', newVoiceMessage) | |
| }) | |
| } | |
| //Set default config if exists | |
| var defaultVoiceConfigId = ChannelConfigData.defaultVoiceConfigId; | |
| if (channel.get('channelConfig.id') != defaultVoiceConfigId) { | |
| self.store.find('voiceChannelConfig', defaultVoiceConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if(channel instanceof App.SmsChannel){ | |
| if(channel.get('message')) { | |
| msgLibrary.set('smsMessage', channel.get('message')) | |
| } | |
| var defaultSmsConfigId = ChannelConfigData.defaultSmsConfigId; | |
| if (channel.get('channelConfig.id') != defaultSmsConfigId) { | |
| self.store.find('smsChannelConfig', defaultSmsConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if(channel instanceof App.EmailChannel){ | |
| if(channel.get('message')) { | |
| var emailMessage = channel.get('message'); | |
| self.store.find("emailMessage", emailMessage.get("id")).then(function(message){ | |
| var newEmailMessage = self.store.createRecord("emailMessage"); | |
| newEmailMessage.set("subject", message.get('subject')); | |
| newEmailMessage.set("message", message.get("message")); | |
| newEmailMessage.set("localizedEmail", message.get("localizedEmail")); | |
| message.get('attachedFiles').forEach(function(source) { | |
| var attach = self.store.createRecord("attachedFile") | |
| attach.set('fileName', source.get('fileName')) | |
| audio.set('key', source.get('key')) | |
| newEmailMessage.get('attachedFiles').pushObject(attach) | |
| }) | |
| msgLibrary.set('emailMessage', newEmailMessage) | |
| }) | |
| } | |
| //Set default config if exists. | |
| var defaultEmailConfigId = ChannelConfigData.defaultEmailConfigId; | |
| if (channel.get('channelConfig.id') != defaultEmailConfigId) { | |
| self.store.find('emailChannelConfig', defaultEmailConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if (channel instanceof App.LbasSmsChannel) { | |
| var newLbasSmsMessage = self.store.createRecord("lbasSmsMessage"); | |
| if(channel.get('message')) { | |
| var lbasSmsMessage = channel.get('message'); | |
| self.store.find("lbasSmsMessage", lbasSmsMessage.get("id")).then(function(message){ | |
| newLbasSmsMessage.set("message", message.get("message")); | |
| message.get("countryMessages").forEach(function(countryLibrary){ | |
| var lbasMsg = self.store.createRecord("lbasSmsCountryMessage"); | |
| lbasMsg.set("countryCode", countryLibrary.get("countryCode")); | |
| lbasMsg.set("countryName", countryLibrary.get("countryName")); | |
| lbasMsg.set("message", countryLibrary.get("message")); | |
| newLbasSmsMessage.get("countryMessages").pushObject(lbasMsg); | |
| }) | |
| msgLibrary.set('lbasSmsMessage', newLbasSmsMessage); | |
| }) | |
| } | |
| //Set default config if exists | |
| var defaultLbasSmsConfigId = ChannelConfigData.defaultLbasSmsConfigId; | |
| if (channel.get('channelConfig.id') != defaultLbasSmsConfigId) { | |
| self.store.find('lbasSmsChannelConfig', defaultLbasSmsConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if (channel instanceof App.SmartphoneAppChannel) { | |
| debugger | |
| var newSmartphoneAppMessage = self.store.createRecord("smartphoneAppMessage"); | |
| var smartphoneAppMessage = channel.get('message'); | |
| if(channel.get('message')) { | |
| self.store.find("smartphoneAppMessage", smartphoneAppMessage.get("id")).then(function(message){ | |
| newSmartphoneAppMessage.set("headline", message.get("headline")); | |
| newSmartphoneAppMessage.set("message", message.get("message")); | |
| newSmartphoneAppMessage.set("isLocationBased", message.get("isLocationBased")); | |
| newSmartphoneAppMessage.set("isAddressBased", message.get("isAddressBased")); | |
| newSmartphoneAppMessage.set("extendedHrs", message.get("extendedHrs")); | |
| smartphoneAppMessage.get('attachedFiles').forEach(function(source) { | |
| var attach = self.store.createRecord("attachedFile") | |
| attach.set('fileName', source.get('fileName')) | |
| attach.set('key', source.get('key')) | |
| newSmartphoneAppMessage.get('attachedFiles').pushObject(attach) | |
| }) | |
| debugger | |
| smartphoneAppMessage.get('responseAlternatives').forEach(function (source) { | |
| newSmartphoneAppMessage.get('responseAlternatives').pushObject(source) | |
| }) | |
| }) | |
| msgLibrary.set('smartphoneAppMessage', newSmartphoneAppMessage); | |
| } | |
| //Set default config if exists | |
| var defaultSmartphoneConfigId = ChannelConfigData.defaultSmartphoneConfigId; | |
| if (channel.get('channelConfig.id') != defaultSmartphoneConfigId) { | |
| self.store.find('smartphoneAppChannelConfig', defaultSmartphoneConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if (channel instanceof App.WebChannel) { | |
| var newWebMessage = self.store.createRecord("webMessage"); | |
| var webMessage = channel.get('message'); | |
| if(channel.get('message')) { | |
| self.store.find("webMessage", webMessage.get("id")).then(function(message){ | |
| newWebMessage.set("headline", message.get("headline")); | |
| newWebMessage.set("message", message.get("message")); | |
| }) | |
| msgLibrary.set('webMessage', newWebMessage); | |
| } | |
| //Set default config if exists | |
| var defaultWebConfigId = ChannelConfigData.defaultWebConfigId; | |
| if (channel.get('channelConfig.id') != defaultWebConfigId) { | |
| self.store.find('webChannelConfig', defaultWebConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if (channel instanceof App.TwitterChannel) { | |
| var newTwitterMessage = self.store.createRecord("twitterMessage"); | |
| var twitterMessage = channel.get('message'); | |
| if(channel.get('message')) { | |
| self.store.find("twitterMessage", twitterMessage.get("id")).then(function(message){ | |
| newTwitterMessage.set("message", message.get("message")); | |
| message.get('attachedFiles').forEach(function(source) { | |
| var attach = self.store.createRecord("attachedFile") | |
| attach.set('fileName', source.get('fileName')) | |
| attach.set('key', source.get('key')) | |
| newTwitterMessage.get('attachedFiles').pushObject(attach) | |
| }) | |
| msgLibrary.set('twitterMessage', newTwitterMessage); | |
| }) | |
| } | |
| //Set default config if exists | |
| var defaultTwitterConfigId = ChannelConfigData.defaultTwitterConfigId; | |
| if (channel.get('channelConfig.id') != defaultTwitterConfigId) { | |
| self.store.find('twitterChannelConfig', defaultTwitterConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } else if (channel instanceof App.FacebookChannel) { | |
| var newFacebookMessage = self.store.createRecord("facebookMessage"); | |
| var facebookMessage = channel.get('message'); | |
| if(channel.get('message')) { | |
| self.store.find("facebookMessage", facebookMessage.get("id")).then(function(message){ | |
| newFacebookMessage.set("message", message.get("message")); | |
| message.get('attachedFiles').forEach(function(source) { | |
| var attach = self.store.createRecord("attachedFile") | |
| attach.set('fileName', source.get('fileName')) | |
| attach.set('key', source.get('key')) | |
| newFacebookMessage.get('attachedFiles').pushObject(attach) | |
| }) | |
| msgLibrary.set('facebookMessage', newFacebookMessage); | |
| }) | |
| } | |
| //Set default config if exists | |
| var defaultFacebookConfigId = ChannelConfigData.defaultFbConfigId; | |
| if (channel.get('channelConfig.id') != defaultFacebookConfigId) { | |
| self.store.find('facebookChannelConfig', defaultFacebookConfigId).then(function(defaultConfig) { | |
| channel.set('channelConfig', defaultConfig); | |
| }) | |
| } | |
| } | |
| resendAlert.set("messageLibrary", msgLibrary) | |
| }) | |
| } | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment