From 35f9544611d31d530edd17362f469e006406793b Mon Sep 17 00:00:00 2001 From: Jean-Roch Maitre Date: Tue, 31 Mar 2015 14:54:24 -0700 Subject: [PATCH] UI-1331: Hotpatch only for 3.19, fixing the callback of the buyNumber control so we successfuly add them to the user/groups --- submodules/groups/groups.js | 37 +++++++++++++++++++----------------- submodules/users/users.js | 38 +++++++++++++++++++------------------ 2 files changed, 40 insertions(+), 35 deletions(-) diff --git a/submodules/groups/groups.js b/submodules/groups/groups.js index a295152d..981e4b60 100644 --- a/submodules/groups/groups.js +++ b/submodules/groups/groups.js @@ -994,33 +994,36 @@ define(function(require){ template.on('click', '.actions .buy-link', function(e) { e.preventDefault(); + var $this = $(this); + monster.pub('common.buyNumbers', { searchType: $(this).data('type'), callbacks: { success: function(numbers) { - var countNew = 0; - - monster.pub('common.numbers.getListFeatures', function(features) { - _.each(numbers, function(number, k) { - countNew++; - /* Formating number */ - number.viewFeatures = $.extend(true, {}, features); + var parentRow = $this.parents('.grid-row'), + callflowId = parentRow.data('callflow_id'), + name = parentRow.data('name'); + dataNumbers = []; - var rowTemplate = monster.template(self, 'users-rowSpareNumber', number); + template.find('.empty-row').hide(); - template.find('.list-unassigned-items .empty-row').hide(); - template.find('.list-unassigned-items').append(rowTemplate); - }); + template.find('.item-row').each(function(idx, elem) { + dataNumbers.push($(elem).data('id')); + }); - var previous = parseInt(template.find('.unassigned-list-header .count-spare').data('count')), - newTotal = previous + countNew; + _.each(numbers, function(number, idx) { + number.phoneNumber = number.id; + dataNumbers.push(number.phoneNumber); - template.find('.unassigned-list-header .count-spare') - .data('count', newTotal) - .html(newTotal); + template + .find('.list-assigned-items') + .append($(monster.template(self, 'groups-numbersItemRow', { number: number }))); + }); - template.find('.spare-link.disabled').removeClass('disabled'); + self.groupsUpdateNumbers(callflowId, dataNumbers, function(callflowData) { + toastr.success(monster.template(self, '!' + toastrMessages.numbersUpdated, { name: name })); + self.groupsRender({ groupId: callflowData.group_id }); }); }, error: function(error) { diff --git a/submodules/users/users.js b/submodules/users/users.js index 60acd2a1..1c675bed 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -1264,33 +1264,35 @@ define(function(require){ template.on('click', '.actions .buy-link', function(e) { e.preventDefault(); + + var $this = $(this); + monster.pub('common.buyNumbers', { searchType: $(this).data('type'), callbacks: { success: function(numbers) { - var countNew = 0; - - monster.pub('common.numbers.getListFeatures', function(features) { - _.each(numbers, function(number, k) { - countNew++; - - /* Formating number */ - number.viewFeatures = $.extend(true, {}, features); + var name = $this.parents('.grid-row').find('.grid-cell.name').text(), + dataNumbers = $.extend(true, [], extensionsToSave), + userId = $this.parents('.grid-row').data('id'); - var rowTemplate = monster.template(self, 'users-rowSpareNumber', number); + template.find('.empty-row').hide(); - template.find('.list-unassigned-items .empty-row').hide(); - template.find('.list-unassigned-items').append(rowTemplate); - }); + template.find('.item-row').each(function(idx, elem) { + dataNumbers.push($(elem).data('id')); + }); - var previous = parseInt(template.find('.unassigned-list-header .count-spare').data('count')), - newTotal = previous + countNew; + _.each(numbers, function(number, index) { + number.phoneNumber = number.id; + dataNumbers.push(number.phoneNumber); - template.find('.unassigned-list-header .count-spare') - .data('count', newTotal) - .html(newTotal); + template + .find('.list-assigned-items') + .append($(monster.template(self, 'users-numbersItemRow', { number: number }))); + }); - template.find('.spare-link.disabled').removeClass('disabled'); + self.usersUpdateCallflowNumbers(userId, (currentCallflow || {}).id, dataNumbers, function(callflowData) { + toastr.success(monster.template(self, '!' + toastrMessages.numbersUpdated, { name: name })); + self.usersRender({ userId: callflowData.owner_id }); }); }, error: function(error) {