Skip to content

Instantly share code, notes, and snippets.

@ramrrr
Created February 3, 2016 13:47
Show Gist options
  • Select an option

  • Save ramrrr/6024e1d013ce22dbbf71 to your computer and use it in GitHub Desktop.

Select an option

Save ramrrr/6024e1d013ce22dbbf71 to your computer and use it in GitHub Desktop.
Svein test plz
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