diff --git a/app.js b/app.js index 600bd96..3cc3252 100644 --- a/app.js +++ b/app.js @@ -30,7 +30,8 @@ define(function(require) { max: 31 }, faxboxes: {}, - faxnumbers: [] + allnumbers: [], // list of all numbers in the account + faxboxnumbers: {} // { "somefaxboxid": [array of DIDs that go to this faxbox] } }, initApp: function(callback) { @@ -48,7 +49,8 @@ define(function(require) { self.getFaxData(function(results) { self.appFlags.faxboxes = _.keyBy(results.faxboxes, 'id'); //console.log(_.size(self.appFlags.faxboxes)); - self.appFlags.faxnumbers = results.faxnumbers; + self.appFlags.faxboxnumbers = results.faxboxnumbers; + var menus = [ { tabs: [ @@ -92,9 +94,9 @@ define(function(require) { callback(null, faxboxes); }); }, - faxnumbers: function(callback) { - self.getFaxNumbers(function(faxnumbers) { - callback(null, faxnumbers); + faxboxnumbers: function(callback) { + self.getFaxboxNumbers(function(faxboxnumbers) { + callback(null, faxboxnumbers); }); }, storage: function(callback) { @@ -126,7 +128,6 @@ define(function(require) { parent = args.container || $('#fax_app_container .app-content-wrapper'), dataTemplate = { faxboxes: self.appFlags.faxboxes, - faxnumbers: self.appFlags.faxnumbers, count: _.size(self.appFlags.faxboxes) }, template = $(self.getTemplate({ @@ -190,6 +191,9 @@ define(function(require) { template.find('.select-faxbox').val(faxboxId).trigger('chosen:updated'); + //load send from phone numbers belonging to this faxbox + self.loadNumberChoices(template, self.appFlags.faxboxnumbers[faxboxId]); + self.maybeShowAllNumbersOption(template); self.displayListFaxes(type, template, faxboxId); }); @@ -344,6 +348,12 @@ define(function(require) { $('.outbound-expand').show(); }); + template.on('click', '.show-all-numbers', function() { + self.loadNumberChoices(template, self.appFlags.allnumbers); //load all numbers + $('.show-all-numbers').fadeOut(2000); + monster.ui.toast({ type: "info", message: self.i18n.active().fax.outbound.allNumbers }); + $('#from_number_header').text(self.i18n.active().fax.outbound.fromNumberAll); + }); template.on('click', '.send-fax-button', function(e) { e.preventDefault(); @@ -771,6 +781,29 @@ define(function(require) { }); }, + loadNumberChoices: function(template, numbers) { + var self = this; + var $phoneNumberSelect = template.find('#sendfax_from_number'); + if ($phoneNumberSelect) { + $phoneNumberSelect.empty(); + if (numbers && numbers.length > 1) { + $phoneNumberSelect.append($('