From 9e500a60d79fba7668b1512908887681d25ac779 Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Wed, 2 Sep 2015 12:58:29 -0700 Subject: [PATCH] UI-1742: Can now select a callflow created in Advanced Callflows in Main Number --- i18n/en-US.json | 5 +- submodules/strategy/strategy.css | 12 +-- submodules/strategy/strategy.js | 37 ++++++- views/strategy-callsTab.html | 165 ++++++++++++++++++------------- 4 files changed, 140 insertions(+), 79 deletions(-) diff --git a/i18n/en-US.json b/i18n/en-US.json index d62edcd..fd1bd4a 100644 --- a/i18n/en-US.json +++ b/i18n/en-US.json @@ -788,7 +788,10 @@ "voicemail": "Voicemail Boxes", "__comment": "UI-1353: Add directory support for the virtual receptionist", "__version": "v3.20_s4", - "directory": "Directory" + "directory": "Directory", + "__comment": "UI-1742: Can now select a callflow created in Advanced Callflows in Main Number", + "__version": "3.22", + "advancedCallflows": "Advanced Callflows" }, "confirmMessages": { "deleteHoliday": "This holiday will be permanently deleted. Continue?", diff --git a/submodules/strategy/strategy.css b/submodules/strategy/strategy.css index 7568bd2..56545c8 100644 --- a/submodules/strategy/strategy.css +++ b/submodules/strategy/strategy.css @@ -417,10 +417,6 @@ background: transparent; } -#strategy_container .element-container.strategy-calls .callflow-tabs .callflow-tab-title { - margin-bottom: 10px; -} - #strategy_container .element-container.strategy-calls .callflow-tabs .call-option { display: inline-block; vertical-align: top; @@ -443,8 +439,12 @@ width: 160px; } -#strategy_container .element-container.strategy-calls .callflow-tabs .call-option:not(:first-of-type) { - margin-left: 20px; +#strategy_container .element-container.strategy-calls .call-options-container .call-option { + margin: 14px 14px 0 0; +} + +#strategy_container .element-container.strategy-calls .call-options-container .call-option:last-child { + margin-right: 0; } #strategy_container .element-container.strategy-calls .callflow-tabs .call-option > div:not(:first-of-type) { diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index f13ec28..a2a9740 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -582,6 +582,7 @@ define(function(require){ callOption: { type: "default" }, + hideAdvancedCallflows: _.isEmpty(strategyData.callEntities.advancedCallflows), callflow: callflowName, callEntities: self.strategyGetCallEntitiesDropdownData(strategyData.callEntities, true, true), voicemails: strategyData.voicemails, @@ -589,7 +590,10 @@ define(function(require){ }; - if(strategyData.callflows[callflowName].flow.module === "voicemail") { + if (strategyData.callflows[callflowName].flow.hasOwnProperty("is_main_number_cf")) { + tabData.callOption.callEntityId = strategyData.callflows[callflowName].flow.data.id; + tabData.callOption.type = "advanced-callflow"; + } else if(strategyData.callflows[callflowName].flow.module === "voicemail") { tabData.callOption.callEntityId = 'none'; tabData.callOption.voicemailId = strategyData.callflows[callflowName].flow.data.id; tabData.callOption.type = "user-voicemail"; @@ -618,6 +622,7 @@ define(function(require){ }); template.find('.voicemail-select select').chosen({ search_contains: true, width: '160px' }); + template.find('.advancedCallflows-select select').chosen({ search_contains: true, width: '160px' }); callback && callback(); break; @@ -1317,7 +1322,8 @@ define(function(require){ callOption = $this.find('.call-option.active'), menu = callOption.find('.menu-div'), callEntity = callOption.find('.user-select'), - voicemail = callOption.find('.voicemail-select') + voicemail = callOption.find('.voicemail-select'), + advancedCallflow = callOption.find('.advancedCallflows-select'), flow = {}; if(callEntity.length) { @@ -1386,6 +1392,17 @@ define(function(require){ } } + if (advancedCallflow.length) { + flow = { + children: {}, + module: 'callflow', + data: { + id: advancedCallflow.find('option:selected').val() + }, + is_main_number_cf: true + }; + } + flows[callflowName] = flow; }); @@ -2367,7 +2384,14 @@ define(function(require){ _callback(null, data.data); } }); - } + }, + advancedCallflows: function(_callback) { + self.strategyGetCallflows(function (advancedCallflowsData) { + _callback(null, advancedCallflowsData); + }, { + 'filter_ui_is_main_number_cf': true + }); + }, }, function(err, results) { var callEntities = { @@ -2380,7 +2404,8 @@ define(function(require){ val.name = group && group.name || val.name; val.module = 'callflow'; return val; - }) + }), + advancedCallflows: results.advancedCallflows }; _.each(callEntities.device, function(device) { @@ -2409,6 +2434,10 @@ define(function(require){ callEntities.ring_group.push(group); }); + _.each(results.advancedCallflows, function(callflow) { + callflow.module = 'callflow'; + }); + callback(callEntities); } ); diff --git a/views/strategy-callsTab.html b/views/strategy-callsTab.html index b75afc1..66d2859 100644 --- a/views/strategy-callsTab.html +++ b/views/strategy-callsTab.html @@ -1,79 +1,108 @@
{{tabMessage}}
-