0.0.10 | Built motion from commit dfb8c0e. 0.0.10
authorMotion Team <team@xcally.com>
Thu, 10 Dec 2015 15:57:16 +0000 (16:57 +0100)
committerMotion Team <team@xcally.com>
Thu, 10 Dec 2015 15:57:16 +0000 (16:57 +0100)
14 files changed:
package.json
public/app/f64cd087.app.js [moved from public/app/02d8bd33.app.js with 51% similarity]
public/assets/images/media/desk.png [new file with mode: 0644]
public/assets/languages/locale-en_EN.json
public/assets/languages/locale-it.json
public/index.html
release-notes/changelog_0.0.10.txt [moved from release-notes/changelog_0.0.9.txt with 92% similarity]
server/api/desk_account/desk_account.controller.js [new file with mode: 0644]
server/api/desk_account/desk_account.socket.js [new file with mode: 0644]
server/api/desk_account/desk_account.spec.js [new file with mode: 0644]
server/api/desk_account/index.js [new file with mode: 0644]
server/config/socketio.js
server/models/desk_account.js [new file with mode: 0644]
server/routes.js

index ee1d5ba..07c828c 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "motion",
-  "version": "0.0.10",
+  "version": "0.0.11",
   "main": "server/app.js",
   "dependencies": {
     "accept-language-parser": "^1.0.2",
@@ -14,6 +14,7 @@
     "connect-flash": "^0.1.1",
     "cookie-parser": "~1.4.0",
     "cron": "^1.0.9",
+    "desk.js": "^0.1.2",
     "ejs": "^2.3.4",
     "errorhandler": "~1.4.2",
     "express": "^4.13.3",
similarity index 51%
rename from public/app/02d8bd33.app.js
rename to public/app/f64cd087.app.js
index 6deb586..6ea944d 100644 (file)
@@ -1,38 +1,39 @@
 "use strict";angular.module("xCallyShuttleApp",["adf","adf.structures.base","adf.widget.clock","adf.widget.iframe","adf.widget.counter","adf.widget.table","adf.widget.pie-chart","angular-md5","angular.filter","angularFileUpload","btford.socket-io","chart.js","checklist-model","colorpicker.module","frapontillo.bootstrap-switch","infinite-scroll","LocalStorageModule","mgo-angular-wizard","ng-slide-down","ngAnimate","ngCookies","ngCsv","ngMap","ngResource","ngSanitize","notification","oc.lazyLoad","pascalprecht.translate","pdf","remoteValidation","smart-table","sprintf","textAngular","toastr","ui-notification","ui.bootstrap.modal","ui.bootstrap.dropdown","ui.bootstrap.popover","ui.bootstrap.timepicker","ui.bootstrap.tooltip","ui.bootstrap.tpls","ui.router","ui.navbar","ui.select","ui.sortable","xeditable","ngAudio","truncate","ngScrollbars","ngEmoticons"]).config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider","$translateProvider","localStorageServiceProvider","dashboardProvider","ScrollBarsProvider",function(a,b,c,d,e,f,g,h){b.otherwise("/login"),e.useStaticFilesLoader({prefix:"assets/languages/locale-",suffix:".json"}),e.preferredLanguage("en_EN"),e.useLocalStorage(),e.useSanitizeValueStrategy("sanitize"),c.html5Mode(!0),d.interceptors.push("authInterceptor"),g.structure("4-4-4",{rows:[{columns:[{styleClass:"col-md-4"},{styleClass:"col-md-4"},{styleClass:"col-md-4"}]}]}).structure("3-3-3-3",{rows:[{columns:[{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"},{styleClass:"col-md-3"}]}]}),f.setPrefix("xcally"),h.defaults={scrollButtons:{scrollAmount:"auto",enable:!0},axis:"y"}}]).factory("settings",["$rootScope",function(a){var b={layout:{pageSidebarClosed:!1,pageQuickSidebarOpened:!1,pageBodySolid:!1,pageAutoScrollOnLoad:1e3}};return a.settings=b,b}]).factory("authInterceptor",["$rootScope","$q","$cookieStore",function(a,b,c){return{request:function(a){return a.headers=a.headers||{},c.get("token")&&(a.headers.Authorization="Bearer "+c.get("token")),a}}}]).run(["$rootScope","$location","$state","$stateParams","$window","$http","Auth","editableThemes","editableOptions",function(a,b,c,d,e,f,g,h,i){a.$state=c,a.$stateParams=d,h.bs3.inputClass="input-sm",h.bs3.buttonsClass="btn-xs",i.theme="bs3",a.online=navigator.onLine,e.addEventListener("offline",function(){a.$apply(function(){a.online=!1})},!1),e.addEventListener("online",function(){a.$apply(function(){a.online=!0})},!1),a.$on("$stateChangeStart",function(a,c){g.isLoggedInAsync(function(a){c.authenticate&&!a&&b.path("/login")})}),a.updateTableConfig=function(a,b){var c=_.find(a,{name:"All"});c&&(c.value=b)}}]),angular.module("xCallyShuttleApp").factory("Agent",["$resource",function(a){return a("/api/agents/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents",{url:"/agents",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AgentListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.agents={checked:[]},a.check=function(b,c){c?a.agents.checked=angular.copy(_.pluck(a.displayedAgents,"id")):a.agents.checked=[]},a.getAgents=function(b){return _.map(a.displayedAgents,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("agent"),b.url="/api/agents",h.getPage(b).then(function(d){a.displayedAgents=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.agentsByPage,a.displayedAgents.length),c.updateTableConfig(a.conf.agentsByPage,a.displayedAgents.length)}),f.socket.on("agent:save",function(){a.initList(b)}),f.socket.on("agent:remove",function(c){a.agents.checked=_.without(a.agents.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/agents/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/agents",{params:{id:a.agents.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.list",{url:"/list",templateUrl:"app/agent/list/list.html",controller:"AgentListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AgentViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/agents/password/"+e.id+"/reset",g={newPassword:a.agent.newPwd}):(f="/api/agents/password/",g={oldPassword:a.agent.currentPwd,newPassword:a.agent.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.agent.userpic=e.userpic,a.agent.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/agents/"+e.id).success(function(b){a.agent=b,a.agent.transport=a.agent.transport?a.agent.transport.split(","):[],a.agent.allow=a.agent.allow?a.agent.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.agent),g=angular.copy(a.agent);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/agents/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.agent=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.view",{url:"/view/:id",templateUrl:"app/agent/view/view.html",controller:"AgentViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.agents.view.account",{url:"/account",templateUrl:"app/agent/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("AgentWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"agent",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/agents/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/agents/",a.item).success(function(){d.path("/agents/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.agents.wizard",{url:"/wizard",templateUrl:"app/agent/wizard/wizard.html",controller:"AgentWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics",{url:"/analytics",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Report",["$resource",function(a){return a("/api/analytic/reports/:id",{id:"@id"})}]),angular.module("xCallyShuttleApp").controller("AnalyticListCtrl",["$scope","$http","$rootScope","$uibModal","$log","xAlert","$translate","socket","Modal","Report",function(a,b,c,d,e,f,g,h,i,j){a.conf={reportsByPage:{name:"10",value:10}},a.reportsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.analytics={checked:[]},a.check=function(b,c){c?a.analytics.checked=angular.copy(_.pluck(a.displayedAnalytics,"id")):a.analytics.checked=[]},a.getAnalytics=function(b){return _.map(a.displayedAnalytics,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){h.socket.on("report:save",function(){a.initList(b)}),h.socket.on("report:remove",function(){a.initList(b)}),j.get({page:Math.ceil(b.pagination.start/b.pagination.number),perPage:b.pagination.number,sortBy:b.sort.predicate,reverse:b.sort.reverse}).$promise.then(function(c){b.pagination.numberOfPages=c.totalPages,a.reports=c.rows})["catch"](function(a){f.show(a.data.message,"danger")})},a.createReport=function(a){var b=d.open({animation:!0,size:a,templateUrl:"app/analytic/modal/modal.html",controller:"AnalyticModalCtrl"});b.result.then(function(a){j.save(a,function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success")},function(a){f.show(a.data.message,"danger")})},function(){e.info("Modal dismissed at: "+new Date)})},a.deleteItem=i.confirm["delete"](function(a){j["delete"]({id:a},function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success")},function(a){f.show(a.data.message,"danger")})}),a.deleteItems=i.confirm["delete"](function(){b["delete"]("/api/analytics",{params:{id:a.analytics.checked}}).success(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(g.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.list",{url:"/list",templateUrl:"app/analytic/list/list.html",controller:"AnalyticListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("AnalyticModalCtrl",["$scope","$uibModalInstance",function(a,b){a.form={},a.item={},a.ok=function(){b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("AnalyticViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/analytics/password/"+e.id+"/reset",g={newPassword:a.analytic.newPwd}):(f="/api/analytics/password/",g={oldPassword:a.analytic.currentPwd,newPassword:a.analytic.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.analytic.userpic=e.userpic,a.analytic.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/analytics/"+e.id).success(function(b){a.analytic=b,a.analytic.transport=a.analytic.transport?a.analytic.transport.split(","):[],a.analytic.allow=a.analytic.allow?a.analytic.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.analytic),g=angular.copy(a.analytic);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/analytics/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.analytic=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.view",{url:"/view/:id",templateUrl:"app/analytic/view/view.html",controller:"AnalyticViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.analytics.view.account",{url:"/account",templateUrl:"app/analytic/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("AnalyticWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"analytic",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/analytics/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/analytics/",a.item).success(function(){d.path("/analytics/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.analytics.wizard",{url:"/wizard",templateUrl:"app/analytic/wizard/wizard.html",controller:"AnalyticWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("AutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={AutomationsByPage:{name:"10",value:10}},a.AutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Automations={checked:[]},a.check=function(b,c){c?a.Automations.checked=angular.copy(_.pluck(a.displayedAutomations,"id")):a.Automations.checked=[]},a.getAutomations=function(b){return _.map(a.displayedAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("automation"),b.url="/api/automations",e.getPage(b).then(function(c){a.displayedAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.AutomationsByPage,a.displayedAutomations.length),d.updateTableConfig(a.conf.AutomationsByPage,a.displayedAutomations.length)}),g.socket.on("automation:save",function(){a.initList(b)}),g.socket.on("automation:remove",function(c){a.Automations.checked=_.without(a.Automations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/automations",{params:{id:a.Automations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/automations/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.list",{url:"/list",templateUrl:"app/automation/list/list.html",controller:"AutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("AutomationViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","automations",function(a,b,c,d,e,f){a.$automations=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/automations/"+b.id).success(function(b){a.automation=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$automations.automations[b.channel].conditions,a.fields.actions=a.$automations.automations[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.updateAutomation=function(){c.put("/api/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.view",{url:"/view/:id",templateUrl:"app/automation/view/view.html",controller:"AutomationViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.automations.view.settings",{url:"/settings",templateUrl:"app/automation/view/view.settings.html"}).state("main.automations.view.routes",{url:"/routes",templateUrl:"app/automation/view/view.routes.html"}).state("main.automations.view.application",{url:"/application",templateUrl:"app/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("AutomationWizardCtrl",["$scope","$http","$location","xAlert","automations","WizardHandler",function(a,b,c,d,e,f){a.$automations=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$automations.automations[b].conditions,a.fields.actions=a.$automations.automations[b].actions},!0),a.item.channel="mail",a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/automations",a.item).success(function(){c.path("/automations/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.automations.wizard",{url:"/wizard",templateUrl:"app/automation/wizard/wizard.html",controller:"AutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat",{url:"/chat",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("ChatMessage",["$resource",function(a){return a("/api/chat/messages/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").factory("ChatRoom",["$resource",function(a){return a("/api/chat/rooms/:id/:controller",{id:"@id"},{me:{method:"GET",isArray:!0,params:{id:"me"}},users:{method:"GET",params:{id:"users"}},externals:{method:"GET",isArray:!0,params:{id:"type",controller:"external"}},groups:{method:"GET",isArray:!0,params:{id:"groups"}},update:{method:"PUT"}})}]),angular.module("xCallyShuttleApp").directive("preview",function(){return{templateUrl:"app/chat/preview/preview.html",restrict:"EA",link:function(a,b,c){}}}),angular.module("xCallyShuttleApp").controller("ChatQueueListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatQueuesByPage:{name:"10",value:10}},a.chatQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatQueues={checked:[]},a.check=function(b,c){c?a.chatQueues.checked=angular.copy(_.pluck(a.displayedChatQueues,"id")):a.chatQueues.checked=[]},a.initList=function(b){e.unsyncUpdates("chat_queue"),b.url="/api/chat/queues/",h.getPage(b).then(function(c){a.displayedChatQueues=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(c.queuesByPage,a.displayedChatQueues.length),g.updateTableConfig(a.conf.queuesByPage,a.displayedChatQueues.length)}),e.socket.on("chat_queue:save",function(){a.initList(b)}),e.socket.on("chat_queue:remove",function(c){a.chatQueues.checked=_.without(a.chatQueues.checked,c.id),a.initList(b)})},a.getChatQueues=function(b){return _.map(a.displayedChatQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/queues/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_QUEUE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/queues/",{params:{id:a.chatQueues.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_queue")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.list",{url:"/list",templateUrl:"app/chat/queue/list/list.html",controller:"ChatQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/chat/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/chat/queues/"+e.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateChatQueue=function(){var f=angular.copy(a.queue);b.put("/api/chat/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){a.queue=f,b.errors.forEach(function(a){c.show(a.message,"danger")})})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/chat/user_has_queues",method:"GET",params:{ChatQueueId:a.queue.id}}).success(function(a){ComponentsDropdowns.bindChatQueue(c.rows,_.pluck(a,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.view",{url:"/view/:id",templateUrl:"app/chat/queue/view/view.html",controller:"ChatQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.chat.queues.view.settings",{url:"/settings",templateUrl:"app/chat/queue/view/view.settings.html"}).state("main.chat.queues.view.agents",{url:"/agents",templateUrl:"app/chat/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("ChatQueueWizardCtrl",["$scope","$http","$location","xAlert","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/chat/queues",a.item).success(function(){d.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/chat/queues/list")}).error(function(a){d.show(f.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.queues.wizard",{url:"/wizard",templateUrl:"app/chat/queue/wizard/wizard.html",controller:"ChatQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewAgentCtrl",["$scope","$http","socket",function(a,b,c){console.log("ChatRealtimeViewAgentCtrl"),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initAgents=function(){b.get("/api/report/chats").success(function(b){a.agents=b,c.socket.on("report_chat:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_chat:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_chat:save"),c.unsyncUpdates("report_chat:update")}),a.initChats=function(){b.get("/api/report/chat/sessions").success(function(b){a.sessions=b,c.socket.on("report_chat_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.push(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("ChatRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.chat.realtime.view.agents"}],a.sessions=[{name:"View1",link:"main.chat.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.realtime.view",{url:"/view",templateUrl:"app/chat/realtime/view/view.html",controller:"ChatRealtimeViewCtrl"}).state("main.chat.realtime.view.agents",{url:"/agents",controller:"ChatRealtimeViewAgentCtrl",templateUrl:"app/chat/realtime/view/agent/agent.html"}).state("main.chat.realtime.view.sessions",{url:"/sessions",controller:"ChatRealtimeViewSessionCtrl",templateUrl:"app/chat/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("ChatStatisticCtrl",["$scope","$http","$stateParams","xAlert","socket","$location","$translate","$filter",function(a,b,c,d,e,f,g,h){a.conf={chatVisitorsByPage:10,chatRoomsByPage:10,chatEnquiriesByPage:10},a.$location=f,a.$translate=g,a.$filter=h,a.initList=function(){b.get("api/chat/visitors").success(function(b){a.chatVisitors=b,e.syncUpdates("chat_visitor",a.chatVisitors)}),b.get("api/chat/rooms").success(function(b){a.chatRooms=b,e.syncUpdates("chat_room",a.chatRooms)}),b.get("api/chat/enquiries").success(function(b){a.chatEnquiries=b,e.syncUpdates("chat_enquery",a.chatEnquiries)})},a.initVisitorView=function(){b.get("api/chat/visitors/"+c.id).success(function(b){a.chatVisitor=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initEnquiryView=function(){b.get("api/chat/enquiries/"+c.id).success(function(b){a.chatEnquiry=b}).error(function(a){d.show(g.instant(a.message),"danger")})},a.initRoomView=function(){console.log(c),b.get("api/chat/rooms/"+c.id).success(function(b){a.chatRoom=b}).error(function(a){d.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.statistics",{url:"/statistics",templateUrl:"app/chat/statistic/statistic.html",controller:"ChatStatisticCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]},{name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]}])}]}}).state("main.chat.statistics.summary",{url:"/summary",templateUrl:"app/chat/statistic/statistic.summary.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}}).state("main.chat.statistics.enquiries",{url:"/enquiries",templateUrl:"app/chat/statistic/statistic.enquiry.html"}).state("main.chat.statistics.enquiry",{url:"/enquiry/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.enquiry.view.html"}).state("main.chat.statistics.conversations",{url:"/conversations",templateUrl:"app/chat/statistic/statistic.conversation.html"}).state("main.chat.statistics.conversation",{url:"/conversation/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.conversation.view.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]})}]}}).state("main.chat.statistics.visitors",{url:"/visitors",templateUrl:"app/chat/statistic/statistic.visitor.html"}).state("main.chat.statistics.visitor",{url:"/visitor/:id",controller:"ChatStatisticCtrl",templateUrl:"app/chat/statistic/statistic.visitor.view.html"})}]),angular.module("xCallyShuttleApp").controller("ChatTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/chat").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),
-angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline.list",{url:"/list",templateUrl:"app/chat/timeline/list/list.html",controller:"ChatTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatWebsitesByPage:{name:"10",value:10}},a.chatWebsitesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatWebsites={checked:[]},a.check=function(b,c){c?a.chatWebsites.checked=angular.copy(_.pluck(a.displayedChatWebsites,"id")):a.chatWebsites.checked=[]},a.getChatWebsites=function(b){return _.map(a.displayedChatWebsites,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("chat_website"),b.url="/api/chat/websites",h.getPage(b).then(function(c){a.displayedChatWebsites=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.chatWebsitesByPage,a.displayedChatWebsites.length),g.updateTableConfig(a.conf.chatWebsitesByPage,a.displayedChatWebsites.length)}),e.socket.on("chat_website:save",function(){a.initList(b)}),e.socket.on("chat_website:remove",function(c){a.chatWebsites.checked=_.without(a.chatWebsites.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/websites/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/websites",{params:{id:a.chatWebsites.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_website")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.list",{url:"/list",templateUrl:"app/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.chatApplications,"id")),b.post("api/chat/websites/"+d.websiteId+"/applications",{applications:_.pluck(a.chatApplications,"id")}).success(function(b){angular.copy(b,a.chatApplications)}).error(function(a){console.error(a)})}},b.get("/api/chat/applications",{params:{ChatWebsiteId:d.websiteId}}).success(function(b){a.chatApplications=b,e.socket.on("chat_application:remove",function(b){_.remove(a.chatApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/chat/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/chat/website/view/action/list/list.html",controller:"chatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/chat/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,chatAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.chatQueueId=a.application.chatQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/chat/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/chat/website/view/action/view/view.html",controller:"chatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:1e3}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:1e3}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,ChatWebsiteId:c.websiteId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.ChatQueueId=a.application.ChatQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/chat/applications",f).success(function(){e.path("/chat/websites/view/"+c.websiteId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/chat/website/view/action/wizard/wizard.html",controller:"chatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate",function(a,b,c,d){a.$translate=d,a.statePreview={state:"online"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.getSnippetCode=function(){b.get("api/chat/websites/"+c.websiteId+"/snippet").success(function(b){a.snippetCode=b})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/chat/website/view/snippet/view/view.html",controller:"chatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler",function(a,b,c,d,e,f,g){a.initApplication=function(){a.forms={},a.application={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.deleteItem=function(a){c["delete"]("api/chat/applications/"+a).error(function(){b.show(f.instant("Something went wrong!"),"danger")})},a.initView=function(){c.get("/api/chat/websites/"+e.websiteId).success(function(b){a.chatWebsite=b}).error(function(a){b.show(a.message,"danger")})},a.updateItem=function(){c.put("/api/chat/websites/"+a.chatWebsite.id,a.chatWebsite).success(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")}).error(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.$translate=d,a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.item={},a.createItem=function(){b.post("api/chat/websites",a.item).success(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/chat/websites/list")}).error(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.wizard",{url:"/wizard",templateUrl:"app/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager",{url:"/contactmanager",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contactsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.contactsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.contacts={checked:[]},a.check=function(b,c){c?a.contacts.checked=angular.copy(_.pluck(a.displayedContacts,"id")):a.contacts.checked=[]},a.getContacts=function(b){return _.map(a.displayedContacts,function(a){return b.forEach(function(b){contact[b]=a[b]}),contact})},a.initList=function(b){f.unsyncUpdates("contact_manager"),b.url="/api/contactmanager",h.getPage(b).then(function(c){a.displayedContacts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contactsByPage,a.displayedContacts.length),d.updateTableConfig(a.conf.contactsByPage,a.displayedContacts.length)}),f.socket.on("contact_manager:save",function(){a.initList(b)}),f.socket.on("contact_manager:remove",function(c){a.contacts.checked=_.without(a.contacts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager",{params:{id:a.contacts.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.list",{url:"/list",templateUrl:"app/contactmanager/list/list.html",controller:"ContactManagerListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getContact=function(){b.get("/api/contactmanager/"+e.id).success(function(b){delete b.password,delete b.stamp,a.contact=b}).error(function(a){console.error(a),i.path("/contactmanager/list")})},a.updateContact=function(){var f=angular.copy(a.contact);b.put("/api/contactmanager/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.contact=f})},a.getHistory=function(){b.get("/api/contactmanager/"+e.id+"/history/").success(function(b){a.contactHistory=b,f.syncUpdates("contact_history",a.contactHistory)}).error(function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.view",{url:"/view/:id",templateUrl:"app/contactmanager/view/view.html",controller:"ContactManagerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.view.settings",{url:"/settings",templateUrl:"app/contactmanager/view/view.settings.html"}).state("main.contactmanager.view.history",{url:"/messages",templateUrl:"app/contactmanager/view/view.history.html"})}]),angular.module("xCallyShuttleApp").controller("ContactManagerWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/contactmanager/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/contactmanager/",a.item).success(function(){d.path("/contactmanager/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.wizard",{url:"/wizard",templateUrl:"app/contactmanager/wizard/wizard.html",controller:"ContactManagerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("DashboardCtrl",["$scope","$translate",function(a,b){a.voice=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.voice"}],a.mail=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.mail"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.dashboard",{"abstract":!0,url:"/dashboard",templateUrl:"app/dashboard/dashboard.html",controller:"DashboardCtrl"}).state("main.dashboard.voice",{url:"/voice",controller:"DashboardVoiceCtrl",templateUrl:"app/dashboard/voice/voice.html"}).state("main.dashboard.mail",{url:"/mail",controller:"DashboardMailCtrl",templateUrl:"app/dashboard/mail/mail.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardMailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$http","xAlert","socket",function(a,b,c,d){function e(b,c){console.log("element in check Function is",b);var d;return!b.queuecallerjoinAt||b.queuecallerleaveAt||b.queuecallercompleteAt||b.queuecallerabandonAt?b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="activeCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="completedCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&b.queuecallerabandonAt&&(d="abandonedCalls"):d="waitCalls",console.log("result type is",d),c?d:void(d&&a.queueStats[d]++)}a.queueStats={abandonedCalls:0,completedCalls:0,waitCalls:0,activeCalls:0},a.getQueueStats=function(){b.get("/api/report/queues").then(function(b){a.queueReports=b.data,a.queueReports.forEach(function(a){e(a,!1)}),d.socket.on("report_queue:save",function(b){console.log("report save or update");var c=_.find(a.queueReports,{id:b.id}),d=a.queueReports.indexOf(c);if(c){console.log("found item, is an update");var f=e(c,!0);console.log("old item value is "+f+", decrementing..."),f&&a.queueStats[f]--,_.merge(a.queueReports[d],b)}else console.log("item not found in collection, is a create"),a.queueReports.unshift(b);console.log("checking new item type and increasing..."),e(b,!1)})})["catch"](function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","$log","stResource",function(a,b,c,d,e,f,g,h,i){a.conf={faxAccountsByPage:{name:"10",value:10}},a.faxAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.fax_accounts={checked:[]},a.check=function(b,c){c?a.fax_accounts.checked=angular.copy(_.pluck(a.displayedFaxAccounts,"id")):a.fax_accounts.checked=[]},a.initList=function(b){e.unsyncUpdates("fax_account"),b.url="/api/fax/accounts",i.getPage(b).then(function(c){a.displayedFaxAccounts=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.faxAccountsByPage,a.displayedFaxAccounts.length),g.updateTableConfig(a.conf.faxAccountsByPage,a.displayedFaxAccounts.length)}),e.socket.on("fax_account:save",function(){a.initList(b)}),e.socket.on("fax_account:remove",function(c){a.fax_accounts.checked=_.without(a.fax_accounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/fax/accounts/"+a).success(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_SUCCESS"),"success")}).error(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/accounts",{params:{id:a.fax_accounts.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.getFaxAccounts=function(b){return _.map(a.faxAccountsByPage,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.$on("$destroy",function(){e.unsyncUpdates("fax_account")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.list",{url:"/list",templateUrl:"app/fax/account/list/list.html",controller:"FaxAccountListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.forms={},a.sortableOptions={stop:function(){b.post("api/fax/accounts/"+c.id+"/applications",{applications:_.pluck(a.faxApplications,"id")}).success(function(b){a.faxApplications=b}).error(function(a){console.error(a)})},"ui-floating":!0},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.initApplication=function(){a.forms={},a.application={}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("api/fax/applications/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.getAppdata=function(b,c){switch(b){case"agent":return a.agents?_.find(a.agents,{id:c}).name:c;case"queue":return a.faxQueues?_.find(a.faxQueues,{id:c}).name:c}return"UNKNOWN"},a.createItem=function(){switch(a.application.appdata=a.application.appdata.id,a.application.app){case"agent":a.application.UserId=parseInt(a.application.appdata,10);break;case"queue":a.application.FaxQueueId=parseInt(a.application.appdata,10)}a.application.FaxAccountId=c.id,b.post("api/fax/applications",a.application).success(function(){e.path("fax/accounts/view/"+c.id+"/routes")}).error(function(){h.show("Something went wrong!","danger")})},a.$watch("application.app",function(c){if(c){var d;switch(c){case"agent":d="api/agents";break;case"queue":d="api/fax/queues"}b.get(d).success(function(b){a.items=b.rows})}},!0),a.initView=function(){b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.log(a)}),b.get("/api/fax/accounts/"+c.id).success(function(b){a.account=b}).error(function(){})},a.getAgents=function(){b.get("api/fax/agents").success(function(b){a.agents=b})},a.getFaxApplications=function(){b.get("/api/fax/applications",{params:{FaxAccountId:c.id}}).success(function(b){a.faxApplications=b,g.socket.on("fax_application:remove",function(b){_.remove(a.faxApplications,{id:b.id})})}),b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/fax/queues").success(function(b){a.faxQueues=b.rows})},a.updateItemFaxAccount=function(){b.put("/api/fax/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_SUCCESS")+".","success")}).error(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.view",{url:"/view/:id",templateUrl:"app/fax/account/view/view.html",controller:"FaxAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.accounts.view.settings",{url:"/settings",templateUrl:"app/fax/account/view/view.settings.html",authenticate:!0}).state("main.fax.accounts.view.routes",{url:"/routes",templateUrl:"app/fax/account/view/view.routes.html",authenticate:!0}).state("main.fax.accounts.view.applications",{url:"/applications",templateUrl:"app/fax/account/view/view.applications.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.ecm=!1,a.item.minrate="9600",a.item.maxrate="33600",b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.error(a)})},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/fax/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_SUCCESS")+".","success"),c.path("/fax/accounts/list")}).error(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={faxAutomationsByPage:{name:"10",value:10}},a.faxAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.faxAutomations={checked:[]},a.check=function(b,c){c?a.faxAutomations.checked=angular.copy(_.pluck(a.displayedFaxAutomations,"id")):a.faxAutomations.checked=[]},a.getFaxAutomations=function(b){return _.map(a.displayedFaxAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("fax_business_automation"),b.url="/api/fax/business/automations",e.getPage(b).then(function(c){a.displayedFaxAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.faxAutomationsByPage,a.displayedFaxAutomations.length),d.updateTableConfig(a.conf.faxAutomationsByPage,a.displayedFaxAutomations.length)}),g.socket.on("fax_business_automation:save",function(){a.initList(b)}),g.socket.on("fax_business_automation:remove",function(c){a.faxAutomations.checked=_.without(a.faxAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/fax/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/business/automations",{params:{id:a.faxAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/fax/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.$on("$destroy",function(){g.unsyncUpdates("fax_business_automation")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.list",{url:"/list",templateUrl:"app/fax/automation/list/list.html",controller:"FaxAutomationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationViewCtrl",["$scope","$stateParams","$http","automation","socket","xAlert","$translate","$log",function(a,b,c,d,e,f,g,h){a.initView=function(){a.forms={info:{}},a.automations=d.automations,c.get("/api/fax/business/automations/"+b.id).success(function(c){h.debug(c),a.test=c,a.automation=c,e.syncUpdatesByAttributes("business_condition",{FaxBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAutomation=function(){c.put("/api/fax/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){h.debug(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),h.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){
-case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){console.log(b),a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.view",{url:"/view/:id",templateUrl:"app/fax/automation/view/view.html",controller:"FaxAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.automations.view.settings",{url:"/settings",templateUrl:"app/fax/automation/view/view.settings.html",authenticate:!0}).state("main.fax.automations.view.routes",{url:"/routes",templateUrl:"app/fax/automation/view/view.routes.html",authenticate:!0}).state("main.fax.automations.view.application",{url:"/application",templateUrl:"app/fax/automation/view/view.application.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationWizardCtrl",["$scope","$http","$location","automation","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(d.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){e.wizard().next()},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/fax/business/automations",a.automations).success(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success"),c.path("/fax/automations/list")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.wizard",{url:"/wizard",templateUrl:"app/fax/automation/wizard/wizard.html",controller:"FaxAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxInboxComposeCtrl",["$scope","$http","FileUploader","$location","Auth","xAlert","$cookieStore","$translate",function(a,b,c,d,e,f,g,h){a.forms={},a.form={to:[],sto:[]},b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),a.isNewMessageFromEmpty=!0;var i=a.uploader=new c({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+g.get("token")}});i.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),i.onBeforeUploadItem=function(b){b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html?a.form.html:""})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},i.onCompleteAll=function(){i.clearQueue(),f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")},i.onWhenAddingFileFailed=function(){f.show(h.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.sendFax=function(){return a.form.sto.length?void(i.queue.length?i.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")}).error(function(a){f.show(h.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.cancel=function(){a.form.sto=[],delete a.form.from}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.compose",{url:"/compose",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxCtrl",["$scope","$http","$location","$translate","$timeout","$notification","Auth","socket","$interval",function(a,b,c,d,e,f,g,h,i){a.go=function(a,d,e){e?b.put("/api/fax/rooms/"+d,{status:e}).success(function(){c.path(a)}).error(function(a){console.error(a)}):c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox",{url:"/inbox",templateUrl:"app/fax/inbox/inbox.html",controller:"FaxInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxIncomingCtrl",["$scope","$http","$location","socket","Auth","xAlert",function(a,b,c,d,e,f){a.$location=c,a.getRooms=function(){e.isAdmin()?b.get("api/fax/rooms").success(function(b){a.faxRooms=b,d.syncUpdates("fax_room",a.faxRooms)}).error(function(a){console.error(a),f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}):b.get("api/fax/rooms/agent/"+e.getCurrentUser().id).success(function(b){a.faxRooms=b,d.socket.on("fax_room:update",function(b){b.UserId===e.getCurrentUser().id&&a.faxRooms.push(b)})}).error(function(a){f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.incoming",{url:"/incoming",templateUrl:"app/fax/inbox/incoming/incoming.html",controller:"FaxInboxIncomingCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxRoomCtrl",["$scope","$http","$stateParams","$location","FileUploader","socket","Auth","xAlert","$translate","$cookieStore",function(a,b,c,d,e,f,g,h,i,j){function k(){a.lastMessage=_.reject(a.faxRoom.FaxMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(console.log(a.faxRoom),a.form.from=a.faxRoom.FaxAccount,a.form.to=[a.lastMessage.From.phone],a.form.sto=[a.lastMessage.From.phone])}var l=a.uploader=new e({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+j.get("token")}});l.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),l.onBeforeUploadItem=function(b){console.log(a.form.from.id,a.form.sto[0],a.isNewMessageFromEmpty,c.id,g.getCurrentUser().id),b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,roomId:c.id,userId:g.getCurrentUser().id,html:a.form.html}),console.log(b)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",b,c,d)},l.onCompleteAll=function(){l.clearQueue(),h.show(i.instant("MESSAGE_WELL_DONE"),"success")},l.onWhenAddingFileFailed=function(){h.show(i.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.initRoomView=function(){a.isNewMessageFromEmpty=!0,a.Auth=g,a.forms={},a.form={to:[],sto:[]},b.get("api/agents").success(function(b){a.agents=b}),b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),c.id&&b.get("/api/fax/rooms/"+c.id).success(function(b){a.faxRoom=b,a.isNewMessageFromEmpty=!1,f.syncUpdates("fax_message",[],function(b,c){"created"===b&&c.FaxRoomId===a.faxRoom.id&&(a.faxRoom.FaxMessages.push(c),k())}),k()}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.sendFax=function(){return a.form.sto.length?void(l.queue.length?l.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:g.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"success"),console.log("Fax Message sent")}).error(function(a){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.assignAgent=function(a){b.put("/api/fax/rooms/"+c.id,{UserId:a}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateStatus=function(d){b.put("/api/fax/rooms/"+c.id,{status:d}).success(function(b){a.faxRoom.status=b.status,h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){a.form.sto=[],delete a.form.from,l.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.room",{url:"/room/:id",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxRoomCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","$rootScope","$http","$translate","socket","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("fax_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.faxQueues={checked:[]},a.check=function(b,c){c?a.faxQueues.checked=angular.copy(_.pluck(a.displayedFaxQueues,"id")):a.faxQueues.checked=[]},a.getFaxQueues=function(b){return _.map(a.displayedFaxQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(c){e.unsyncUpdates("fax_queue"),c.url="/api/fax/queues",h.getPage(c).then(function(d){a.displayedFaxQueues=d.rows,c.pagination.numberOfPages=d.total_pages,b.updateTableConfig(d.queuesByPage,a.displayedFaxQueues.length),b.updateTableConfig(a.conf.queuesByPage,a.displayedFaxQueues.length)}),e.socket.on("fax_queue:save",function(){a.initList(c)}),e.socket.on("fax_queue:remove",function(b){a.faxQueues.checked=_.without(a.faxQueues.checked,b.id),a.initList(c)})},a.deleteItem=f.confirm["delete"](function(a){c["delete"]("/api/fax/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.list",{url:"/list",templateUrl:"app/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/fax/queues/"+d.id).success(function(b){a.queue=b}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateFaxQueue=function(){var f=angular.copy(a.queue);b.put("/api/fax/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/fax/user_has_queues",method:"GET",params:{FaxQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindFaxQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.view",{url:"/view/:id",templateUrl:"app/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.fax.queues.view.settings",{url:"/settings",templateUrl:"app/fax/queue/view/view.settings.html"}).state("main.fax.queues.view.agents",{url:"/agents",templateUrl:"app/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueWizardCtrl",["$scope","$http","WizardHandler","xAlert","$translate","$location",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/fax/queues",a.item).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success"),f.path("/fax/queues/list")}).error(function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.wizard",{url:"/wizard",templateUrl:"app/fax/queue/wizard/wizard.html",controller:"FaxQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxTimelineListCtrl",["$scope","$http","socket","xAlert","$translate",function(a,b,c,d,e){function f(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/fax").success(function(a){a.forEach(f),c.socket.on("event:fax:save",f)}).error(function(a){console.error(a),d.show(e.instant("MESSAGE_FAX_ACCOUNT_GET_FAILURE"),"danger")})},a.$on("$destroy",function(){c.socket.removeAllListeners("event:fax:save")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline.list",{url:"/list",templateUrl:"app/fax/timeline/list/list.html",controller:"FaxTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.show(a.message,"danger")})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.show(a.data.errors,"danger")})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={intervalsByPage:{name:"10",value:10},labels:["name"]},a.intervalsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.intervals={checked:[]},a.check=function(b,c){c?a.intervals.checked=angular.copy(_.pluck(a.displayedIntervals,"id")):a.intervals.checked=[]},a.getIntervals=function(b){return _.map(a.displayedIntervals,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("interval"),b.url="/api/intervals",h.getPage(b).then(function(c){a.displayedIntervals=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.intervalsByPage,a.displayedIntervals.length),e.updateTableConfig(a.conf.intervalsByPage,a.displayedIntervals.length)}),c.socket.on("interval:save",function(){a.initList(b)}),c.socket.on("interval:remove",function(c){a.intervals.checked=_.without(a.intervals.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(d.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/intervals",{params:{id:a.intervals.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.list",{url:"/list",templateUrl:"app/interval/list/list.html",controller:"IntervalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.$interval=j.interval,a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(){a.subinterval={IntervalId:e.id},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){b.post("/api/intervals/validate/",a.subinterval).success(function(a){console.log(a),a.length?c.show(d.instant("MESSAGE_EXIST_SUBINTERVAL"),"danger"):h.wizard().next()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from,a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to)):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+","+c+","+d+","+e},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.subIntervals=b.SubIntervals,f.unsyncUpdates("interval"),f.socket.on("interval:remove",function(b){b.id&&_.remove(a.subIntervals,function(a){return b.id===a.id})}),f.socket.on("interval:update",function(b){var c=_.find(a.subIntervals,{id:b.id});c.interval=b.interval}),f.socket.on("interval:save",function(b){if(b.IntervalId===e.id){var c=_.find(a.subIntervals,{id:b.id});c||a.subIntervals.push(b)}})}).error(function(a){console.error(a),g.path("/intervals/list")})},a.updateInterval=function(){var f=angular.copy(a.interval);b.put("/api/intervals/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.interval=f})},a.getSubInterval=function(){b.get("/api/intervals/"+e.appId).success(function(b){a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)},a.subinterval=b;var c,d=b.interval?b.interval.split(","):["*","*","*","*"];d.forEach(function(b,d){switch(d){case 0:"*"!==b?(c=b.split("-"),a.splittedInterval.t_from=moment(c[0],"HH:mm"),a.splittedInterval.t_to=moment(c[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==b?(c=b.split("-"),a.splittedInterval.wd_from=_.capitalize(c[0]),a.splittedInterval.wd_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==b?(c=b.split("-"),a.splittedInterval.md_from=c[0],a.splittedInterval.md_to=c[1]?c[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==b?(c=b.split("-"),a.splittedInterval.m_from=_.capitalize(c[0]),a.splittedInterval.m_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})}).error(function(a){console.error(a),g.path("/intervals/view/"+e.id+"/subintervals")})},a.createItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.post("/api/intervals/",a.subinterval).success(function(){g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.put("/api/intervals/"+e.appId,a.subinterval).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.view",{url:"/view/:id",templateUrl:"app/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.intervals.view.settings",{url:"/settings",templateUrl:"app/interval/view/view.settings.html"}).state("main.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/interval/view/view.subintervals.html",cache:!1}).state("main.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/interval/view/view.subinterval.html",authenticate:!0}).state("main.intervals.view.subintervals.settings",{url:"/settings/:appId",templateUrl:"app/interval/view/view.subintervalSettings.html",authenticate:!0,controller:"IntervalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={interval:void 0},a.item={},a.next=function(){b.post("/api/intervals/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_INTERVAL"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/intervals/",a.item).success(function(a){d.path("/intervals/view/"+a.id+"/subintervals")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.wizard",{url:"/wizard",templateUrl:"app/interval/wizard/wizard.html",controller:"IntervalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope",function(a,b,c,d,e){a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.flagLogin1=!1,a.toogleLogin=function(){a.flagLogin1=!a.flagLogin1},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/dashboard/voice")})["catch"](function(b){a.errorLog=b.message,a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(d){a.signupSubmitted=!0,d.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0}).then(function(){c.path("/")})["catch"](function(b){a.errorLog=b.message,a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAccountsByPage:{name:"10",value:10}},a.mailAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailAccounts={checked:[]},a.check=function(b,c){c?a.mailAccounts.checked=angular.copy(_.pluck(a.displayedMailAccounts,"id")):a.mailAccounts.checked=[]},a.getMailAccounts=function(b){return _.map(a.displayedMailAccounts,function(a){var c={};return b.forEach(function(b){_.isObject(b)?_.forIn(b,function(b,d){c[b]=a[d][b]}):c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("mail_server_in"),c.unsyncUpdates("mail_account"),b.url="/api/mail/accounts",g.getPage(b).then(function(c){a.displayedMailAccounts=c.rows,b.pagination.numberOfPages=c.total_pages}),c.socket.on("mail_server_in:save",function(){a.initList(b)}),c.socket.on("mail_account:save",function(){a.initList(b)}),c.socket.on("mail_account:remove",function(c){a.mailAccounts.checked=_.without(a.mailAccounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/accounts/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/accounts",{params:{id:a.mailAccounts.checked}}).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant(a.message),"danger")})}),a.restart=function(a){c.socket.emit("IMAP:"+a+":RESTART",{msg:"IMAP:"+a+":RESTART"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.list",{url:"/list",templateUrl:"app/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.mailApplications,"id")),b.post("api/mail/accounts/"+d.accountId+"/applications",{applications:_.pluck(a.mailApplications,"id")}).success(function(b){angular.copy(b,a.mailApplications)}).error(function(a){console.error(a)})}},b.get("/api/mail/applications",{params:{MailAccountId:d.accountId}}).success(function(b){a.mailApplications=b,e.socket.on("mail_application:remove",function(b){_.remove(a.mailApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/mail/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){
-case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.accountId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/mail/applications",f).success(function(){e.path("/mail/accounts/view/"+c.accountId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){b.get("/api/mail/accounts/"+c.accountId).success(function(b){a.account=b})},a.updateItemMailAccount=function(){b.put("/api/mail/accounts/"+c.accountId,{name:a.account.name,description:a.account.description,address:a.account.address}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateItemMailServerIn=function(){b.put("/api/mail/servers/in/"+a.account.MailServerIn.id,a.account.MailServerIn).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateItemMailServerOut=function(){b.put("/api/mail/servers/out/"+a.account.MailServerOut.id,a.account.MailServerOut).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view",{url:"/view/:accountId",templateUrl:"app/mail/account/view/view.html",controller:"MailAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.accounts.view.settings",{url:"/settings",templateUrl:"app/mail/account/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.info={},a["in"]={"delete":!1,ssl:!0,protocol:"IMAP",port:993,mailbox:"INBOX",filter:"UNSEEN"},a.out={ssl:!0,port:465},a.$translate=d},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){var e={name:a.info.name,address:a.info.address,description:a.info.description,incoming:a["in"],outgoing:a.out};b.post("api/mail/accounts",e).success(function(){c.path("/mail/accounts/list")}).error(function(a){console.log(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAutomationsByPage:{name:"10",value:10}},a.mailAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.mailAutomations={checked:[]},a.check=function(b,c){c?a.mailAutomations.checked=angular.copy(_.pluck(a.displayedMailAutomations,"id")):a.mailAutomations.checked=[]},a.getMailAutomations=function(b){return _.map(a.displayedMailAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("mail_business_automation"),b.url="/api/mail/business/automations",e.getPage(b).then(function(c){a.displayedMailAutomations=c.mailAutomations,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mailAutomationsByPage,a.displayedMailAutomations.length),d.updateTableConfig(a.conf.mailAutomationsByPage,a.displayedMailAutomations.length)}),g.socket.on("mail_business_automation:save",function(){a.initList(b)}),g.socket.on("mail_business_automation:remove",function(c){a.mailAutomations.checked=_.without(a.mailAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/business/automations",{params:{id:a.mailAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/mail/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.list",{url:"/list",templateUrl:"app/mail/automation/list/list.html",controller:"MailAutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationViewCtrl",["$scope","$stateParams","$http","$translate","automation","socket","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){a.forms={info:{}},a.automations=e.automations,c.get("/api/mail/business/automations/"+b.id).success(function(c){a.test=c,a.automation=c,f.syncUpdatesByAttributes("business_condition",{MailBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){})},a.updateAutomation=function(){c.put("/api/mail/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){g.show(d.instant("MESSAGE_WELL_DONE"),"success"),console.log(a)}).error(function(a){console.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a)}).error(function(a){console.error(a)})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a)})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).error(function(a){console.error(a)})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.view",{url:"/view/:id",templateUrl:"app/mail/automation/view/view.html",controller:"MailAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.automations.view.settings",{url:"/settings",templateUrl:"app/mail/automation/view/view.settings.html"}).state("main.mail.automations.view.routes",{url:"/routes",templateUrl:"app/mail/automation/view/view.routes.html"}).state("main.mail.automations.view.application",{url:"/application",templateUrl:"app/mail/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationWizardCtrl",["$scope","$http","$location","$translate","automation","WizardHandler","xAlert",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(e.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){return a.automations.actions.length?a.automations.or.length||a.automations.and.length?void f.wizard().next():(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_CONDITION"),"danger"),!1):(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_ACTION"),"danger"),!1)},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/mail/business/automations",a.automations).success(function(){c.path("/mail/automations/list")}).error(function(){g.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG","danger"))})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.wizard",{url:"/wizard",templateUrl:"app/mail/automation/wizard/wizard.html",controller:"MailAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailComposeCtrl",["$scope","$http","$location","$cookieStore","$translate","xAlert","FileUploader",function(a,b,c,d,e,f,g){var h=a.uploader=new g({url:"api/mail/messages",withCredentials:!0,headers:{Authorization:"Bearer "+d.get("token")},queueLimit:1});h.onBeforeUploadItem=function(b){b.formData.push({mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,attachment:!0})},h.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success")},h.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")},h.onCompleteAll=function(){console.log("onCompleteAll"),c.path("/mail/inbox/incoming")},a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.sendMail=function(){if(h.queue.length)console.log("file"),h.uploadAll();else{console.log("no file");var d={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null};b.post("/api/mail/messages",d).success(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),c.path("/mail/inbox/incoming")}).error(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.from,delete a.form.text,delete a.form.html}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.compose",{url:"/compose",templateUrl:"app/mail/inbox/room/room.html",controller:"MailComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailInboxCtrl",["$scope","$http","$location",function(a,b,c){a.go=function(a){c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox",{url:"/inbox",templateUrl:"app/mail/inbox/inbox.html",controller:"MailInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailIncomingCtrl",["$scope","$http","$location","$translate","$timeout","socket","xAlert","Auth","stResource","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$location=c,a.conf={mailRoomsByPage:{name:"10",value:10},labels:["fullname","name","email"],test:"OPEN"},a.mailRoomsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailRooms={checked:[]},a.check=function(b,c){c?a.mailRooms.checked=angular.copy(_.pluck(a.displayedMailRooms,"id")):a.mailRooms.checked=[]},a.initList=function(b){f.unsyncUpdates("mail_room"),b.search.predicateObject||(b.search.predicateObject={}),b.sort.predicate="createdAt",b.sort.reverse=!0,h.isAdmin()?(f.socket.on("mail_room:save",function(){e(function(){g.show(d.instant("MESSAGE_MAIL_NEW_INCOMING_MAIL"),"success"),a.initList(b)},2e3)}),f.socket.on("mail_room:remove",function(c){a.mailRooms.checked=_.without(a.mailRooms.mailRooms,c.id),a.initList(b)})):(f.socket.on("mail_room:save",function(c){c.UserId===h.getCurrentUser().id&&a.initList(b)}),f.socket.on("mail_room:remove",function(c){c.UserId===h.getCurrentUser().id&&(a.mailRooms.checked=_.without(a.mailRooms.checked,c.id),a.initList(b))}),b.search.predicateObject.UserId=h.getCurrentUser().id),b.url="/api/mail/rooms",i.getPage(b).then(function(c){a.displayedMailRooms=c.mailRooms,b.pagination.numberOfPages=c.total_pages})},a.deleteItems=j.confirm["delete"](function(){b["delete"]("/api/mail/rooms",{params:{id:a.mailRooms.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){f.unsyncUpdates("mail_room")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.incoming",{url:"/incoming",templateUrl:"app/mail/inbox/incoming/incoming.html",controller:"MailIncomingCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailRoomCtrl",["$scope","$http","$stateParams","$timeout","$cookieStore","$location","$translate","$log","xAlert","Auth","socket","FileUploader",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){a.lastMessage=_.reject(a.mailRoom.MailMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(a.form.subject=a.mailRoom.subject,a.form.from=a.mailRoom.MailAccount,a.form.to=[a.lastMessage.From.email],a.form.cc=a.lastMessage.To.concat(a.lastMessage.Cc),a.form.cc=_.pluck(a.form.cc,"email"),a.form.cc=_.remove(a.form.cc,function(b){return a.mailRoom.MailAccount?b!==a.mailRoom.MailAccount.address:void 0}),a.form.cc=a.form.cc,a.form.inReplyTo=a.lastMessage.messageId,a.form.MailRoomId=a.lastMessage.MailRoomId)}var n=a.uploader=new l({url:"api/mail/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});n.onBeforeUploadItem=function(b){var c={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id};a.mailRoom.roomId&&(c.inReplyTo=a.mailRoom.roomId),b.formData.push(c)},n.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},n.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},n.onCompleteAll=function(){console.log("onCompleteAll"),f.path("/mail/inbox/incoming")},a.initRoomView=function(){a.Auth=j,a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),b.get("/api/mail/rooms/"+c.id).success(function(c){a.mailRoom=c,k.syncUpdatesByAttributes("mail_message",{MailRoomId:a.mailRoom.id},a.mailRoom.MailMessages),"NEW"===a.mailRoom.status&&b.put("/api/mail/rooms/"+a.mailRoom.id,{status:"OPEN"}),m()}).error(function(){f.path("/mail/inbox/incoming")})},a.getMailString=function(a){return a.fullname?a.fullname+" <"+a.email+">":"<"+a.email+">"},a.sendMail=function(){if(n.queue.length)n.uploadAll();else{if(!a.form.to.length)return a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0);a.forms.compose.to.$valid=!0,a.forms.compose.to.$invalid=!1;var c={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id};a.mailRoom.roomId&&(c.inReplyTo=a.mailRoom.roomId),h.debug(c),b.post("/api/mail/messages",c).success(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),Metronic.scrollTop()}).error(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.text},a.updateStatus=function(d){b.put("/api/mail/rooms/"+c.id,{status:d}).success(function(b){a.mailRoom.status=b.status,i.show(g.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success")}).error(function(){i.show(g.instant("MESSAGE_STATUS_UPDATE_FAILURE"),"danger")})},a.assignAgent=function(a){b.put("/api/mail/rooms/"+c.id,{UserId:a}).success(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_SUCCESS"),"success")}).error(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.room",{url:"/room/:id",templateUrl:"app/mail/inbox/room/room.html",controller:"MailRoomCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailQueues={checked:[]},a.check=function(b,c){c?a.mailQueues.checked=angular.copy(_.pluck(a.displayedMailQueues,"id")):a.mailQueues.checked=[]},a.getMailQueues=function(b){return _.map(a.displayedMailQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_queue"),b.url="/api/mail/queues/",g.getPage(b).then(function(c){a.displayedMailQueues=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.queuesByPage,a.displayedMailQueues.length),d.updateTableConfig(a.conf.queuesByPage,a.displayedMailQueues.length)}),e.socket.on("mail_queue:save",function(){a.initList(b)}),e.socket.on("mail_queue:remove",function(c){a.mailQueues.checked=_.without(a.mailQueues.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/queues/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/queues/",{params:{id:a.mailQueues.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.list",{url:"/list",templateUrl:"app/mail/queue/list/list.html",controller:"MailQueueListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/mail/queues/"+d.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateMailQueue=function(){var f=angular.copy(a.queue);b.put("/api/mail/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){e.show(b.message,"success"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b.get("/api/mail/user_has_queues",{params:{MailQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.view",{url:"/view/:id",templateUrl:"app/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.queues.view.settings",{url:"/settings",templateUrl:"app/mail/queue/view/view.settings.html"}).state("main.mail.queues.view.agents",{url:"/agents",templateUrl:"app/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.forms={},a.item={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/mail/queues",a.item).success(function(){c.path("/mail/queues/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.wizard",{url:"/wizard",templateUrl:"app/mail/queue/wizard/wizard.html",controller:"MailQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$http","socket",function(a,b,c){console.log("MailRealtimeViewAgentCtrl"),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initAgents=function(){b.get("/api/report/mails").success(function(b){a.agents=b,c.socket.on("report_mail:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_mail:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initMails=function(){b.get("/api/report/mail/sessions").success(function(b){a.sessions=b,c.socket.on("report_mail_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.unshift(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.mail.realtime.view.agents"}],a.sessions=[{name:"View1",link:"main.mail.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view",{url:"/view",templateUrl:"app/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"}).state("main.mail.realtime.view.agents",{url:"/agents",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.html"}).state("main.mail.realtime.view.sessions",{url:"/sessions",controller:"MailRealtimeViewSessionCtrl",templateUrl:"app/mail/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("MailStatisticsCtrl",["$scope","$http","$translate","socket",function(a,b,c,d){a.message="Hello",a.$translate=c,b.get("api/mail/rooms").success(function(b){a.mailRooms=b,d.syncUpdates("mail_room",a.mailRooms)}),b.get("api/mail/messages").success(function(b){a.mailMessages=b,d.syncUpdates("mail_message",a.mailMessages)})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.statistics",{url:"/statistics",templateUrl:"app/mail/statistics/statistics.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.statistics.summary",{url:"/summary",templateUrl:"app/mail/statistics/statistics.summary.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]
-})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_template")}),a.conf={templatesByPage:{name:"10",value:10}},a.templatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailTemplates={checked:[]},a.check=function(b,c){c?a.mailTemplates.checked=angular.copy(_.pluck(a.displayedMailTemplates,"id")):a.mailTemplates.checked=[]},a.getMailTemplates=function(b){return _.map(a.displayedMailTemplates,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_template"),b.url="/api/mail/templates/",g.getPage(b).then(function(c){a.displayedMailTemplates=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.templatesByPage,a.displayedMailTemplates.length),d.updateTableConfig(a.conf.templatesByPage,a.displayedMailTemplates.length)}),e.socket.on("mail_template:save",function(){a.initList(b)}),e.socket.on("mail_template:remove",function(c){a.mailTemplates.checked=_.without(a.mailTemplates.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/templates/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/templates/",{params:{id:a.mailTemplates.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.list",{url:"/list",templateUrl:"app/mail/template/list/list.html",controller:"MailTemplateListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){a.items={},a.initItem=function(){b.get("/api/mail/accounts").success(function(c){a.mailAccounts=c.rows,b.get("/api/mail/templates/"+d.id).success(function(b){var c=_.find(a.mailAccounts,{address:b.from});a.item={name:b.name,description:b.description,subject:b.subject,from:{address:c.address,name:c.name,id:c.id},to:[],sto:b.to.split(";"),cc:[],scc:b.cc.split(";"),html:b.html,text:b.text,MailAccountId:b.MailAccountId}}).error(function(a){e.show(a.message,"danger")})})},a.updateItem=function(){var f={name:a.item.name,description:a.item.description,from:a.item.from.address,to:a.item.sto.join(";"),cc:a.item.scc.join(";"),subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null,MailAccountId:a.item.from.id};b.put("/api/mail/templates/"+d.id,f).success(function(a){console.log(a),e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.view",{url:"/view/:id",templateUrl:"app/mail/template/view/view.html",controller:"MailTemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.templates.view.settings",{url:"/settings",templateUrl:"app/mail/template/view/view.settings.html"}).state("main.mail.templates.view.agents",{url:"/agents",templateUrl:"app/mail/template/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.forms={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.saveTemplate=function(){var d={name:a.form.name,description:a.form.description,from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailAccountId:a.form.from.id};b.post("/api/mail/templates",d).success(function(){c.path("/mail/templates/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.wizard",{url:"/wizard",templateUrl:"app/mail/template/wizard/wizard.html",controller:"MailTemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/mail").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline.list",{url:"/list",templateUrl:"app/mail/timeline/list/list.html",controller:"MailTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$http","$rootScope","$cookies","$translate","$interval","socket","Auth",function(a,b,c,d,e,f,g,h){a.awesomeThings=[],a.isLoggedIn=h.isLoggedIn,a.isAdmin=h.isAdmin,a.getCurrentUser=h.getCurrentUser,c.workspaces=[],c.mainTab={active:!0},a.$on("$viewContentLoaded",function(){Metronic.init()}),c.language=e.use(),a.changeLanguage=function(a){e.use(a).then(function(a){c.language=a})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("queryBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",operators:"=",properties:"="},templateUrl:"app/main/template.queryBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.booleans=[{name:"AND"},{name:"OR"}],b.addCondition=function(a){"CONDITION"==a?b.group.rules.push({operator:"=",field:"",data:""}):b.group.rules.push({field:"",data:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(a){b.group.rules.push({group:{"boolean":"AND",rules:[],type:a,main:!1}})},b.removeGroup=function(){b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification",function(a,b){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;default:b.info(c)}}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){h.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.show(f.instant(a.message),"danger"),d.$broadcast("$spinnerStop")});var h=a.defer();return h.promise}}}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl"})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","settings","Auth",function(a,b,c,d,e){e.loginWithToken(b.token,b.userId,b.name),a.getCurrentUser=e.getCurrentUser,d.layout.pageQuickSidebarOpened=!0}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar",template:"<div ui-view></div>","abstract":!0}).state("motionbar.chat",{url:"/chat?token&userId&name",templateUrl:"app/motionbar/motionbar.chat.html",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce",function(a,b,c,d,e,f,g,h,i,j){a.isCollapsed=!0,a.audioSources={},a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/uploads/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.getAudioSrc=function(a){return"/api/uploads/"+a},a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/uploads/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("upload")}),a.initList=function(){b.get("/api/uploads").success(function(b){a.sounds=b,a.sounds.forEach(function(a){k(a)}),c.syncUpdates("upload",a.sounds)}).error(function(a){})};var k=function(c){b.get("/api/uploads/stream/"+c.id).success(function(b){a.audioSources[c.id]=b}).error(function(a){console.error(a)})};a.getSecureSrc=function(a){return j.trustAsResourceUrl("data:audio/ogg;base64,"+a)},a.getSecureDownloadSrc=function(a){return j.trustAsResourceUrl("data:application/octet-stream;charset=utf-16le;base64,"+a)};var l=a.uploader=new f({url:"/api/uploads",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")},console.info("uploader",l)}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds.list",{url:"/list",templateUrl:"app/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds",{url:"/sounds",templateUrl:"app/sound/sound.html","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={odbcsByPage:{name:"10",value:10}},a.odbcsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Odbcs={checked:[]},a.check=function(b,c){c?a.Odbcs.checked=angular.copy(_.pluck(a.displayedOdbcs,"id")):a.Odbcs.checked=[]},a.getOdbcs=function(b){return _.map(a.displayedOdbcs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_odbc"),b.url="/api/square/odbc",h.getPage(b).then(function(c){a.displayedOdbcs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.odbcsByPage,a.displayedOdbcs.length),d.updateTableConfig(a.conf.odbcsByPage,a.displayedOdbcs.length)}),c.socket.on("square_odbc:save",function(){a.initList(b)}),c.socket.on("square_odbc:remove",function(c){a.Odbcs.checked=_.without(a.Odbcs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/odbc/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/odbc",{params:{id:a.Odbcs.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs",{url:"/odbcs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getOdbc=function(){b.get("/api/square/odbc/"+e.id).success(function(b){delete b.pwd,a.odbc=b}).error(function(a){console.error(a),f.path("/square/odbcs/list")})},a.updateOdbc=function(){var f=angular.copy(a.odbc);b.put("/api/square/odbc/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.odbc=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbcs.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={odbc:void 0},a.item={},a.next=function(){b.post("/api/square/odbc/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_ODBC"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/odbc/",a.item).success(function(){d.path("/square/odbcs/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.wizard",{url:"/wizard",templateUrl:"app/square/odbc/wizard/wizard.html",controller:"SquareOdbcWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={projectsByPage:{name:"10",value:10}},a.projectsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Projects={checked:[]},a.check=function(b,c){c?a.Projects.checked=angular.copy(_.pluck(a.displayedProjects,"id")):a.Projects.checked=[]},a.getProjects=function(b){return _.map(a.displayedProjects,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_project"),b.url="/api/square/projects",h.getPage(b).then(function(c){a.displayedProjects=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.projectsByPage,a.displayedProjects.length),d.updateTableConfig(a.conf.projectsByPage,a.displayedProjects.length)}),c.socket.on("square_project:save",function(){a.initList(b)}),c.socket.on("square_project:remove",function(c){a.Projects.checked=_.without(a.Projects.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/projects/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/projects",{params:{id:a.Projects.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$http","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i){a.squareProject={},a.getProject=function(){b.get("/api/square/projects/"+c.id).success(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=e.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),d.syncUpdates("square_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/mxgraph/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/mxgraph/js/Editor.js","assets/plugins/mxgraph/js/Graph.js","assets/plugins/mxgraph/js/EditorUi.js","assets/plugins/mxgraph/js/Actions.js","assets/plugins/mxgraph/js/Menus.js","assets/plugins/mxgraph/js/Sidebar.js","assets/plugins/mxgraph/js/Toolbar.js","assets/plugins/mxgraph/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={project:void 0},a.item={},a.next=function(){b.post("/api/square/projects/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_PROJECT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/projects/",a.item).success(function(){d.path("/square/projects/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.wizard",{url:"/wizard",templateUrl:"app/square/project/wizard/wizard.html",controller:"SquareProjectWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={tagsByPage:{name:"10",value:10}},a.tagsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Tags={checked:[]},a.check=function(b,c){c?a.Tags.checked=angular.copy(_.pluck(a.displayedTags,"id")):a.Tags.checked=[]},a.getTags=function(b){return _.map(a.displayedTags,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("tag"),b.url="/api/tags",h.getPage(b).then(function(c){a.displayedTags=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.tagsByPage,a.displayedTags.length),d.updateTableConfig(a.conf.tagsByPage,a.displayedTags.length)}),c.socket.on("tag:save",function(){console.log("save"),a.initList(b)}),c.socket.on("tag:remove",function(c){a.Tags.checked=_.without(a.Tags.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/tags/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/tags",{params:{id:a.Tags.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/tag/list/create.modal.html",controller:"TagListCreateModalCtrl"});a.result.then(function(a){b.post("/api/tags",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.list",{url:"/list",templateUrl:"app/tag/list/list.html",controller:"TagListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getTag=function(){b.get("/api/tags/"+e.id).success(function(b){a.tag=b}).error(function(a){console.error(a),f.path("/tags/list")})},a.updateTag=function(){var f=angular.copy(a.tag);b.put("/api/tags/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.tag=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.view",{url:"/view/:id",templateUrl:"app/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tags.view.settings",{url:"/settings",templateUrl:"app/tag/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={teamsByPage:{name:"10",value:10}},a.teamsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.teams={checked:[]},a.check=function(b,c){c?a.teams.checked=angular.copy(_.pluck(a.displayedTeams,"id")):a.teams.checked=[]},a.getTeams=function(b){return _.map(a.displayedTeams,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("team"),b.url="/api/teams/",h.getPage(b).then(function(c){a.displayedTeams=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.teamsByPage,a.displayedTeams.length),d.updateTableConfig(a.conf.teamsByPage,a.displayedTeams.length)}),f.socket.on("team:save",function(){a.initList(b)}),f.socket.on("team:remove",function(c){a.teams.checked=_.without(a.teams.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/teams/"+a).success(function(){e.show(c.instant("MESSAGE_TEAM_DELETE_SUCCESS"),"success")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/teams",{params:{id:a.teams.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.list",{url:"/list",templateUrl:"app/team/list/list.html",controller:"TeamListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","xAlert",function(a,b,c,d,e){a.message="Hello";var f=function(){return{select:function(c){b.post("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})}}};a.initView=function(){b.get("/api/teams/"+c.id).success(function(b){a.team=b}).error(function(a){e.show(a.message,"danger")})},a.initAgents=function(){b.get("/api/agents").success(function(d){a.agents=d.rows,b.get("/api/user_has_teams",{params:{TeamId:c.id}}).success(function(b){ComponentsDropdowns.bindTeam(_.pluck(b,"UserId"),_.map(a.agents,function(a){return{id:a.id,name:a.name}}),f)}).error(function(a){console.error(a)})})},a.updateItem=function(){var f=angular.copy(a.team),g=angular.copy(a.team);b.put("/api/teams/"+c.id,f).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.team=g,b.errors.forEach(function(a){e.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.view",{url:"/view/:id",templateUrl:"app/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.teams.view.agents",{url:"/agents",templateUrl:"app/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.teams.view.settings",{url:"/settings",templateUrl:"app/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamWizardCtrl",["$scope","$http","$translate","$location","WizardHandler","xAlert",function(a,b,c,d,e,f){a.forms={info:void 0},a.item={},a.createItem=function(){b.post("api/teams",a.item).success(function(){f.show(c.instant("MESSAGE_TEAM_CREATE_SUCCESS"),"success"),d.path("/teams/list")}).error(function(a){a.errors.forEach(function(a){f.show(a.message,"danger")})})},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.wizard",{url:"/wizard",
-templateUrl:"app/team/wizard/wizard.html",controller:"TeamWizardCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={TriggersByPage:{name:"10",value:10}},a.TriggersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Triggers={checked:[]},a.check=function(b,c){c?a.Triggers.checked=angular.copy(_.pluck(a.displayedTriggers,"id")):a.Triggers.checked=[]},a.getTriggers=function(b){return _.map(a.displayedTriggers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("trigger"),b.url="/api/triggers",e.getPage(b).then(function(c){a.displayedTriggers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.TriggersByPage,a.displayedTriggers.length),d.updateTableConfig(a.conf.TriggersByPage,a.displayedTriggers.length)}),g.socket.on("trigger:save",function(){a.initList(b)}),g.socket.on("trigger:remove",function(c){a.Triggers.checked=_.without(a.Triggers.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/triggers/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/triggers",{params:{id:a.Triggers.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/triggers/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.list",{url:"/list",templateUrl:"app/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers",function(a,b,c,d,e,f){a.$triggers=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/triggers/"+b.id).success(function(b){a.trigger=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$triggers.triggers[b.channel].conditions,a.fields.actions=a.$triggers.triggers[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.getProperties=function(){g()};var g=function(){c.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){e.show(a.message,"danger")})};a.updateTrigger=function(){c.put("/api/triggers/"+a.trigger.id,{name:a.trigger.name,description:a.trigger.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.view",{url:"/view/:id",templateUrl:"app/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.triggers.view.settings",{url:"/settings",templateUrl:"app/trigger/view/view.settings.html"}).state("main.triggers.view.routes",{url:"/routes",templateUrl:"app/trigger/view/view.routes.html"}).state("main.triggers.view.application",{url:"/application",templateUrl:"app/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler",function(a,b,c,d,e,f){a.$triggers=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$triggers.triggers[b].conditions,a.fields.actions=a.$triggers.triggers[b].actions},!0),a.item.channel="voice",a.getProperties=function(){i()};var i=function(){b.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){d.show(a.message,"danger")})};a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/triggers",a.item).success(function(){c.path("/triggers/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.wizard",{url:"/wizard",templateUrl:"app/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={trunksByPage:{name:"10",value:10},labels:["name","host","context","description"]},a.trunksByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.trunks={checked:[]},a.check=function(b,c){c?a.trunks.checked=angular.copy(_.pluck(a.displayedTrunks,"id")):a.trunks.checked=[]},a.getTrunks=function(b){return _.map(a.displayedTrunks,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("trunk"),b.url="/api/trunks",console.log(b),h.getPage(b).then(function(c){a.displayedTrunks=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.trunksByPage,a.displayedTrunks.length),d.updateTableConfig(a.conf.trunksByPage,a.displayedTrunks.length)}),f.socket.on("trunk:save",function(){a.initList(b)}),f.socket.on("trunk:remove",function(c){a.trunks.checked=_.without(a.trunks.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/trunks/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/trunks",{params:{id:a.trunks.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.$on("$destroy",function(){console.log("trunks destroy")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.list",{url:"/list",templateUrl:"app/trunk/list/list.html",controller:"TrunkListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.getTrunk=function(){b.get("/api/trunks/"+e.id).success(function(b){b.nat=""===b.nat?[]:b.nat.split(","),b.allow=""===b.allow?[]:b.allow.split(";"),b.insecure=""===b.insecure?[]:b.insecure.split(","),b.transport=""===b.transport?[]:b.transport.split(","),delete b.secret,a.trunk=b}).error(function(a){console.error(a),g.path("/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var f=angular.copy(a.trunk);f.nat=f.nat.join(","),f.allow=f.allow.join(";"),f.insecure=f.insecure.join(","),f.transport=f.transport.join(","),b.put("/api/trunks/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.nat=f.nat.split(","),f.naallowt=f.allow.split(";"),f.insecure=f.insecure.split(","),f.transport=f.transport.split(","),a.trunk=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.view",{url:"/view/:id",templateUrl:"app/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.trunks.view.settings",{url:"/settings",templateUrl:"app/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(d){d?b.post("/api/trunks/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_TRUNK"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")}):c.wizard().next()},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/trunks/",a.item).success(function(){d.path("/trunks/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.wizard",{url:"/wizard",templateUrl:"app/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCheckoutCtrl",["$scope","Update","$uibModalInstance",function(a,b,c){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){c.close()}},{classes:"btn default",text:"Cancel",click:function(){c.dismiss("cancel")}}]},a.initList=function(){b.get(function(b){a.updates=b.all})}}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","$uibModal","$log","$translate","Update","xAlert",function(a,b,c,d,e,f){a.conf={updatesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.updatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.pull=function(){var a=b.open({animation:!0,templateUrl:"app/update/list/checkout/checkout.html",controller:"UpdateListCheckoutCtrl"});a.result.then(function(){e.pull(function(a){a.summary.changes?f.show(d.instant("APPLICATION_UPDATED_TO_LATEST_VERSION"),"success"):f.show(d.instant("APPLICATION_ALREADY_UP_TO_DATE"),"info")},function(a){f.show(a,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.checkout=function(a){var g=b.open({animation:!0,templateUrl:"app/update/list/checkout/checkout.html",controller:"UpdateListCheckoutCtrl",resolve:{hash:function(){return a}}});g.result.then(function(){e.checkout({controller:a.replace(/["']+/g,"")},function(){f.show(d.instant("APPLICATION_WELL_DONE"),"success")},function(a){f.show(a,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initList=function(){e.get(function(b){a.updates=b.all})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.list",{url:"/list",templateUrl:"app/update/list/list.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}},checkout:{method:"GET",params:{id:"checkout"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UpdateViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/updates/password/"+e.id+"/reset",g={newPassword:a.update.newPwd}):(f="/api/updates/password/",g={oldPassword:a.update.currentPwd,newPassword:a.update.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.update.userpic=e.userpic,a.update.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/updates/"+e.id).success(function(b){a.update=b,a.update.transport=a.update.transport?a.update.transport.split(","):[],a.update.allow=a.update.allow?a.update.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.update),g=angular.copy(a.update);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/updates/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.update=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.view",{url:"/view/:id",templateUrl:"app/update/view/view.html",controller:"UpdateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.updates.view.account",{url:"/account",templateUrl:"app/update/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UpdateWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"update",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/updates/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/updates/",a.item).success(function(){d.path("/updates/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.wizard",{url:"/wizard",templateUrl:"app/update/wizard/wizard.html",controller:"UpdateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$http","xAlert","$rootScope","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={usersByPage:{name:"10",value:10}},a.usersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.users={checked:[]},a.check=function(b,c){c?a.users.checked=angular.copy(_.pluck(a.displayedUsers,"id")):a.users.checked=[]},a.getUsers=function(b){return _.map(a.displayedUsers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/users/"+a).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/users",{params:{id:a.users.checked}}).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.initList=function(b){f.unsyncUpdates("user"),b.url="/api/users/",h.getPage(b).then(function(c){a.displayedUsers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.usersByPage,a.displayedUsers.length),d.updateTableConfig(a.conf.usersByPage,a.displayedUsers.length)}),f.socket.on("user:save",function(){a.initList(b)}),f.socket.on("user:remove",function(c){a.users.checked=_.without(a.users.checked,c.id),a.initList(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.list",{url:"/list",templateUrl:"app/user/list/list.html",controller:"UserListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users",{url:"/users",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$http","$stateParams","$translate","FileUploader","$cookieStore","Auth","xAlert",function(a,b,c,d,e,f,g,h){a.Auth=g,a.updatePassword=function(){var e,f;g.isAdmin()?(e="/api/users/password/"+c.id+"/reset",f={newPassword:a.user.newPwd}):(e="/api/users/password/",f={oldPassword:a.user.currentPwd,newPassword:a.user.newPwd}),b.put(e,f).success(function(a){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var i=a.uploader=new e({url:"api/users/"+c.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});i.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),i.onSuccessItem=function(b,c,e,f){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},i.onErrorItem=function(a,b,c,e){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},i.onCompleteAll=function(){i.clearQueue()},a.initView=function(){b.get("/api/users/"+c.id).success(function(b){a.user=b,a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[]}).error(function(a){a.errors.forEach(function(b){h.show(a.message+": "+b.message,"danger")})})},a.updateItem=function(){var e=angular.copy(a.user),f=angular.copy(a.user);delete e.password,delete e.md5secret,e.transport=e.transport.join(","),e.allow=e.allow.join(";"),b.put("/api/users/"+c.id,e).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.user=f,b.errors.forEach(function(a){h.show(b.message+": "+a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.view",{url:"/view/:id",templateUrl:"app/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.users.view.account",{url:"/account",templateUrl:"app/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/users/",a.item).success(function(){e.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/users/list")}).error(function(a){a.errors.forEach(function(b){e.show(a.message+": "+b.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.wizard",{url:"/wizard",templateUrl:"app/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={variablesByPage:{name:"10",value:10}},a.variablesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Variables={checked:[]},a.check=function(b,c){c?a.Variables.checked=angular.copy(_.pluck(a.displayedVariables,"id")):a.Variables.checked=[]},a.getVariables=function(b){return _.map(a.displayedVariables,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("variable"),b.url="/api/variables",h.getPage(b).then(function(c){a.displayedVariables=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.variablesByPage,a.displayedVariables.length),d.updateTableConfig(a.conf.variablesByPage,a.displayedVariables.length)}),c.socket.on("variable:save",function(){a.initList(b)}),c.socket.on("variable:remove",function(c){a.Variables.checked=_.without(a.Variables.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/variables/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/variables",{params:{id:a.Variables.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/variable/list/create.modal.html",controller:"VariableListCreateModalCtrl"});a.result.then(function(a){b.post("/api/variables",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.list",{url:"/list",templateUrl:"app/variable/list/list.html",controller:"VariableListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getVariable=function(){b.get("/api/variables/"+e.id).success(function(b){a.variable=b}).error(function(a){console.error(a),f.path("/variables/list")})},a.updateVariable=function(){var f=angular.copy(a.variable);b.put("/api/variables/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.variable=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.view",{url:"/view/:id",templateUrl:"app/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.variables.view.settings",{url:"/settings",templateUrl:"app/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contextsByPage:{name:"10",value:10}},a.contextsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voiceContexts={checked:[]},a.check=function(b,c){c?a.voiceContexts.checked=angular.copy(_.pluck(a.displayedVoiceContexts,"id")):a.voiceContexts.checked=[]},a.getVoiceContexts=function(b){return _.map(a.displayedVoiceContexts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_context"),b.url="/api/voice/contexts",h.getPage(b).then(function(c){a.displayedVoiceContexts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contextsByPage,a.displayedVoiceContexts.length),d.updateTableConfig(a.conf.contextsByPage,a.displayedVoiceContexts.length)}),c.socket.on("voice_context:save",function(){a.initList(b)}),c.socket.on("voice_context:remove",function(c){a.voiceContexts.checked=_.without(a.voiceContexts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/contexts/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/contexts",{params:{id:a.voiceContexts.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.list",{url:"/list",templateUrl:"app/voice/context/list/list.html",controller:"VoiceContextListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.view",{url:"/view/:id",templateUrl:"app/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={context:void 0},a.item={},a.next=function(){b.post("/api/voice/contexts/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_CONTEXT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/contexts/",a.item).success(function(){d.path("/voice/contexts/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.wizard",{url:"/wizard",templateUrl:"app/voice/context/wizard/wizard.html",controller:"VoiceContextWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={mohsByPage:{name:"10",value:10},labels:["name","directory","sort","description"]},a.mohsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mohs={checked:[]},a.check=function(b,c){c?a.mohs.checked=angular.copy(_.pluck(a.displayedMohs,"id")):a.mohs.checked=[]},a.getMohs=function(b){return _.map(a.displayedMohs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_musiconhold"),b.url="/api/voice/musiconholds",h.getPage(b).then(function(c){a.displayedMohs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mohsByPage,a.displayedMohs.length),d.updateTableConfig(a.conf.mohsByPage,a.displayedMohs.length)}),f.socket.on("voice_musiconhold:save",function(){a.initList(b)}),f.socket.on("voice_musiconhold:remove",function(c){a.mohs.checked=_.without(a.mohs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/musiconholds/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/musiconholds",{params:{id:a.mohs.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.list",{
-url:"/list",templateUrl:"app/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","Modal","$sce","$location",function(a,b,c,d,e,f,g,h,i){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){b.get("/api/voice/musiconholds/"+e.id).success(function(b){delete b.stamp,a.moh=b}).error(function(a){console.error(a),i.path("/voice/mohs/list")})},a.updateVoiceMoh=function(){console.log("update");var f=angular.copy(a.moh);b.put("/api/voice/musiconholds/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voiceMoh=f})},a.addMohs=function(){b.post("/api/voice/musiconholds/"+e.id+"/files",a.item).success(function(){i.path("voice/mohs/view/"+e.id+"/audios")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getAudioFiles=function(){b.get("/api/voice/musiconholds/"+e.id+"/files").success(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){j(a)})}).error(function(a){console.error(a)})},a.getSecureSrc=function(a){return h.trustAsResourceUrl(a)};var j=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.getSounds=function(){a.item={sounds:[]},b.get("/api/uploads").success(function(b){a.soundList=b}).error(function(a){console.error(a)})},a.deleteItem=g.confirm["delete"](function(f){b["delete"]("/api/voice/musiconholds/"+e.id+"/files",{params:{filename:f}}).success(function(){_.remove(a.audioFiles,function(a){return a===f}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.view",{url:"/view/:id",templateUrl:"app/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/voice/moh/view/view.settings.html"}).state("main.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/voice/moh/view/view.audios.html",cache:!1}).state("main.voice.mohs.view.add",{url:"/add",templateUrl:"app/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceMohWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.$translate=g,a.initWizard=function(){a.forms={},a.item={sort:"alpha"}},a.next=function(){b.post("/api/voice/musiconholds/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_MOH"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/musiconholds/",a.item).success(function(a){d.path("/voice/mohs/view/"+a.id+"/audios")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.wizard",{url:"/wizard",templateUrl:"app/voice/moh/wizard/wizard.html",controller:"VoiceMohWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.conf={voiceQueuesByPage:{name:"10",value:10},labels:["name","description","strategy","context"]},a.voiceQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.queues={checked:[]},a.check=function(b,c){c?a.queues.checked=angular.copy(_.pluck(a.displayedQueues,"name")):a.queues.checked=[]},a.getQueues=function(b){return _.map(a.displayedQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_queue"),b.url="/api/voice/queues",h.getPage(b).then(function(c){a.displayedQueues=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.voiceQueuesByPage,a.displayedQueues.length),e.updateTableConfig(a.conf.voiceQueuesByPage,a.displayedQueues.length)}),c.socket.on("voice_queue:save",function(){a.initList(b)}),c.socket.on("voice_queue:remove",function(c){console.log("remove"),a.queues.checked=_.without(a.queues.checked,c.name),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/voice/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/voice/queues",{params:{name:a.queues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.list",{url:"/list",templateUrl:"app/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var h=function(){return{select:function(c){b.post("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/voice/queues/"+e.id).success(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),a.queue=b}).error(function(a){g.path("/voice/queues/list")})},a.updateVoiceQueue=function(){var f=angular.copy(a.queue);f.joinempty=f.joinempty.join(","),f.leavewhenempty=f.leavewhenempty.join(","),f.periodic_announce=f.periodic_announce.join(","),f.context||(f.context=null),b.put("/api/voice/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.joinempty=f.joinempty.split(","),f.leavewhenempty=f.leavewhenempty.split(","),f.periodic_announce=f.periodic_announce.split(","),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/voice/user_has_queues",method:"GET",params:{queue:a.queue.name}}).success(function(b){ComponentsDropdowns.bindQueue(a.teams,_.pluck(b,"UserId"),h)})}).error(function(a){console.error(a)})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getMohs=function(){b.get("/api/voice/musiconholds").success(function(b){a.voiceMohs=b.rows,f.syncUpdates("voice_musiconhold",a.voiceMohs)}).error(function(a){c.show(a.message,"danger")})},a.getSounds=function(){b.get("/api/uploads").success(function(b){a.queueAnnounces=a.queueAnnounces.concat(b),a.periodicAnnounces=angular.copy(b),b.unshift({display_name:"None",converted_path:null,value:""}),a.sounds=b,f.syncUpdates("upload",a.sounds)}).error(function(a){console.error(a)})},a.returnAnnouncePath=function(a){return console.log("func"),a.converted_path?a.converted_path+"/"+a.save_name:null===a.value?null:a.value}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.view",{url:"/view/:id",templateUrl:"app/voice/queue/view/view.html",controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.queues.view.settings",{url:"/settings",templateUrl:"app/voice/queue/view/view.settings.html"}).state("main.voice.queues.view.agents",{url:"/agents",templateUrl:"app/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={queue:void 0},a.item={},a.next=function(){b.post("/api/voice/queues/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_QUEUE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/queues/",a.item).success(function(){d.path("/voice/queues/list")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.wizard",{url:"/wizard",templateUrl:"app/voice/queue/wizard/wizard.html",controller:"VoiceQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/pause.modal.html",controller:"VoiceRealtimeViewAgentPauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log(a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/agent/queue.modal.remove.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initAgents=function(){b.get("/api/voice/user_has_queues").success(function(b){a.agents=b,a.groups=_.map(_.groupBy(a.agents,"membername"),function(a,b){return{membername:b,queues:a}}),f.socket.on("user_has_voice_queue:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{membername:b.membername});_.remove(c.queues,{queue:b.queue}),c.queues.length||_.remove(a.groups,{membername:b.membername})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentPauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c){var e={action:"QueuePause","interface":a.selected["interface"],paused:c,reason:a.selected.item};_.isArray(d)||(e.queue=a.selected.queue),b.close(e)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],penalty:0,paused:!1,reason:a.pauses[0],UserId:a.data[0].UserId},c.get("/api/voice/queues",{params:{page:0,per_page:100}}).success(function(b){a.queues=_.reject(b.rows,function(b){return _.find(a.data,{queue:b.name})?!0:!1}),a.selected.queue=a.queues[0]?a.queues[0].name:null,console.log(a.queues)}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,_.isArray(e)?a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],logout:!1,UserId:a.data[0].UserId}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){console.log(a.selected);var c={action:"QueueAdd",logged:a.data[0].logged,loggedAt:a.data[0].loggedAt,queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_agent")}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.agents=[],b.get("/api/report/agents").success(function(b){a.agents=b,c.syncUpdates("report_agent",a.agents)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewAgentReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_queue")}),a.conf={queuesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.queues=[],b.get("/api/report/queues").success(function(b){console.log(b),a.queues=b,c.syncUpdates("report_queue",a.queues)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewQueueReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueuePauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,console.log(d),a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c,e){var f;_.isArray(d)?(f=[],d.forEach(function(b){f.push({action:"QueuePause",queue:b.queue,membername:b.membername,"interface":b["interface"],paused:c,reason:a.selected.item})})):f={action:"QueuePause",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],paused:c,reason:a.selected.item},b.close(f)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/pause.modal.html",controller:"VoiceRealtimeViewQueuePauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/queue.modal.add.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log("action",a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.message,"danger")}),console.log(a)},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/queue/queue.modal.remove.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initQueues=function(){b.get("/api/voice/user_has_queues").success(function(b){a.queues=b,a.groups=_.map(_.groupBy(a.queues,"queue"),function(a,b){return{queue:b,agents:a}}),console.log("ok"),f.socket.on("user_has_voice_queue:save",function(b){console.log("item",b);var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{queue:b.queue});_.remove(c.agents,{membername:b.membername}),c.agents.length||_.remove(a.groups,{queue:b.queue})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={penalty:0,paused:!1,reason:a.pauses[0]},a.$watch("selected.agent",function(b){b&&(a.selected.membername=b.name,a.selected["interface"]="SIP/"+b.name,a.selected.UserId=b.id)}),c.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=_.reject(b.rows,function(b){return _.find(a.data,{membername:b.name})?!0:!1}),a.selected.queue=a.data[0]?a.data[0].queue:null}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,console.log(e),_.isArray(e)?a.selected={queue:a.data[0].queue,logout:!1}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){var c={action:"QueueAdd",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.voice.realtime.view.agents"},{name:"View2",link:"main.voice.realtime.view.areports"}],a.queues=[{name:"View1",link:"main.voice.realtime.view.queues"},{name:"View2",link:"main.voice.realtime.view.qreports"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime.view",{url:"/view",templateUrl:"app/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.realtime.view.queues",{url:"/queues",controller:"VoiceRealtimeViewQueueCtrl",templateUrl:"app/voice/realtime/view/queue/queue.html"}).state("main.voice.realtime.view.qreports",{url:"/qreport/:search",controller:"VoiceRealtimeViewQueueReportCtrl",templateUrl:"app/voice/realtime/view/qreport/report.html"}).state("main.voice.realtime.view.agents",{url:"/agents",controller:"VoiceRealtimeViewAgentCtrl",templateUrl:"app/voice/realtime/view/agent/agent.html"}).state("main.voice.realtime.view.areports",{url:"/areport",controller:"VoiceRealtimeViewAgentReportCtrl",templateUrl:"app/voice/realtime/view/areport/report.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/inbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"inbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"inbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.list",{url:"/list",templateUrl:"app/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"inbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"inbound",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){f.path("/voice/routes/inbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.$application.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"*,*,*,*"===b.interval?"always":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/inbound/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){
-i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/inbound/view/view.settings.html"}).state("main.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/voice/route/inbound/view/view.applications.html",cache:!1}).state("main.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/voice/route/inbound/view/view.application.html",authenticate:!0}).state("main.voice.routes.inbound.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/inbound/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/inbound/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/inbound/wizard/wizard.html",controller:"VoiceRouteInboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/internal",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"internal"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"internal"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.list",{url:"/list",templateUrl:"app/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"internal"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"internal",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){console.error(a),f.path("/voice/routes/internal/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/internal/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(b){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.view",{url:"/view/:id",templateUrl:"app/voice/route/internal/view/view.html",controller:"VoiceRouteInternalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.internal.view.settings",{url:"/settings",templateUrl:"app/voice/route/internal/view/view.settings.html"}).state("main.voice.routes.internal.view.applications",{url:"/applications",templateUrl:"app/voice/route/internal/view/view.applications.html",cache:!1}).state("main.voice.routes.internal.view.application",{url:"/application",templateUrl:"app/voice/route/internal/view/view.application.html",authenticate:!0}).state("main.voice.routes.internal.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/internal/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInternalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"internal",appdata:"Iternal Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/internal/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.wizard",{url:"/wizard",templateUrl:"app/voice/route/internal/wizard/wizard.html",controller:"VoiceRouteInternalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/outbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.routesByPage,a.displayedRoutes.length),d.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"outbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"outbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.list",{url:"/list",templateUrl:"app/voice/route/outbound/list/list.html",controller:"VoiceRouteOutboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound",{url:"/outbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={info:void 0,interval:void 0},a.application={VoiceExtensionId:e.id,type:"outbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""},a.applications=[{name:"Dial",value:"Dial"},{name:"Custom",value:"custom"}]},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var d,f;switch(e.appId||(a.application={VoiceExtensionId:e.id,type:"outbound",interval:a.application.interval}),c){case"Dial":d="api/trunks",f="/api/voice/contexts";break;default:d=null,f=null}d&&b.get(d).success(function(b){a.items="Dial"===c?b.rows:b}),f&&b.get(f).success(function(b){a.items2="Dial"===c?b.rows:b})}},!0),a.$watch("application.TrunkId",function(b){b&&(a.application.trunk=_.result(_.find(a.items,{id:b}),"name"))},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,f.syncUpdates("interval",a.Intervals)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+e.id+"/applications").success(function(b){a.routeApplications=b,f.unsyncUpdates("voice_extension"),f.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),f.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===e.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+e.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+e.id).success(function(b){a.route=b,f.socket.on("voice_extension:update",function(b){b.id==e.id&&(a.route=b)})}).error(function(a){g.path("/voice/routes/outbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+e.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){console.error(a),g.path("/voice/routes/outbound/view/"+e.id+"/routes")})},a.updateRoute=function(){var f=angular.copy(a.route);b.put("/api/voice/extensions/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.route=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){switch(a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+e.appId,a.application).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(e){b["delete"]("/api/voice/extensions/"+e).success(function(b){a.getRouteApplications(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.goNext=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){f.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.view",{url:"/view/:id",templateUrl:"app/voice/route/outbound/view/view.html",controller:"VoiceRouteOutboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.outbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/outbound/view/view.settings.html"}).state("main.voice.routes.outbound.view.routes",{url:"/routes",templateUrl:"app/voice/route/outbound/view/view.routes.html",cache:!1}).state("main.voice.routes.outbound.view.route",{url:"/route",templateUrl:"app/voice/route/outbound/view/view.route.html",authenticate:!0}).state("main.voice.routes.outbound.view.routes.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/outbound/view/view.routeSettings.html",authenticate:!0,controller:"VoiceRouteOutboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"outbound",appdata:"Outbound Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/outbound/view/"+a.id+"/routes")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/outbound/wizard/wizard.html",controller:"VoiceRouteOutboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes",{url:"/routes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice",{url:"/voice",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={voicemailsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.voicemailsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voicemails={checked:[]},a.check=function(b,c){c?a.voicemails.checked=angular.copy(_.pluck(a.displayedVoicemails,"uniqueid")):a.voicemails.checked=[]},a.getVoicemails=function(b){return _.map(a.displayedVoicemails,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_voicemail"),b.url="/api/voice/voicemails",h.getPage(b).then(function(c){a.displayedVoicemails=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.voicemailsByPage,a.displayedVoicemails.length),d.updateTableConfig(a.conf.voicemailsByPage,a.displayedVoicemails.length)}),f.socket.on("voice_voicemail:save",function(){a.initList(b)}),f.socket.on("voice_voicemail:remove",function(c){a.voicemails.checked=_.without(a.voicemails.checked,c.uniqueid),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/voicemails",{params:{uniqueid:a.voicemails.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.list",{url:"/list",templateUrl:"app/voice/voicemail/list/list.html",controller:"VoiceVoicemailListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getVoicemail=function(){b.get("/api/voice/voicemails/"+e.uniqueid).success(function(b){delete b.password,delete b.stamp,a.voicemail=b}).error(function(a){console.error(a),i.path("/voice/voicemails/list")})},a.updateVoiceVoicemail=function(){var f=angular.copy(a.voicemail);b.put("/api/voice/voicemails/"+e.uniqueid,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voicemail=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(a.message,"danger")})},a.getMessages=function(){b.get("/api/voice/voicemails/"+e.uniqueid+"/messages/").success(function(b){a.voicemailMessages=b,f.syncUpdates("voice_voicemail_messages",a.voicemailMessages)}).error(function(a){c.show(a.message,"danger")})},a.encodeRecording=function(a){return g.trustAsResourceUrl("data:audio/ogg;base64,"+j(a.data))},a.returnMessageDate=function(a){return a.split("T")[0]},a.returnDuration=function(a){return 1e3*a},a.deleteItem=h.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/messages/"+a+"/delete").success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(a.message,"danger")})});var j=function(a){for(var b=new Uint8Array(a),c=b.byteLength,d="",e=0;c>e;e++)d+=String.fromCharCode(b[e]);return window.btoa(d)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.view",{url:"/view/:uniqueid",templateUrl:"app/voice/voicemail/view/view.html",controller:"VoiceVoicemailViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.voicemails.view.settings",{url:"/settings",templateUrl:"app/voice/voicemail/view/view.settings.html"}).state("main.voice.voicemails.view.messages",{url:"/messages",templateUrl:"app/voice/voicemail/view/view.messages.html"})}]),angular.module("xCallyShuttleApp").controller("VoicemailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails",{url:"/voicemails",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/voice/voicemails/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/voice/voicemails/",a.item).success(function(){
-d.path("/voice/voicemails/list")}).error(function(a){e.show(a.message,"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.wizard",{url:"/wizard",templateUrl:"app/voice/voicemail/wizard/wizard.html",controller:"VoiceVoicemailWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={dashboardsByPage:{name:"10",value:10}},a.dashboardsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.dashboards={checked:[]},a.check=function(b,c){c?a.dashboards.checked=angular.copy(_.pluck(a.displayedDashboards,"id")):a.dashboards.checked=[]},a.getDashboards=function(b){return _.map(a.displayedDashboards,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){b.url="/api/dashboards",h.getPage(b).then(function(c){a.displayedDashboards=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.dashboardsByPage,a.displayedDashboards.length),d.updateTableConfig(a.conf.dashboardsByPage,a.displayedDashboards.length)}),c.socket.on("dashboard:save",function(){a.initList(b)}),c.socket.on("dashboard:remove",function(c){a.dashboards.checked=_.without(a.dashboards.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/dashboards/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/dashboards",{params:{id:a.dashboards.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});a.result.then(function(a){b.post("/api/dashboards",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.list",{url:"/list",templateUrl:"app/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","localStorageService","$http","xAlert","$translate","Auth","$stateParams","$location",function(a,b,c,d,e,f,g,h){a.Auth=f,a.dashboard={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,editable:f.isAdmin()?!0:!1,maximizable:!0,collapsible:!0},a.getDashboard=function(){c.get("/api/dashboards/"+g.id).success(function(b){b.model=JSON.parse(b.model),a.dashboard=_.merge(a.dashboard,b)}).error(function(a){h.path("/yourdashboards/list")})};var i=function(b,f,h){var i=angular.copy(a.dashboard);i.name=a.dashboard.model.title,i.model=JSON.stringify(i.model),c.put("/api/dashboards/"+g.id,i).success(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success")}).error(function(b){d.show(b.message,"danger"),i.model=JSON.parse(i.model),i.name="dashboard",a.dashboard=i})};a.$on("adfDashboardChanged",i),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.show",{url:"/show/:id",templateUrl:"app/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.view",{url:"/view/:id",templateUrl:"app/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedZdAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedZdAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("zendesk_account"),b.url="/api/zendesk/accounts",h.getPage(b).then(function(d){a.displayedZdAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedZdAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedZdAccounts.length)}),f.socket.on("zendesk_account:save",function(){a.initList(b)}),f.socket.on("zendesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/zendesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/zendesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/zendesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("zendesk_configuration"),g.unsyncUpdates("zendesk_field")}),a.initView=function(){b.get("/api/zendesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/zendesk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/zendesk/configurations",{params:{ZendeskAccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("zendesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/zendesk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.ZendeskAccountId=c.id,b.post("api/zendesk/configurations",a.configuration).success(function(a){e.path("zendesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/zendesk/accounts/"+c.id+"/fields").success(function(b){_.remove(b,function(a){return"subject"===a.type||"description"===a.type||"assignee"===a.type}),a.accountFields=b}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/zendesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/zendesk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/zendesk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"}).state("main.zendesk.view.configurations",{url:"/configurations",templateUrl:"app/zendesk/view/view.configurations.html"}).state("main.zendesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/zendesk/view/view.configurationSettings.html",controller:"ZendeskViewCtrl"}).state("main.zendesk.view.configuration",{url:"/configuration",templateUrl:"app/zendesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password"},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/zendesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{name:"Queue",value:"Queue"},{name:"Playback",value:"Playback"},{name:"Dial",value:"Dial"},{name:"Cally-Square IVR",value:"AGI"},{name:"GoTo",value:"Goto"},{name:"Hangup",value:"Hangup"},{name:"Set",value:"Set"},{name:"Custom",value:"custom"},{name:"VoiceMail",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}]};return{application:a}}),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},loginWithToken:function(a,b,c){e.put("token",a),e.put("userId",b),e.put("name",c),g=d.me()},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===g.role},getRole:function(){return g.role},getToken:function(){return e.get("token")},getUserId:function(){return console.log(e.get("userId")),e.get("userId")},getName:function(){return e.get("name")}}}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){return a("/api/users/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").service("automations",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]}},b=["voice","mail","chat","fax"],c={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},d={voice:{},mail:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]},chat:{},fax:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]}};return{automations:a,properties:d,channels:b,operators:c}}),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","$http",function(a,b){a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){b.get("/api/settings/info").success(function(b){a.info=b}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$notification","Auth","xAlert","socket","ngAudio","settings","toastr","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.toggleQuickSidebar=function(){k.layout.pageQuickSidebarOpened=!k.layout.pageQuickSidebarOpened,k.layout.pageQuickSidebarOpened||m.remove("chatRoomId")},a.initHeader=function(){var c=j.load("api/xchatty/assets?resource=notification/xc_blubb.mp3");"agent"===g.getCurrentUser().role&&(i.socket.on("report_mail:save",function(a){c.play();var b=f("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*a.timeslot});b.$on("click",function(){e.put("/api/report/mails/"+a.id,{connect:!0}).success(function(){b.close(),h.show("Mail properly assigned","success")}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("report_chat:save",function(a){c.play();var d=f("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot});d.$on("click",function(){e.put("/api/report/chats/"+a.id,{connect:!0}).success(function(){d.close(),h.show("Chat properly assigned","success"),b.$broadcast("chatMessageEvent",{type:"external",chatRoomId:a.chatroomid})}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("chat_message:save",function(a){var d=m.get("chatRoomId");if(!d||d!==a.ChatRoomId){c.play();var e=f(a.User.fullname,{icon:"assets/images/media/channels/chat64.png",body:a.body.length>35?a.body.substring(0,35)+"...":a.body,delay:1e4});e.$on("click",function(){b.$broadcast("chatMessageEvent",{type:"internal",chatRoomId:a.ChatRoomId})})}})),e({url:"/api/fax/user_has_queues",method:"GET",params:{UserId:g.getCurrentUser().id}}).success(function(b){a.faxQueues=_.pluck(b,"FaxQueueId"),a.faxQueues.forEach(function(a){i.socket.on("FAX:QUEUE:"+a,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}),i.socket.on("FAX:AGENT:"+g.getCurrentUser().id,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}).error(function(a){console.error(a)}),i.socket.on("user_has_fax_queue:save",function(b){b=_.map(b,function(a){return a.UserId=parseInt(a.UserId,10),a}),b=_.find(b,{UserId:g.getCurrentUser().id}),b&&-1===_.indexOf(a.faxQueues,b.FaxQueueId)&&(a.faxQueues.push(b.FaxQueueId),i.socket.on("FAX:QUEUE:"+b.FaxQueueId,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})}))}),i.socket.on("user_has_fax_queue:remove",function(b){_.indexOf(b.where.UserId,g.getCurrentUser().id.toString())>=0&&_.indexOf(a.faxQueues,b.where.FaxQueueId)>=0&&(a.faxQueues=_.remove(a.faxQueues,b.where.FaxQueueId),i.socket.removeAllListeners("FAX:QUEUE:"+b.where.FaxQueueId))})},a.logout=function(){e.get("/auth/local/logout").success(function(){g.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()}}]),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){console.log("openModal",d);var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerAddModal",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.modal={title:"APPLICATION_AGENTS_SELECTION"},a.ok=function(){b.close(_.union(_.pluck(a.selected.items,"id"),_.pluck(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerCloseModal",["$scope","$uibModalInstance",function(a,b){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.ok=function(){b.close()},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarController",["$scope","$rootScope","$window","$http","$uibModal","$log","$timeout","Auth","Agent","User","ChatRoom","ChatMessage","socket","settings","localStorageService","xAlert","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.emojiMessage={},a.options={link:!0,linkTarget:"_blank",pdf:{embed:!1},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,ytAuthKey:"_nkO9h1A7HlVyiUICO17oA"}};var r=a.currentUser=h.getCurrentUser();a.message={body:"",user:""},a.$on("$includeContentLoaded",function(){o.get("chatRoomId")&&k.get({id:o.get("chatRoomId")},t,u),o.get("currentTab")&&(a.currentTab=o.get("currentTab"))});var s=angular.element(c);a.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},a.$watch(a.getWindowDimensions,function(b){a.style={height:b.h-46-46-46+"px"},a.style2={height:b.h-46-46-46-180+"px"}},!0),s.bind("resize",function(){a.$apply()}),a.agents=i.get({page:0,per_page:1e3},function(){m.syncUpdates("agent",a.agents.rows)}),a.users=j.get({page:0,per_page:1e3},function(){m.syncUpdates("user",a.users.rows)}),a.chatRooms=k.me(function(b){a.chatRooms=b,m.syncUpdates("chat_room",a.chatRooms)},function(a){console.error(a)}),a.currentTab=0,a.messagesTab=!1,b.$on("chatMessageEvent",function(b,c){switch(c.type){case"internal":a.currentTab=0;break;case"external":a.currentTab=2}k.get({id:c.chatRoomId},t,u)}),a.goToTab=function(b){a.currentTab=b,a.messagesTab=!1,a.chatRoom=null,o.set("currentTab",a.currentTab),o.set("messagesTab",a.messagesTab),o.remove("chatRoomId"),m.unsyncUpdates("chat_message"),m.unsyncUpdates("chat_room")},a.goToMessage=function(a,b){a?k.users({users:[r.id,a]},t,u):k.get({id:b},t,u)},a.sendMessage=function(){a.message.body.trim().length&&l.save({ChatRoomId:a.chatRoom.id,body:a.message.body},function(){a.message.body=""},function(a){console.error(a)})},a.goBack=function(){a.messagesTab=!1,a.chatRoom=null,o.set("messagesTab",a.messagesTab),o.remove("chatRoomId"),m.unsyncUpdates("chat_message"),m.unsyncUpdates("user_has_chat_room")},a.chatRoomsGroupsGreaterThan=function(a){return function(b){return b.Users?"external"!==b.type&&b.Users.length>a:!1}},a.closeChatRoom=function(a,b){var c=e.open({animation:!0,size:b,templateUrl:"components/quickSidebar/modal/close.html",controller:"QuickSidebarControllerCloseModal"});c.result.then(function(){d.put("/api/chat/rooms/"+a,{status:"close"}).then(function(){p.show(q.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){p.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})},a.addAgent=function(b,c){var g=e.open({animation:!0,size:c,templateUrl:"components/quickSidebar/modal/add.html",controller:"QuickSidebarControllerAddModal",resolve:{items:function(){return _.map(a.chatRoom.Users?a.chatRoom.Users:[],function(a){return{id:a.id,fullname:a.fullname}})}}});g.result.then(function(c){d.put("/api/chat/rooms/"+b+"/users",{users:c}).then(function(b){m.unsyncUpdates("chat_message"),a.chatRoom=b.data,a.currentTab=3,a.messagesTab=!0;var c=_.find(a.chatRooms,{id:b.id}),d=a.chatRooms.indexOf(c);c?_.merge(a.chatRooms[d],b.data):a.chatRooms.push(b.data),m.socket.on("chat_message:save",function(c){c.ChatRoomId===b.data.id&&(a.chatRoom.ChatMessages.push(c),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),p.show(q.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){p.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})};var t=function(b){a.messagesTab=!0,n.layout.pageQuickSidebarOpened=!0,o.set("chatRoomId",b.id),o.set("messagesTab",a.messagesTab),a.chatRoom=b;var c=_.find(a.chatRooms,{id:b.id}),d=a.chatRooms.indexOf(c);c?_.merge(a.chatRooms[d],b):a.chatRooms.push(b),g(function(){angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last")},1e3),m.socket.on("chat_message:save",function(c){c.ChatRoomId===b.id&&(a.chatRoom.ChatMessages.push(c),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),m.socket.on("chat_room:save",function(b){b.id===a.chatRoom.id&&(a.chatRoom.status=b.status)})},u=function(a){console.error(a)};a.$on("$destroy",function(){m.unsyncUpdates("agent"),m.unsyncUpdates("user")})}]),angular.module("xCallyShuttleApp").directive("resizeQuickSidebar",["$window",function(a){return function(b){var c=angular.element(a);b.getWindowDimensions=function(){return{h:c.height(),w:c.width()}},b.$watch(b.getWindowDimensions,function(a){b.style={height:a.h-46-46-46+"px"}},!0),c.bind("resize",function(){b.$apply()})}}]),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","$http","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i){a.Auth=e,a.$stateParams=h,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.isAssociated=function(a){if(e.isAdmin())return!0;if(e.getCurrentUser().Modules)for(var b=0;b<e.getCurrentUser().Modules.length;b++)if(e.getCurrentUser().Modules[b].name===a)return!0;
-return!1},a.getSidebarDashboards=function(){f.get("/api/dashboards").then(function(b){a.dashboards=b.data.rows,i.syncUpdates("dashboard",a.dashboards)})["catch"](function(a){g.show("Error loading your dashboards","danger")})},a.isActive=function(a){return a===d.path()},a.$on("destroy",function(){i.unsyncUpdates("dashboard")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","socketFactory","Auth",function(a,b,c){var d=c.getCurrentUser(),e=io("",{query:"token="+c.getToken()+"&userId="+(d.id||c.getUserId())+"&name="+(d.name||c.getName())+"&role="+(d.role||"agent")+"&source=browser",path:"/socket.io-client"}),f=b({ioSocket:e});return a.$on("login",function(){e=io("",{forceNew:!0,query:"token="+c.getToken()+"&userId="+c.getCurrentUser().id+"&name="+c.getCurrentUser().name+"&role="+c.getCurrentUser().role+"&source=browser",path:"/socket.io-client"})}),a.$on("logout",function(){f&&f.disconnect(!0)}),{socket:f,syncUpdates:function(a,b,c){c=c||angular.noop,f.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),f.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){f.removeAllListeners(a+":save"),f.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,f.on(a+":save",function(e){console.log(a),console.log(e);var f=!0;if(_.forIn(b,function(a,b){return e[b]&&e[b]===a?!0:f=!1}),f){var g=_.find(c,{id:e.id}),h=c.indexOf(g),i="created";g?(_.merge(c[h],e),i="updated"):c.unshift(e),d(i,e,c)}}),f.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,f.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),f.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){f.removeAllListeners(a+":"+b+":save"),f.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,f.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),f.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){f.removeAllListeners(a+":"+b+":save"),f.removeAllListeners(a+":"+b+":remove")}}}]),angular.module("xCallyShuttleApp").service("triggers",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",propertyField:"input",operators:"equals"},{name:"APPLICATION_CC",value:"cc",propertyField:"input",operators:"equals"},{name:"APPLICATION_SUBJECT",value:"subject",propertyField:"input",operators:"equals"}],actions:[{name:"APPLICATION_TEMPLATE",value:"template",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[],actions:[]}},b={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},c={voice:{},mail:{},chat:{},fax:{}},d=["voice","mail","chat","fax"];return{triggers:a,properties:c,operators:b,channels:d}}),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).value("apiServiceUrlCounter","/api/widgets/counter").config(["dashboardProvider",function(a){a.widget("counter",{title:"Counter",description:"Counter for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["$q","$http","apiServiceUrlCounter",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiwidgetCounterEditCtrl",["$scope",function(a){a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.colors=[{name:"Blue",value:"blue-madison"},{name:"Red",value:"red-intense"},{name:"Green",value:"green-haze"},{name:"Purple",value:"purple-plum"},{name:"Orange",value:"yellow-casablanca"},{name:"Yellow",value:"yellow-crusta"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.condition&&a.config.report&&c.get(a.config).then(function(b){a.count=parseInt(b[0].count)})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"report.value as report in config.reportTables | filter: $select.search\"><div ng-bind-html=\"report.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=1></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div ng-bind-html=\"color.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><div ng-bind-html=\"icon.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if="count || count === 0"><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{count}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!count && count != 0"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).value("apiServiceUrlPieChart","/api/widgets/piechart").config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["$q","$http","apiServiceUrlPieChart",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetPieChartEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&1===b.length){a.labels=[],a.data=[];for(var c in b[0])a.labels.push(c),a.data.push(b[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_FIELDS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div></form>'),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(){angular.module("pdf",[]).directive("ngPdf",["$window",function(a){return{restrict:"E",templateUrl:function(a,b){return b.templateUrl?b.templateUrl:"partials/viewer.html"},link:function(b,c,d){var e=d.pdfUrl,f=null,g=d.page?d.page:1,h=d.scale>0?d.scale:1,i=c.find("canvas"),j=i[0],k=j.getContext("2d"),l=angular.element(a);l.on("scroll",function(){b.$apply(function(){b.scroll=l[0].scrollY})}),PDFJS.disableWorker=!0,b.pageNum=g,b.renderPage=function(a){f.getPage(a).then(function(a){var e,f,g,i={};"page-fit"!==d.scale||h?e=a.getViewport(h):(e=a.getViewport(1),f=c[0].clientWidth/e.width,g=c[0].clientHeight/e.height,h=Math.min(f,g)),j.height=e.height,j.width=e.width,i={canvasContext:k,viewport:e},a.render(i).promise.then(function(){"function"==typeof b.onPageRender&&b.onPageRender()})})},b.goPrevious=function(){b.pageToDisplay<=1||(b.pageNum=parseInt(b.pageNum)-1)},b.goNext=function(){b.pageToDisplay>=f.numPages||(b.pageNum=parseInt(b.pageNum)+1)},b.zoomIn=function(){return h=parseFloat(h)+.2,b.renderPage(b.pageToDisplay),h},b.zoomOut=function(){return h=parseFloat(h)-.2,b.renderPage(b.pageToDisplay),h},b.changePage=function(){b.renderPage(b.pageToDisplay)},b.rotate=function(){"rotate0"===j.getAttribute("class")?j.setAttribute("class","rotate90"):"rotate90"===j.getAttribute("class")?j.setAttribute("class","rotate180"):"rotate180"===j.getAttribute("class")?j.setAttribute("class","rotate270"):j.setAttribute("class","rotate0")},PDFJS.getDocument(e,null,null,b.onProgress).then(function(a){"function"==typeof b.onLoad&&b.onLoad(),f=a,b.renderPage(b.pageToDisplay),b.$apply(function(){b.pageCount=a.numPages})},function(a){a&&"function"==typeof b.onError&&b.onError(a)}),b.$watch("pageNum",function(a){b.pageToDisplay=parseInt(a),null!==f&&b.renderPage(b.pageToDisplay)})}}}])}();var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>",a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,
-centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/>&nbsp;&nbsp;<span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i>  ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),$(".sidebar-search .submit").on("click",function(a){a.preventDefault(),$("body").hasClass("page-sidebar-closed")&&$(".sidebar-search").hasClass("open")===!1?(1===$(".page-sidebar-fixed").size()&&$(".page-sidebar .sidebar-toggler").click(),$(".sidebar-search").addClass("open")):$(".sidebar-search").submit()}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){var a=$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0"),$("body").on("click",".sidebar-toggler",function(b){var c=$(".page-sidebar"),d=$(".page-sidebar-menu");$(".sidebar-search",c).removeClass("open"),a.hasClass("page-sidebar-closed")?(a.removeClass("page-sidebar-closed"),d.removeClass("page-sidebar-menu-closed"),$.cookie&&$.cookie("sidebar_closed","0")):(a.addClass("page-sidebar-closed"),d.addClass("page-sidebar-menu-closed"),a.hasClass("page-sidebar-fixed")&&d.trigger("mouseleave"),$.cookie&&$.cookie("sidebar_closed","1")),$(window).trigger("resize")})},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/agent/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-people font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_AGENTS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="agents.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AGENT\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/agents/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAgents([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="agents.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAgents" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="agent in displayedAgents" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="agents.checked" checklist-value="agent.id"></td>\n                                                               <td>{{agent.fullname}}</td>\n                                         <td>{{agent.name}}</td>\n                                       <td><a data-ng-href="mailto:{{agent.email}}">{{agent.email}}</a></td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/agents/view/{{agent.id}}/account">\n                                                                           {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(agent.fullname,agent.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAgents.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No agents available</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/agent/view/view.account.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}">\n                                            <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="agent.fullname" required/>\n                                                          <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="agent.name" required/>\n                                                              <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="agent.email" required/>\n                                                              <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="agent.internal" required disabled/>\n                                                              <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                             <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.currentPwd" required/>\n                                                             <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.newPwd" required/>\n                                                         <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.reNewPwd" nx-equal="agent.newPwd" required/>\n                                                            <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/agent/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{agent.userpic ? agent.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.agents.view.account\')}">\n                                                        <a data-ng-href="/agents/view/{{agent.id}}/account">\n                                                  <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/agent/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n   <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/agents/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                 </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/agents/validate/name"/>\n                                                        <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/agents/validate/email"/>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/agents/validate/internal"/>\n                                                   <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/analytic/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="analytics.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown" data-ng-click="createReport()">\n                                                   <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n                                                         <!-- <i class="fa fa-angle-down"></i> -->\n                                            </a>\n                                          <!-- <ul class="dropdown-menu pull-right">\n                                                    <li>\n                                                          <a href="/analytics/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul> -->\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAnalytics([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="analytics.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="reports" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.reportsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="reportByPage in reportsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="reportByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(report, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="report in reports">\n                                                           <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="analytics.checked" checklist-value="report.id"></td>\n                                                           <td>{{report.name}}</td>\n                                            <td>{{report.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/analytics/view/{{report.id}}/account">\n                                                                               {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(report.fullname,report.id)">\n                                                                               {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="reports.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No analytics available</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.reportsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/modal/modal.html",'<form name="form" novalidate data-ng-submit="form.$valid && ok()">\n  <div class="modal-header">\n    <h3 class="modal-title">{{ \'APPLICATION_REPORT\' | translate }}</h3>\n  </div>\n\n  <div class="modal-body">\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': form.$submitted && form.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="form.$submitted && form.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group" data-ng-class="{\'has-error\': form.$submitted && form.description.$invalid}">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description">\n      <span data-ng-show="form.$submitted && form.description.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END DESCRIPTION -->\n  </div>\n  \n  <div class="modal-footer">\n    <button class="btn btn-success" type="submit">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n    <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n  </div>\n</form>\n'),a.put("app/analytic/view/view.account.html",'<div class="row">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || analytic.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && analytic.id === Auth.getCurrentUser().id}">\n                                              <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="analytic.fullname" required/>\n                                                               <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="analytic.name" required/>\n                                                           <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="analytic.email" required/>\n                                                           <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="analytic.internal" required disabled/>\n                                                           <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || analytic.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && analytic.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                               <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.currentPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.reNewPwd" nx-equal="analytic.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline.list",{url:"/list",templateUrl:"app/chat/timeline/list/list.html",controller:"ChatTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","stResource",function(a,b,c,d,e,f,g,h){a.conf={chatWebsitesByPage:{name:"10",value:10}},a.chatWebsitesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.chatWebsites={checked:[]},a.check=function(b,c){c?a.chatWebsites.checked=angular.copy(_.pluck(a.displayedChatWebsites,"id")):a.chatWebsites.checked=[]},a.getChatWebsites=function(b){return _.map(a.displayedChatWebsites,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("chat_website"),b.url="/api/chat/websites",h.getPage(b).then(function(c){a.displayedChatWebsites=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.chatWebsitesByPage,a.displayedChatWebsites.length),g.updateTableConfig(a.conf.chatWebsitesByPage,a.displayedChatWebsites.length)}),e.socket.on("chat_website:save",function(){a.initList(b)}),e.socket.on("chat_website:remove",function(c){a.chatWebsites.checked=_.without(a.chatWebsites.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/chat/websites/"+a).success(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_SUCCESS")+"!","success")}).error(function(){c.show(d.instant("MESSAGE_CHAT_WEBSITE_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/chat/websites",{params:{id:a.chatWebsites.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(a.message,"danger")})}),a.$on("$destroy",function(){e.unsyncUpdates("chat_website")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.list",{url:"/list",templateUrl:"app/chat/website/list/list.html",controller:"ChatWebsiteListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.chatApplications,"id")),b.post("api/chat/websites/"+d.websiteId+"/applications",{applications:_.pluck(a.chatApplications,"id")}).success(function(b){angular.copy(b,a.chatApplications)}).error(function(a){console.error(a)})}},b.get("/api/chat/applications",{params:{ChatWebsiteId:d.websiteId}}).success(function(b){a.chatApplications=b,e.socket.on("chat_application:remove",function(b){_.remove(a.chatApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/chat/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.list",{url:"/list",templateUrl:"app/chat/website/view/action/list/list.html",controller:"chatWebsiteViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/chat/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,chatAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.chatQueueId=a.application.chatQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/chat/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.view",{url:"/view/:actionId",templateUrl:"app/chat/website/view/action/view/view.html",controller:"chatWebsiteViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/chat/queues",{params:{page:0,per_page:1e3}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:1e3}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,ChatWebsiteId:c.websiteId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.ChatQueueId=a.application.ChatQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/chat/applications",f).success(function(){e.path("/chat/websites/view/"+c.websiteId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.actions.wizard",{url:"/wizard",templateUrl:"app/chat/website/view/action/wizard/wizard.html",controller:"chatWebsiteViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet",{url:"/snippet",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("chatWebsiteViewSnippetViewCtrl",["$scope","$http","$stateParams","$translate",function(a,b,c,d){a.$translate=d,a.statePreview={state:"online"},a.lang={HeaderCurrentlyChatting:"Live Chat",HeaderOffline:"Contact us",OperatorOfflineMessage:"It appears as if all operators are currently offline.",OfflineMessage:"<strong>We're not online.</strong><br/>It doesn't mean we're not there to help - leave your message below and we'll be in touch as soon as possible.",EnquiryMessagePlaceholder:"Your message...",EnquiryButtonText:"Leave message",EnquirySubmitSuccess:"Your message was sucessfully submitted - we will contact you as soon as possible.",OperatorComposing:"{fullname} is typing...",FirstMessageText:"",ExitChatButtonText:"Exit Chat",ExitChatQuestionText:"Are you sure?",ExitChatButtonConfirmText:"Yes",ExitChatButtonCancelText:"No",MessagePlaceholderText:"Your message...",MessageSendButtonText:"Send",ValidationEmailRequired:"Please enter your email address",ValidationEmailInvalid:"Please enter a valid email address",ValidationEmailMaxLength:"The email address may not exceed 85 characters",ValidationUsernameRequired:"Please enter your name",ValidationUsernameMaxLength:"The name may not exceed 45 characters",ValidationEnquiryRequired:"Please enter your enquiry",ValidationEnquiryMaxLength:"The enquiry may not exceed 1500 characters",ValidationMessageRequired:"Please enter your message",ValidationMessageMaxLength:"The message may not exceed 750 characters"},a.getSnippetCode=function(){b.get("api/chat/websites/"+c.websiteId+"/snippet").success(function(b){a.snippetCode=b})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view.snippet.view",{url:"/view",templateUrl:"app/chat/website/view/snippet/view/view.html",controller:"chatWebsiteViewSnippetViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteViewCtrl",["$scope","xAlert","$http","$location","$stateParams","$translate","WizardHandler",function(a,b,c,d,e,f,g){a.initApplication=function(){a.forms={},a.application={}},a.goNext=function(){g.wizard().next()},a.formValidation=function(a){return a},a.deleteItem=function(a){c["delete"]("api/chat/applications/"+a).error(function(){b.show(f.instant("Something went wrong!"),"danger")})},a.initView=function(){c.get("/api/chat/websites/"+e.websiteId).success(function(b){a.chatWebsite=b}).error(function(a){b.show(a.message,"danger")})},a.updateItem=function(){c.put("/api/chat/websites/"+a.chatWebsite.id,a.chatWebsite).success(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_SUCCESS")+"!","success")}).error(function(){b.show(f.instant("MESSAGE_CHAT_WEBSITE_UPDATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.view",{url:"/view/:websiteId",templateUrl:"app/chat/website/view/view.html",controller:"ChatWebsiteViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites",{url:"/websites",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ChatWebsiteWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.$translate=d,a.forms={formSetting:void 0,formAppearance:void 0,formLabel:void 0,formFunctionality:void 0},a.next=function(){e.wizard().next()},a.exitValidation=function(a){return a},a.item={},a.createItem=function(){b.post("api/chat/websites",a.item).success(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_SUCCESS"),"success"),c.path("/chat/websites/list")}).error(function(){f.show(d.instant("MESSAGE_CHAT_WEBSITE_CREATE_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.chat.websites.wizard",{url:"/wizard",templateUrl:"app/chat/website/wizard/wizard.html",controller:"ChatWebsiteWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("ContactManagerCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager",{url:"/contactmanager",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ContactManagerListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contactsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.contactsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.contacts={checked:[]},a.check=function(b,c){c?a.contacts.checked=angular.copy(_.pluck(a.displayedContacts,"id")):a.contacts.checked=[]},a.getContacts=function(b){return _.map(a.displayedContacts,function(a){return b.forEach(function(b){contact[b]=a[b]}),contact})},a.initList=function(b){f.unsyncUpdates("contact_manager"),b.url="/api/contactmanager",h.getPage(b).then(function(c){a.displayedContacts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contactsByPage,a.displayedContacts.length),d.updateTableConfig(a.conf.contactsByPage,a.displayedContacts.length)}),f.socket.on("contact_manager:save",function(){a.initList(b)}),f.socket.on("contact_manager:remove",function(c){a.contacts.checked=_.without(a.contacts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/contactmanager/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/contactmanager",{params:{id:a.contacts.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.list",{url:"/list",templateUrl:"app/contactmanager/list/list.html",controller:"ContactManagerListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ContactManagerViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getContact=function(){b.get("/api/contactmanager/"+e.id).success(function(b){delete b.password,delete b.stamp,a.contact=b}).error(function(a){console.error(a),i.path("/contactmanager/list")})},a.updateContact=function(){var f=angular.copy(a.contact);b.put("/api/contactmanager/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.contact=f})},a.getHistory=function(){b.get("/api/contactmanager/"+e.id+"/history/").success(function(b){a.contactHistory=b,f.syncUpdates("contact_history",a.contactHistory)}).error(function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.view",{url:"/view/:id",templateUrl:"app/contactmanager/view/view.html",controller:"ContactManagerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.contactmanager.view.settings",{url:"/settings",templateUrl:"app/contactmanager/view/view.settings.html"}).state("main.contactmanager.view.history",{url:"/messages",templateUrl:"app/contactmanager/view/view.history.html"})}]),angular.module("xCallyShuttleApp").controller("ContactManagerWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/contactmanager/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/contactmanager/",a.item).success(function(){d.path("/contactmanager/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.contactmanager.wizard",{url:"/wizard",templateUrl:"app/contactmanager/wizard/wizard.html",controller:"ContactManagerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("DashboardCtrl",["$scope","$translate",function(a,b){a.voice=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.voice"}],a.mail=[{name:b.instant("APPLICATION_QUEUE"),link:"main.dashboard.mail"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.dashboard",{"abstract":!0,url:"/dashboard",templateUrl:"app/dashboard/dashboard.html",controller:"DashboardCtrl"}).state("main.dashboard.voice",{url:"/voice",controller:"DashboardVoiceCtrl",templateUrl:"app/dashboard/voice/voice.html"}).state("main.dashboard.mail",{url:"/mail",controller:"DashboardMailCtrl",templateUrl:"app/dashboard/mail/mail.html"})}]),angular.module("xCallyShuttleApp").controller("DashboardMailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").controller("DashboardVoiceCtrl",["$scope","$http","xAlert","socket",function(a,b,c,d){function e(b,c){console.log("element in check Function is",b);var d;return!b.queuecallerjoinAt||b.queuecallerleaveAt||b.queuecallercompleteAt||b.queuecallerabandonAt?b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="activeCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&b.queuecallercompleteAt&&!b.queuecallerabandonAt?d="completedCalls":b.queuecallerjoinAt&&b.queuecallerleaveAt&&!b.queuecallercompleteAt&&b.queuecallerabandonAt&&(d="abandonedCalls"):d="waitCalls",console.log("result type is",d),c?d:void(d&&a.queueStats[d]++)}a.queueStats={abandonedCalls:0,completedCalls:0,waitCalls:0,activeCalls:0},a.getQueueStats=function(){b.get("/api/report/queues").then(function(b){a.queueReports=b.data,a.queueReports.forEach(function(a){e(a,!1)}),d.socket.on("report_queue:save",function(b){console.log("report save or update");var c=_.find(a.queueReports,{id:b.id}),d=a.queueReports.indexOf(c);if(c){console.log("found item, is an update");var f=e(c,!0);console.log("old item value is "+f+", decrementing..."),f&&a.queueStats[f]--,_.merge(a.queueReports[d],b)}else console.log("item not found in collection, is a create"),a.queueReports.unshift(b);console.log("checking new item type and increasing..."),e(b,!1)})})["catch"](function(a){c.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk",{url:"/desk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("DeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedDeskAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedDeskAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("desk_account"),b.url="/api/desk/accounts",h.getPage(b).then(function(d){a.displayedDeskAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedDeskAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedDeskAccounts.length)}),f.socket.on("desk_account:save",function(){a.initList(b)}),f.socket.on("desk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/desk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/desk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/desk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.desk.list",{url:"/list",templateUrl:"app/desk/list/list.html",controller:"DeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountListCtrl",["$scope","$http","xAlert","$translate","socket","Modal","$rootScope","$log","stResource",function(a,b,c,d,e,f,g,h,i){a.conf={faxAccountsByPage:{name:"10",value:10}},a.faxAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.fax_accounts={checked:[]},a.check=function(b,c){c?a.fax_accounts.checked=angular.copy(_.pluck(a.displayedFaxAccounts,"id")):a.fax_accounts.checked=[]},a.initList=function(b){e.unsyncUpdates("fax_account"),b.url="/api/fax/accounts",i.getPage(b).then(function(c){a.displayedFaxAccounts=c.rows,b.pagination.numberOfPages=c.total_pages,g.updateTableConfig(a.faxAccountsByPage,a.displayedFaxAccounts.length),g.updateTableConfig(a.conf.faxAccountsByPage,a.displayedFaxAccounts.length)}),e.socket.on("fax_account:save",function(){a.initList(b)}),e.socket.on("fax_account:remove",function(c){a.fax_accounts.checked=_.without(a.fax_accounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("api/fax/accounts/"+a).success(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_SUCCESS"),"success")}).error(function(){c.show(d.instant("MESSAGE_FAX_ACCOUNT_DELETE_FAILURE"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/accounts",{params:{id:a.fax_accounts.checked}}).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.getFaxAccounts=function(b){return _.map(a.faxAccountsByPage,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.$on("$destroy",function(){e.unsyncUpdates("fax_account")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.list",{url:"/list",templateUrl:"app/fax/account/list/list.html",controller:"FaxAccountListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.forms={},a.sortableOptions={stop:function(){b.post("api/fax/accounts/"+c.id+"/applications",{applications:_.pluck(a.faxApplications,"id")}).success(function(b){a.faxApplications=b}).error(function(a){console.error(a)})},"ui-floating":!0},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.initApplication=function(){a.forms={},a.application={}},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("api/fax/applications/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.getAppdata=function(b,c){switch(b){case"agent":return a.agents?_.find(a.agents,{id:c}).name:c;case"queue":return a.faxQueues?_.find(a.faxQueues,{id:c}).name:c}return"UNKNOWN"},a.createItem=function(){switch(a.application.appdata=a.application.appdata.id,a.application.app){case"agent":a.application.UserId=parseInt(a.application.appdata,10);break;case"queue":a.application.FaxQueueId=parseInt(a.application.appdata,10)}a.application.FaxAccountId=c.id,b.post("api/fax/applications",a.application).success(function(){e.path("fax/accounts/view/"+c.id+"/routes")}).error(function(){h.show("Something went wrong!","danger")})},a.$watch("application.app",function(c){if(c){var d;switch(c){case"agent":d="api/agents";break;case"queue":d="api/fax/queues"}b.get(d).success(function(b){a.items=b.rows})}},!0),a.initView=function(){b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.log(a)}),b.get("/api/fax/accounts/"+c.id).success(function(b){a.account=b}).error(function(){})},a.getAgents=function(){b.get("api/fax/agents").success(function(b){a.agents=b})},a.getFaxApplications=function(){b.get("/api/fax/applications",{params:{FaxAccountId:c.id}}).success(function(b){a.faxApplications=b,g.socket.on("fax_application:remove",function(b){_.remove(a.faxApplications,{id:b.id})})}),b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/fax/queues").success(function(b){a.faxQueues=b.rows})},a.updateItemFaxAccount=function(){b.put("/api/fax/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_SUCCESS")+".","success")}).error(function(){h.show(d.instant("MESSAGE_FAX_ACCOUNT_UPDATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.view",{url:"/view/:id",templateUrl:"app/fax/account/view/view.html",controller:"FaxAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.accounts.view.settings",{url:"/settings",templateUrl:"app/fax/account/view/view.settings.html",authenticate:!0}).state("main.fax.accounts.view.routes",{url:"/routes",templateUrl:"app/fax/account/view/view.routes.html",authenticate:!0}).state("main.fax.accounts.view.applications",{url:"/applications",templateUrl:"app/fax/account/view/view.applications.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAccountWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.ecm=!1,a.item.minrate="9600",a.item.maxrate="33600",b.get("/api/trunks").success(function(b){a.trunks=b.rows}).error(function(a){console.error(a)})},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/fax/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_SUCCESS")+".","success"),c.path("/fax/accounts/list")}).error(function(){e.show(d.instant("MESSAGE_FAX_ACCOUNT_CREATE_FAILURE")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.accounts.wizard",{url:"/wizard",templateUrl:"app/fax/account/wizard/wizard.html",controller:"FaxAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={faxAutomationsByPage:{name:"10",value:10}},a.faxAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.faxAutomations={checked:[]},a.check=function(b,c){c?a.faxAutomations.checked=angular.copy(_.pluck(a.displayedFaxAutomations,"id")):a.faxAutomations.checked=[]},a.getFaxAutomations=function(b){return _.map(a.displayedFaxAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("fax_business_automation"),b.url="/api/fax/business/automations",e.getPage(b).then(function(c){a.displayedFaxAutomations=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.faxAutomationsByPage,a.displayedFaxAutomations.length),d.updateTableConfig(a.conf.faxAutomationsByPage,a.displayedFaxAutomations.length)}),g.socket.on("fax_business_automation:save",function(){a.initList(b)}),g.socket.on("fax_business_automation:remove",function(c){a.faxAutomations.checked=_.without(a.faxAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){
+b["delete"]("/api/fax/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/fax/business/automations",{params:{id:a.faxAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/fax/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.$on("$destroy",function(){g.unsyncUpdates("fax_business_automation")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.list",{url:"/list",templateUrl:"app/fax/automation/list/list.html",controller:"FaxAutomationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationViewCtrl",["$scope","$stateParams","$http","automation","socket","xAlert","$translate","$log",function(a,b,c,d,e,f,g,h){a.initView=function(){a.forms={info:{}},a.automations=d.automations,c.get("/api/fax/business/automations/"+b.id).success(function(c){h.debug(c),a.test=c,a.automation=c,e.syncUpdatesByAttributes("business_condition",{FaxBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAutomation=function(){c.put("/api/fax/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){h.debug(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),h.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(d.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",FaxBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){console.log(b),a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a),f.show(g.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.view",{url:"/view/:id",templateUrl:"app/fax/automation/view/view.html",controller:"FaxAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.fax.automations.view.settings",{url:"/settings",templateUrl:"app/fax/automation/view/view.settings.html",authenticate:!0}).state("main.fax.automations.view.routes",{url:"/routes",templateUrl:"app/fax/automation/view/view.routes.html",authenticate:!0}).state("main.fax.automations.view.application",{url:"/application",templateUrl:"app/fax/automation/view/view.application.html",authenticate:!0})}]),angular.module("xCallyShuttleApp").controller("FaxAutomationWizardCtrl",["$scope","$http","$location","automation","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(d.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){e.wizard().next()},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/fax/business/automations",a.automations).success(function(){f.show(g.instant("MESSAGE_WELL_DONE"),"success"),c.path("/fax/automations/list")}).error(function(a){console.error(a),f.show(g.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.automations.wizard",{url:"/wizard",templateUrl:"app/fax/automation/wizard/wizard.html",controller:"FaxAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax",{url:"/fax",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxInboxComposeCtrl",["$scope","$http","FileUploader","$location","Auth","xAlert","$cookieStore","$translate",function(a,b,c,d,e,f,g,h){a.forms={},a.form={to:[],sto:[]},b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),a.isNewMessageFromEmpty=!0;var i=a.uploader=new c({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+g.get("token")}});i.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),i.onBeforeUploadItem=function(b){b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html?a.form.html:""})},i.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},i.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},i.onCompleteAll=function(){i.clearQueue(),f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")},i.onWhenAddingFileFailed=function(){f.show(h.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.sendFax=function(){return a.form.sto.length?void(i.queue.length?i.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:e.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){f.show(h.instant("MESSAGE_WELL_DONE"),"success"),d.path("/fax/inbox/incoming")}).error(function(a){f.show(h.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.cancel=function(){a.form.sto=[],delete a.form.from}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.compose",{url:"/compose",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxCtrl",["$scope","$http","$location","$translate","$timeout","$notification","Auth","socket","$interval",function(a,b,c,d,e,f,g,h,i){a.go=function(a,d,e){e?b.put("/api/fax/rooms/"+d,{status:e}).success(function(){c.path(a)}).error(function(a){console.error(a)}):c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox",{url:"/inbox",templateUrl:"app/fax/inbox/inbox.html",controller:"FaxInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("FaxInboxIncomingCtrl",["$scope","$http","$location","socket","Auth","xAlert",function(a,b,c,d,e,f){a.$location=c,a.getRooms=function(){e.isAdmin()?b.get("api/fax/rooms").success(function(b){a.faxRooms=b,d.syncUpdates("fax_room",a.faxRooms)}).error(function(a){console.error(a),f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")}):b.get("api/fax/rooms/agent/"+e.getCurrentUser().id).success(function(b){a.faxRooms=b,d.socket.on("fax_room:update",function(b){b.UserId===e.getCurrentUser().id&&a.faxRooms.push(b)})}).error(function(a){f.show($translate.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.incoming",{url:"/incoming",templateUrl:"app/fax/inbox/incoming/incoming.html",controller:"FaxInboxIncomingCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxInboxRoomCtrl",["$scope","$http","$stateParams","$location","FileUploader","socket","Auth","xAlert","$translate","$cookieStore",function(a,b,c,d,e,f,g,h,i,j){function k(){a.lastMessage=_.reject(a.faxRoom.FaxMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(console.log(a.faxRoom),a.form.from=a.faxRoom.FaxAccount,a.form.to=[a.lastMessage.From.phone],a.form.sto=[a.lastMessage.From.phone])}var l=a.uploader=new e({url:"api/fax/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+j.get("token")}});l.filters.push({name:"pdfFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|pdf|".indexOf(b)}}),l.onBeforeUploadItem=function(b){console.log(a.form.from.id,a.form.sto[0],a.isNewMessageFromEmpty,c.id,g.getCurrentUser().id),b.formData.push({accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,roomId:c.id,userId:g.getCurrentUser().id,html:a.form.html}),console.log(b)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",b,c,d)},l.onCompleteAll=function(){l.clearQueue(),h.show(i.instant("MESSAGE_WELL_DONE"),"success")},l.onWhenAddingFileFailed=function(){h.show(i.instant("MESSAGE_WRONG_FORMAT"),"danger")},a.initRoomView=function(){a.isNewMessageFromEmpty=!0,a.Auth=g,a.forms={},a.form={to:[],sto:[]},b.get("api/agents").success(function(b){a.agents=b}),b.get("api/fax/accounts").success(function(b){a.faxAccounts=b.rows}),c.id&&b.get("/api/fax/rooms/"+c.id).success(function(b){a.faxRoom=b,a.isNewMessageFromEmpty=!1,f.syncUpdates("fax_message",[],function(b,c){"created"===b&&c.FaxRoomId===a.faxRoom.id&&(a.faxRoom.FaxMessages.push(c),k())}),k()}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.sendFax=function(){return a.form.sto.length?void(l.queue.length?l.uploadAll():b.post("api/fax/messages",{accountId:a.form.from.id,toNum:a.form.sto[0],isNewRoom:a.isNewMessageFromEmpty,userId:g.getCurrentUser().id,html:a.form.html,onlyText:!0}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"success"),console.log("Fax Message sent")}).error(function(a){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),console.error(a)})):(a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0))},a.assignAgent=function(a){b.put("/api/fax/rooms/"+c.id,{UserId:a}).success(function(){h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateStatus=function(d){b.put("/api/fax/rooms/"+c.id,{status:d}).success(function(b){a.faxRoom.status=b.status,h.show(i.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(a){console.error(a),h.show(i.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.cancel=function(){a.form.sto=[],delete a.form.from,l.clearQueue()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.inbox.room",{url:"/room/:id",templateUrl:"app/fax/inbox/room/room.html",controller:"FaxInboxRoomCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxQueueListCtrl",["$scope","$rootScope","$http","$translate","socket","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("fax_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.faxQueues={checked:[]},a.check=function(b,c){c?a.faxQueues.checked=angular.copy(_.pluck(a.displayedFaxQueues,"id")):a.faxQueues.checked=[]},a.getFaxQueues=function(b){return _.map(a.displayedFaxQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(c){e.unsyncUpdates("fax_queue"),c.url="/api/fax/queues",h.getPage(c).then(function(d){a.displayedFaxQueues=d.rows,c.pagination.numberOfPages=d.total_pages,b.updateTableConfig(d.queuesByPage,a.displayedFaxQueues.length),b.updateTableConfig(a.conf.queuesByPage,a.displayedFaxQueues.length)}),e.socket.on("fax_queue:save",function(){a.initList(c)}),e.socket.on("fax_queue:remove",function(b){a.faxQueues.checked=_.without(a.faxQueues.checked,b.id),a.initList(c)})},a.deleteItem=f.confirm["delete"](function(a){c["delete"]("/api/fax/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.deleteItems=f.confirm["delete"](function(){c["delete"]("/api/fax/queues/",{params:{id:a.faxQueues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.list",{url:"/list",templateUrl:"app/fax/queue/list/list.html",controller:"FaxQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("FaxQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/fax/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/fax/queues/"+d.id).success(function(b){a.queue=b}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateFaxQueue=function(){var f=angular.copy(a.queue);b.put("/api/fax/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/fax/user_has_queues",method:"GET",params:{FaxQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindFaxQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.view",{url:"/view/:id",templateUrl:"app/fax/queue/view/view.html",controller:"FaxQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.fax.queues.view.settings",{url:"/settings",templateUrl:"app/fax/queue/view/view.settings.html"}).state("main.fax.queues.view.agents",{url:"/agents",templateUrl:"app/fax/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("FaxQueueWizardCtrl",["$scope","$http","WizardHandler","xAlert","$translate","$location",function(a,b,c,d,e,f){a.forms={},a.item={},a.next=function(){c.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/fax/queues",a.item).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success"),f.path("/fax/queues/list")}).error(function(a){d.show(e.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.queues.wizard",{url:"/wizard",templateUrl:"app/fax/queue/wizard/wizard.html",controller:"FaxQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("FaxTimelineListCtrl",["$scope","$http","socket","xAlert","$translate",function(a,b,c,d,e){function f(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/fax").success(function(a){a.forEach(f),c.socket.on("event:fax:save",f)}).error(function(a){console.error(a),d.show(e.instant("MESSAGE_FAX_ACCOUNT_GET_FAILURE"),"danger")})},a.$on("$destroy",function(){c.socket.removeAllListeners("event:fax:save")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline.list",{url:"/list",templateUrl:"app/fax/timeline/list/list.html",controller:"FaxTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.fax.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations",{url:"/integrations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").factory("Integration",["$resource",function(a){return a("/api/integrations/:id/:controller",{id:"@id"})}]),angular.module("xCallyShuttleApp").controller("IntegrationListCtrl",["$scope","Modal","socket","FileUploader","Integration","xAlert",function(a,b,c,d,e,f){a.integrationsByPage=10;var g=a.uploader=new d({url:"api/integrations",autoUpload:!0,removeAfterUpload:!0});g.filters.push({name:"zipFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|zip|".indexOf(b)}}),g.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(b.name,"success")},g.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),b.errors.forEach(function(a){f.show(a.message,"danger")})},a.deleteItem=b.confirm["delete"](function(a){e["delete"]({id:a},function(){f.show("Integration Removed","success")},function(a){f.show(a.data.errors,"danger")})}),a.initList=function(){a.integrations=e.query({},function(a){c.syncUpdates("integration",a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.integrations.list",{url:"/list",templateUrl:"app/integration/list/list.html",controller:"IntegrationListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals",{url:"/intervals",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("IntervalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={intervalsByPage:{name:"10",value:10},labels:["name"]},a.intervalsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.intervals={checked:[]},a.check=function(b,c){c?a.intervals.checked=angular.copy(_.pluck(a.displayedIntervals,"id")):a.intervals.checked=[]},a.getIntervals=function(b){return _.map(a.displayedIntervals,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("interval"),b.url="/api/intervals",h.getPage(b).then(function(c){a.displayedIntervals=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.intervalsByPage,a.displayedIntervals.length),e.updateTableConfig(a.conf.intervalsByPage,a.displayedIntervals.length)}),c.socket.on("interval:save",function(){a.initList(b)}),c.socket.on("interval:remove",function(c){a.intervals.checked=_.without(a.intervals.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(d.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/intervals",{params:{id:a.intervals.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.list",{url:"/list",templateUrl:"app/interval/list/list.html",controller:"IntervalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("IntervalViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","interval",function(a,b,c,d,e,f,g,h,i,j){a.$translate=d,a.$interval=j.interval,a.forms={subinterval:void 0,general:void 0},a.initSubInterval=function(){a.subinterval={IntervalId:e.id},a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0}},a.next=function(){b.post("/api/intervals/validate/",a.subinterval).success(function(a){console.log(a),a.length?c.show(d.instant("MESSAGE_EXIST_SUBINTERVAL"),"danger"):h.wizard().next()}).error(function(a){c.show(d.instant(a.message),"danger")})},a.previous=function(){h.wizard().previous()},a.exitValidation=function(a){return a},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from,a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to)):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from,a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to)):e="*",b+","+c+","+d+","+e},a.getInterval=function(){b.get("/api/intervals/"+e.id).success(function(b){a.interval=b,a.subIntervals=b.SubIntervals,f.unsyncUpdates("interval"),f.socket.on("interval:remove",function(b){b.id&&_.remove(a.subIntervals,function(a){return b.id===a.id})}),f.socket.on("interval:update",function(b){var c=_.find(a.subIntervals,{id:b.id});c.interval=b.interval}),f.socket.on("interval:save",function(b){if(b.IntervalId===e.id){var c=_.find(a.subIntervals,{id:b.id});c||a.subIntervals.push(b)}})}).error(function(a){console.error(a),g.path("/intervals/list")})},a.updateInterval=function(){var f=angular.copy(a.interval);b.put("/api/intervals/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.interval=f})},a.getSubInterval=function(){b.get("/api/intervals/"+e.appId).success(function(b){a.splittedInterval={t_from:moment(new Date),t_to:moment(new Date)},a.subinterval=b;var c,d=b.interval?b.interval.split(","):["*","*","*","*"];d.forEach(function(b,d){switch(d){case 0:"*"!==b?(c=b.split("-"),a.splittedInterval.t_from=moment(c[0],"HH:mm"),a.splittedInterval.t_to=moment(c[1],"HH:mm"),a.splittedInterval.alwaysTime=!1):(a.splittedInterval.t_from=moment(new Date),a.splittedInterval.t_to=moment(new Date),a.splittedInterval.alwaysTime=!0);break;case 1:"*"!==b?(c=b.split("-"),a.splittedInterval.wd_from=_.capitalize(c[0]),a.splittedInterval.wd_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.wd_from="always",a.splittedInterval.wd_to="always");break;case 2:"*"!==b?(c=b.split("-"),a.splittedInterval.md_from=c[0],a.splittedInterval.md_to=c[1]?c[1]:"always"):(a.splittedInterval.md_from="always",a.splittedInterval.md_to="always");break;case 3:"*"!==b?(c=b.split("-"),a.splittedInterval.m_from=_.capitalize(c[0]),a.splittedInterval.m_to=c[1]?_.capitalize(c[1]):"always"):(a.splittedInterval.m_from="always",a.splittedInterval.m_to="always")}})}).error(function(a){console.error(a),g.path("/intervals/view/"+e.id+"/subintervals")})},a.createItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.post("/api/intervals/",a.subinterval).success(function(){g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){a.subinterval.interval=a.joinInterval(a.splittedInterval),b.put("/api/intervals/"+e.appId,a.subinterval).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/intervals/view/"+e.id+"/subintervals")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(a){b["delete"]("/api/intervals/"+a).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.view",{url:"/view/:id",templateUrl:"app/interval/view/view.html",controller:"IntervalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.intervals.view.settings",{url:"/settings",templateUrl:"app/interval/view/view.settings.html"}).state("main.intervals.view.subintervals",{url:"/subintervals",templateUrl:"app/interval/view/view.subintervals.html",cache:!1}).state("main.intervals.view.subinterval",{url:"/subinterval",templateUrl:"app/interval/view/view.subinterval.html",authenticate:!0}).state("main.intervals.view.subintervals.settings",{url:"/settings/:appId",templateUrl:"app/interval/view/view.subintervalSettings.html",authenticate:!0,controller:"IntervalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("IntervalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={interval:void 0},a.item={},a.next=function(){b.post("/api/intervals/validate/",a.item).success(function(a){console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_INTERVAL"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/intervals/",a.item).success(function(a){d.path("/intervals/view/"+a.id+"/subintervals")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.intervals.wizard",{url:"/wizard",templateUrl:"app/interval/wizard/wizard.html",controller:"IntervalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("LoginCtrl",["$scope","Auth","$location","$window","$rootScope",function(a,b,c,d,e){a.userLogin={},a.userSignUp={},a.loginSubmitted=!1,a.signupSubmitted=!1,a.errorLogin=!1,a.errorSignup=!1,a.errorLog="",a.flagLogin1=!1,a.toogleLogin=function(){a.flagLogin1=!a.flagLogin1},e.bodyLayout="login",a.$on("$viewContentLoaded",function(){Metronic.init(),Layout.init()}),a.login=function(d){a.loginSubmitted=!0,d.$valid?b.login({name:a.userLogin.name,password:a.userLogin.password,remember:a.userLogin.remember}).then(function(){c.path("/dashboard/voice")})["catch"](function(b){a.errorLog=b.message,a.errorLogin=!0}):a.errorLogin=!0},a.signup=function(d){a.signupSubmitted=!0,d.$valid?b.createUser({email:a.userSignUp.email,fullname:a.userSignUp.fullname,name:a.userSignUp.name,password:a.userSignUp.password,role:a.userSignUp.role,online:!0}).then(function(){c.path("/")})["catch"](function(b){a.errorLog=b.message,a.errorSignup=!0}):a.errorSignup=!0},a.loginOauth=function(a){d.location.href="/auth/"+a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("login",{url:"/login",templateUrl:"app/login/login.html",controller:"LoginCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/login.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts",{url:"/accounts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAccountsByPage:{name:"10",value:10}},a.mailAccountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailAccounts={checked:[]},a.check=function(b,c){c?a.mailAccounts.checked=angular.copy(_.pluck(a.displayedMailAccounts,"id")):a.mailAccounts.checked=[]},a.getMailAccounts=function(b){return _.map(a.displayedMailAccounts,function(a){var c={};return b.forEach(function(b){_.isObject(b)?_.forIn(b,function(b,d){c[b]=a[d][b]}):c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("mail_server_in"),c.unsyncUpdates("mail_account"),b.url="/api/mail/accounts",g.getPage(b).then(function(c){a.displayedMailAccounts=c.rows,b.pagination.numberOfPages=c.total_pages}),c.socket.on("mail_server_in:save",function(){a.initList(b)}),c.socket.on("mail_account:save",function(){a.initList(b)}),c.socket.on("mail_account:remove",function(c){a.mailAccounts.checked=_.without(a.mailAccounts.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/accounts/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/accounts",{params:{id:a.mailAccounts.checked}}).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant(a.message),"danger")})}),a.restart=function(a){c.socket.emit("IMAP:"+a+":RESTART",{
+msg:"IMAP:"+a+":RESTART"})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.list",{url:"/list",templateUrl:"app/mail/account/list/list.html",controller:"MailAccountListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions",{url:"/actions",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionListCtrl",["$scope","$http","$translate","$stateParams","socket","xAlert","Modal",function(a,b,c,d,e,f,g){a.initActons=function(){console.log(d),a.sortableOptions={stop:function(){console.log("stop",_.pluck(a.mailApplications,"id")),b.post("api/mail/accounts/"+d.accountId+"/applications",{applications:_.pluck(a.mailApplications,"id")}).success(function(b){angular.copy(b,a.mailApplications)}).error(function(a){console.error(a)})}},b.get("/api/mail/applications",{params:{MailAccountId:d.accountId}}).success(function(b){a.mailApplications=b,e.socket.on("mail_application:remove",function(b){_.remove(a.mailApplications,{id:b.id})})})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/mail/applications/"+a).success(function(){f.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.list",{url:"/list",templateUrl:"app/mail/account/view/action/list/list.html",controller:"MailAccountViewActionListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initAction=function(){a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],b.get("/api/mail/applications/"+c.actionId).success(function(b){if(a.application=b,a.application.alwaysTime=!1,a.application.IntervalId)a.application.intType="list";else switch(a.application.interval){case"*,*,*,*":a.application.intType="always";break;default:a.application.intType="custom"}var c=a.application.interval.split(",");"*"===c[0]?a.application.alwaysTime=!0:(a.application.t_from=moment(new Date),a.application.t_to=moment(new Date),a.application.t_from.hour(c[0].split("-")[0].split(":")[0]),a.application.t_from.minute(c[0].split("-")[0].split(":")[1]),a.application.t_to.hour(c[0].split("-")[1].split(":")[0]),a.application.t_to.minute(c[0].split("-")[1].split(":")[1])),"*"===c[1]?(a.application.wd_from="always",a.application.wd_to="always"):(a.application.wd_from=c[1].split("-")[0],a.application.wd_to=c[1].split("-")[1]),"*"===c[2]?(a.application.md_from="always",a.application.md_to="always"):(a.application.md_from=c[2].split("-")[0],a.application.md_to=c[2].split("-")[1]),"*"===c[3]?(a.application.m_from="always",a.application.m_to="always"):(a.application.m_from=c[3].split("-")[0],a.application.m_to=c[3].split("-")[1]),console.log(c),a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})}).error(function(a){console.error(a)})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.updateItem=function(){var e=["*","*","*","*"],g={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.id};switch(a.application.app){case"agent":g.UserId=a.application.UserId;break;case"queue":g.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":g.interval=e.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(e[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),e[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",e[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",e[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",g.interval=e.join(","),delete a.application.IntervalId;break;case"list":g.IntervalId=a.application.IntervalId}b.put("/api/mail/applications/"+c.actionId,g).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.view",{url:"/view/:actionId",templateUrl:"app/mail/account/view/action/view/view.html",controller:"MailAccountViewActionViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewActionWizardCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert","WizardHandler","socket","application","interval",function(a,b,c,d,e,f,g,h,i,j){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){console.log(c),a.apps=[{name:"Queue",value:"queue"},{name:"Agent",value:"agent"}],a.$application=i.application,a.$stateParams=c,a.$interval=j.interval,a.forms={},a.application={alwaysTime:!0},a.$watch("application.t_from",function(b){a.application.t_from_hm=moment(b).format("HH:mm")}),a.$watch("application.t_to",function(b){a.application.t_to_hm=moment(b).format("HH:mm")})},a.getQueues=function(){b.get("/api/mail/queues",{params:{page:0,per_page:500}}).success(function(b){a.queues=b.rows}).error(function(a){console.error(a)})},a.getAgents=function(){b.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=b.rows}).error(function(a){console.error(a)})},a.getIntervals=function(){b.get("/api/intervals",{params:{page:0,per_page:500}}).success(function(b){a.intervals=b.rows}).error(function(a){console.error(a)})},a.createItem=function(){var d=["*","*","*","*"],f={app:a.application.app,timeout:a.application.timeout,MailAccountId:c.accountId};switch(a.application.app){case"agent":f.UserId=a.application.UserId;break;case"queue":f.MailQueueId=a.application.MailQueueId}switch(a.application.intType){case"always":f.interval=d.join(","),delete a.application.IntervalId;break;case"custom":a.application.alwaysTime||(d[0]=a.application.alwaysTime?"*":a.application.t_from_hm+"-"+a.application.t_to_hm),d[1]=a.application.wd_from&&a.application.wd_to?a.application.wd_from+"-"+a.application.wd_to:"*",d[2]=a.application.md_from&&a.application.md_to?a.application.md_from+"-"+a.application.md_to:"*",d[3]=a.application.m_from&&a.application.m_to?a.application.m_from+"-"+a.application.m_to:"*",f.interval=d.join(","),delete a.application.IntervalId;break;case"list":f.IntervalId=a.application.IntervalId}b.post("/api/mail/applications",f).success(function(){e.path("/mail/accounts/view/"+c.accountId+"/actions/list")}).error(function(a){console.error(a)})},a.formValidation=function(a){return a},a.next=function(){g.wizard().next()}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view.actions.wizard",{url:"/wizard",templateUrl:"app/mail/account/view/action/wizard/wizard.html",controller:"MailAccountViewActionWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAccountViewCtrl",["$scope","$http","$stateParams","$translate","$location","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initView=function(){b.get("/api/mail/accounts/"+c.accountId).success(function(b){a.account=b})},a.updateItemMailAccount=function(){b.put("/api/mail/accounts/"+c.accountId,{name:a.account.name,description:a.account.description,address:a.account.address}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateItemMailServerIn=function(){b.put("/api/mail/servers/in/"+a.account.MailServerIn.id,a.account.MailServerIn).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.updateItemMailServerOut=function(){b.put("/api/mail/servers/out/"+a.account.MailServerOut.id,a.account.MailServerOut).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.view",{url:"/view/:accountId",templateUrl:"app/mail/account/view/view.html",controller:"MailAccountViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.accounts.view.settings",{url:"/settings",templateUrl:"app/mail/account/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("MailAccountWizardCtrl",["$scope","$http","$location","$translate","WizardHandler","xAlert",function(a,b,c,d,e,f){a.isActive=!0,a.size="small",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.initWizard=function(){a.forms={},a.info={},a["in"]={"delete":!1,ssl:!0,protocol:"IMAP",port:993,mailbox:"INBOX",filter:"UNSEEN"},a.out={ssl:!0,port:465},a.$translate=d},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a},a.createItem=function(){var e={name:a.info.name,address:a.info.address,description:a.info.description,incoming:a["in"],outgoing:a.out};b.post("api/mail/accounts",e).success(function(){c.path("/mail/accounts/list")}).error(function(a){console.log(a),f.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.accounts.wizard",{url:"/wizard",templateUrl:"app/mail/account/wizard/wizard.html",controller:"MailAccountWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations",{url:"/automations",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailAutomationListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={mailAutomationsByPage:{name:"10",value:10}},a.mailAutomationsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.mailAutomations={checked:[]},a.check=function(b,c){c?a.mailAutomations.checked=angular.copy(_.pluck(a.displayedMailAutomations,"id")):a.mailAutomations.checked=[]},a.getMailAutomations=function(b){return _.map(a.displayedMailAutomations,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("mail_business_automation"),b.url="/api/mail/business/automations",e.getPage(b).then(function(c){a.displayedMailAutomations=c.mailAutomations,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mailAutomationsByPage,a.displayedMailAutomations.length),d.updateTableConfig(a.conf.mailAutomationsByPage,a.displayedMailAutomations.length)}),g.socket.on("mail_business_automation:save",function(){a.initList(b)}),g.socket.on("mail_business_automation:remove",function(c){a.mailAutomations.checked=_.without(a.mailAutomations.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/business/automations/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"danger")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/business/automations",{params:{id:a.mailAutomations.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/mail/business/automations/"+a,{status:d}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.list",{url:"/list",templateUrl:"app/mail/automation/list/list.html",controller:"MailAutomationListCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationViewCtrl",["$scope","$stateParams","$http","$translate","automation","socket","xAlert",function(a,b,c,d,e,f,g){a.initView=function(){a.forms={info:{}},a.automations=e.automations,c.get("/api/mail/business/automations/"+b.id).success(function(c){a.test=c,a.automation=c,f.syncUpdatesByAttributes("business_condition",{MailBusinessAutomationId:b.id},c.BusinessConditions)}).error(function(){})},a.updateAutomation=function(){c.put("/api/mail/business/automations/"+a.automation.id,{name:a.automation.name,description:a.automation.description}).success(function(a){g.show(d.instant("MESSAGE_WELL_DONE"),"success"),console.log(a)}).error(function(a){console.error(a)})},a.getOperatorsByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});return c.operators&&c.operators.length&&(b=c.operators),b},a.getAttributesByCondition=function(a){var b=[],c=_.find(e.automations.conditions,{key:a});if(c.attributes&&c.attributes.length)switch(c.key){case"createdAt":b=_.map(c.attributes,function(a){return a.value=parseInt(a.value,10),a});break;default:b=c.attributes}return b},a.addNewCondition=function(b){c.post("/api/business/conditions",{type:b,condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessConditions.push(b)}).error(function(a){console.error(a)})},a.removeCondition=function(a){c["delete"]("/api/business/conditions/"+a).success(function(a){console.log(a)}).error(function(a){console.error(a)})},a.addNewAction=function(){c.post("/api/business/actions",{condition:"status",MailBusinessAutomationId:a.automation.id}).success(function(b){a.automation.BusinessActions.push(b)}).error(function(a){console.error(a)})},a.removeAction=function(b){c["delete"]("/api/business/actions/"+b).success(function(b){a.automation.BusinessActions=_.reject(a.automation.BusinessActions,{id:b.id})}).error(function(a){console.error(a)})},a.updateCondition=function(a,b,d){var e={};e[b]=d,c.put("/api/business/conditions/"+a,e).error(function(a){console.error(a)})},a.updateAction=function(a,b,d){var e={};e[b]=d,c.put("/api/business/actions/"+a,e).success(function(a){console.log(a)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.view",{url:"/view/:id",templateUrl:"app/mail/automation/view/view.html",controller:"MailAutomationViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.mail.automations.view.settings",{url:"/settings",templateUrl:"app/mail/automation/view/view.settings.html"}).state("main.mail.automations.view.routes",{url:"/routes",templateUrl:"app/mail/automation/view/view.routes.html"}).state("main.mail.automations.view.application",{url:"/application",templateUrl:"app/mail/automation/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("MailAutomationWizardCtrl",["$scope","$http","$location","$translate","automation","WizardHandler","xAlert",function(a,b,c,d,e,f,g){a.forms={},a.automations={or:[],and:[],actions:[]},a.addNewChoice=function(b){var c=angular.copy(e.automations);a.automations[b].push(c)},a.removeChoice=function(b,c){a.automations[b].splice(c)},a.goNext=function(){return a.automations.actions.length?a.automations.or.length||a.automations.and.length?void f.wizard().next():(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_CONDITION"),"danger"),!1):(g.show(d.instant("MESSAGE_INSERT_AT_LEAST_ONE_ACTION"),"danger"),!1)},a.createItem=function(){a.automations.or.forEach(function(a){a.condition=a.condition.key,a.type="or",delete a.conditions,delete a.actions}),a.automations.and.forEach(function(a){a.condition=a.condition.key,a.type="and",delete a.conditions,delete a.actions}),a.automations.actions.forEach(function(a){a.condition=a.condition.key,delete a.conditions,delete a.actions}),b.post("api/mail/business/automations",a.automations).success(function(){c.path("/mail/automations/list")}).error(function(){g.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG","danger"))})},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.automations.wizard",{url:"/wizard",templateUrl:"app/mail/automation/wizard/wizard.html",controller:"MailAutomationWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailComposeCtrl",["$scope","$http","$location","$cookieStore","$translate","xAlert","FileUploader",function(a,b,c,d,e,f,g){var h=a.uploader=new g({url:"api/mail/messages",withCredentials:!0,headers:{Authorization:"Bearer "+d.get("token")},queueLimit:1});h.onBeforeUploadItem=function(b){b.formData.push({mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,attachment:!0})},h.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success")},h.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")},h.onCompleteAll=function(){console.log("onCompleteAll"),c.path("/mail/inbox/incoming")},a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.sendMail=function(){if(h.queue.length)console.log("file"),h.uploadAll();else{console.log("no file");var d={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null};b.post("/api/mail/messages",d).success(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),c.path("/mail/inbox/incoming")}).error(function(){f.show(e.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.from,delete a.form.text,delete a.form.html}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.compose",{url:"/compose",templateUrl:"app/mail/inbox/room/room.html",controller:"MailComposeCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailInboxCtrl",["$scope","$http","$location",function(a,b,c){a.go=function(a){c.path(a)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox",{url:"/inbox",templateUrl:"app/mail/inbox/inbox.html",controller:"MailInboxCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css","assets/css/todo.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailIncomingCtrl",["$scope","$http","$location","$translate","$timeout","socket","xAlert","Auth","stResource","Modal",function(a,b,c,d,e,f,g,h,i,j){a.$location=c,a.conf={mailRoomsByPage:{name:"10",value:10},labels:["fullname","name","email"],test:"OPEN"},a.mailRoomsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailRooms={checked:[]},a.check=function(b,c){c?a.mailRooms.checked=angular.copy(_.pluck(a.displayedMailRooms,"id")):a.mailRooms.checked=[]},a.initList=function(b){f.unsyncUpdates("mail_room"),b.search.predicateObject||(b.search.predicateObject={}),b.sort.predicate="createdAt",b.sort.reverse=!0,h.isAdmin()?(f.socket.on("mail_room:save",function(){e(function(){g.show(d.instant("MESSAGE_MAIL_NEW_INCOMING_MAIL"),"success"),a.initList(b)},2e3)}),f.socket.on("mail_room:remove",function(c){a.mailRooms.checked=_.without(a.mailRooms.mailRooms,c.id),a.initList(b)})):(f.socket.on("mail_room:save",function(c){c.UserId===h.getCurrentUser().id&&a.initList(b)}),f.socket.on("mail_room:remove",function(c){c.UserId===h.getCurrentUser().id&&(a.mailRooms.checked=_.without(a.mailRooms.checked,c.id),a.initList(b))}),b.search.predicateObject.UserId=h.getCurrentUser().id),b.url="/api/mail/rooms",i.getPage(b).then(function(c){a.displayedMailRooms=c.mailRooms,b.pagination.numberOfPages=c.total_pages})},a.deleteItems=j.confirm["delete"](function(){b["delete"]("/api/mail/rooms",{params:{id:a.mailRooms.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})}),a.$on("$destroy",function(){f.unsyncUpdates("mail_room")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.incoming",{url:"/incoming",templateUrl:"app/mail/inbox/incoming/incoming.html",controller:"MailIncomingCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/inbox.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("MailRoomCtrl",["$scope","$http","$stateParams","$timeout","$cookieStore","$location","$translate","$log","xAlert","Auth","socket","FileUploader",function(a,b,c,d,e,f,g,h,i,j,k,l){function m(){a.lastMessage=_.reject(a.mailRoom.MailMessages,function(a){return"RECEIVED"!==a.status}),a.lastMessage=_.sortByOrder(a.lastMessage,["id"],["desc"])[0],a.lastMessage&&(a.form.subject=a.mailRoom.subject,a.form.from=a.mailRoom.MailAccount,a.form.to=[a.lastMessage.From.email],a.form.cc=a.lastMessage.To.concat(a.lastMessage.Cc),a.form.cc=_.pluck(a.form.cc,"email"),a.form.cc=_.remove(a.form.cc,function(b){return a.mailRoom.MailAccount?b!==a.mailRoom.MailAccount.address:void 0}),a.form.cc=a.form.cc,a.form.inReplyTo=a.lastMessage.messageId,a.form.MailRoomId=a.lastMessage.MailRoomId)}var n=a.uploader=new l({url:"api/mail/messages",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+e.get("token")}});n.onBeforeUploadItem=function(b){var c={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id};a.mailRoom.roomId&&(c.inReplyTo=a.mailRoom.roomId),b.formData.push(c)},n.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d)},n.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d)},n.onCompleteAll=function(){console.log("onCompleteAll"),f.path("/mail/inbox/incoming")},a.initRoomView=function(){a.Auth=j,a.forms={},a.form={to:[],sto:[],cc:[],scc:[]},b.get("/api/agents").success(function(b){a.agents=b.rows}),b.get("/api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),b.get("/api/mail/rooms/"+c.id).success(function(c){a.mailRoom=c,k.syncUpdatesByAttributes("mail_message",{MailRoomId:a.mailRoom.id},a.mailRoom.MailMessages),"NEW"===a.mailRoom.status&&b.put("/api/mail/rooms/"+a.mailRoom.id,{status:"OPEN"}),m()}).error(function(){f.path("/mail/inbox/incoming")})},a.getMailString=function(a){return a.fullname?a.fullname+" <"+a.email+">":"<"+a.email+">"},a.sendMail=function(){if(n.queue.length)n.uploadAll();else{if(!a.form.to.length)return a.forms.compose.to.$valid=!1,void(a.forms.compose.to.$invalid=!0);a.forms.compose.to.$valid=!0,a.forms.compose.to.$invalid=!1;var c={mailAccountId:a.form.from.id,status:"SENDING",roomStatus:"OPEN",from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailRoomId:a.mailRoom.id};a.mailRoom.roomId&&(c.inReplyTo=a.mailRoom.roomId),h.debug(c),b.post("/api/mail/messages",c).success(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_SUCCESS"),"success"),Metronic.scrollTop()}).error(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_SEND_FAILURE"),"danger")})}},a.cancel=function(){a.form.sto=[],a.form.scc=[],delete a.form.text},a.updateStatus=function(d){b.put("/api/mail/rooms/"+c.id,{status:d}).success(function(b){a.mailRoom.status=b.status,i.show(g.instant("MESSAGE_STATUS_UPDATE_SUCCESS"),"success")}).error(function(){i.show(g.instant("MESSAGE_STATUS_UPDATE_FAILURE"),"danger")})},a.assignAgent=function(a){b.put("/api/mail/rooms/"+c.id,{UserId:a}).success(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_SUCCESS"),"success")}).error(function(){i.show(g.instant("MESSAGE_MAIL_MESSAGE_ASSIGNEMNT_FAILURE"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.inbox.room",{url:"/room/:id",templateUrl:"app/mail/inbox/room/room.html",controller:"MailRoomCtrl",authenticate:!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail",{url:"/mail",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailQueueListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_queue")}),a.conf={queuesByPage:{name:"10",value:10}},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailQueues={checked:[]},a.check=function(b,c){c?a.mailQueues.checked=angular.copy(_.pluck(a.displayedMailQueues,"id")):a.mailQueues.checked=[]},a.getMailQueues=function(b){return _.map(a.displayedMailQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_queue"),b.url="/api/mail/queues/",g.getPage(b).then(function(c){a.displayedMailQueues=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.queuesByPage,a.displayedMailQueues.length),d.updateTableConfig(a.conf.queuesByPage,a.displayedMailQueues.length)}),e.socket.on("mail_queue:save",function(){a.initList(b)}),e.socket.on("mail_queue:remove",function(c){a.mailQueues.checked=_.without(a.mailQueues.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/queues/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/queues/",{params:{id:a.mailQueues.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.list",{url:"/list",templateUrl:"app/mail/queue/list/list.html",controller:"MailQueueListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){var f=function(){return{select:function(c){b.post("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/mail/queues/"+a.queue.id+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/mail/queues/"+d.id).success(function(b){a.queue=b}).error(function(a){console.error(a)})},a.updateMailQueue=function(){var f=angular.copy(a.queue);b.put("/api/mail/queues/"+d.id,f).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){e.show(b.message,"success"),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b.get("/api/mail/user_has_queues",{params:{MailQueueId:a.queue.id}}).success(function(b){ComponentsDropdowns.bindMailQueue(a.teams,_.pluck(b,"UserId"),f)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.view",{url:"/view/:id",templateUrl:"app/mail/queue/view/view.html",controller:"MailQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.queues.view.settings",{url:"/settings",templateUrl:"app/mail/queue/view/view.settings.html"}).state("main.mail.queues.view.agents",{url:"/agents",templateUrl:"app/mail/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailQueueWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.forms={},a.item={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/mail/queues",a.item).success(function(){c.path("/mail/queues/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.queues.wizard",{url:"/wizard",templateUrl:"app/mail/queue/wizard/wizard.html",controller:"MailQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewAgentCtrl",["$scope","$http","socket",function(a,b,c){console.log("MailRealtimeViewAgentCtrl"),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initAgents=function(){b.get("/api/report/mails").success(function(b){a.agents=b,c.socket.on("report_mail:save",function(b){var c=_.find(a.agents,{id:b.id});c||a.agents.unshift(b)}),c.socket.on("report_mail:update",function(b){var c=_.find(a.agents,{id:b.id}),d=a.agents.indexOf(c);c&&_.merge(a.agents[d],b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewSessionCtrl",["$scope","$http","socket",function(a,b,c){a.conf={sessionsByPage:{name:"10",value:10},labels:["fullname","name","email"]
+},a.sessionsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){c.unsyncUpdates("report_mail:save"),c.unsyncUpdates("report_mail:update")}),a.initMails=function(){b.get("/api/report/mail/sessions").success(function(b){a.sessions=b,c.socket.on("report_mail_session:save",function(b){var c=_.find(a.sessions,{id:b.id}),d=a.sessions.indexOf(c);c?_.merge(a.sessions[d],b):a.sessions.unshift(b)})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("MailRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.mail.realtime.view.agents"}],a.sessions=[{name:"View1",link:"main.mail.realtime.view.sessions"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.realtime.view",{url:"/view",templateUrl:"app/mail/realtime/view/view.html",controller:"MailRealtimeViewCtrl"}).state("main.mail.realtime.view.agents",{url:"/agents",controller:"MailRealtimeViewAgentCtrl",templateUrl:"app/mail/realtime/view/agent/agent.html"}).state("main.mail.realtime.view.sessions",{url:"/sessions",controller:"MailRealtimeViewSessionCtrl",templateUrl:"app/mail/realtime/view/session/session.html"})}]),angular.module("xCallyShuttleApp").controller("MailStatisticsCtrl",["$scope","$http","$translate","socket",function(a,b,c,d){a.message="Hello",a.$translate=c,b.get("api/mail/rooms").success(function(b){a.mailRooms=b,d.syncUpdates("mail_room",a.mailRooms)}),b.get("api/mail/messages").success(function(b){a.mailMessages=b,d.syncUpdates("mail_message",a.mailMessages)})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.statistics",{url:"/statistics",templateUrl:"app/mail/statistics/statistics.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.statistics.summary",{url:"/summary",templateUrl:"app/mail/statistics/statistics.summary.html",controller:"MailStatisticsCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile-old.css"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateListCtrl",["$scope","$http","$translate","$rootScope","socket","Modal","stResource","xAlert",function(a,b,c,d,e,f,g,h){a.$on("$destroy",function(){e.unsyncUpdates("mail_template")}),a.conf={templatesByPage:{name:"10",value:10}},a.templatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mailTemplates={checked:[]},a.check=function(b,c){c?a.mailTemplates.checked=angular.copy(_.pluck(a.displayedMailTemplates,"id")):a.mailTemplates.checked=[]},a.getMailTemplates=function(b){return _.map(a.displayedMailTemplates,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){e.unsyncUpdates("mail_template"),b.url="/api/mail/templates/",g.getPage(b).then(function(c){a.displayedMailTemplates=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(c.templatesByPage,a.displayedMailTemplates.length),d.updateTableConfig(a.conf.templatesByPage,a.displayedMailTemplates.length)}),e.socket.on("mail_template:save",function(){a.initList(b)}),e.socket.on("mail_template:remove",function(c){a.mailTemplates.checked=_.without(a.mailTemplates.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/mail/templates/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){h.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/mail/templates/",{params:{id:a.mailTemplates.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.list",{url:"/list",templateUrl:"app/mail/template/list/list.html",controller:"MailTemplateListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates",{url:"/templates",template:"<div ui-view></div>","abstract":!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateViewCtrl",["$scope","$http","$translate","$stateParams","xAlert",function(a,b,c,d,e){a.items={},a.initItem=function(){b.get("/api/mail/accounts").success(function(c){a.mailAccounts=c.rows,b.get("/api/mail/templates/"+d.id).success(function(b){var c=_.find(a.mailAccounts,{address:b.from});a.item={name:b.name,description:b.description,subject:b.subject,from:{address:c.address,name:c.name,id:c.id},to:[],sto:b.to.split(";"),cc:[],scc:b.cc.split(";"),html:b.html,text:b.text,MailAccountId:b.MailAccountId}}).error(function(a){e.show(a.message,"danger")})})},a.updateItem=function(){var f={name:a.item.name,description:a.item.description,from:a.item.from.address,to:a.item.sto.join(";"),cc:a.item.scc.join(";"),subject:a.item.subject||null,html:a.item.html||null,text:a.item.text||null,MailAccountId:a.item.from.id};b.put("/api/mail/templates/"+d.id,f).success(function(a){console.log(a),e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.view",{url:"/view/:id",templateUrl:"app/mail/template/view/view.html",controller:"MailTemplateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.mail.templates.view.settings",{url:"/settings",templateUrl:"app/mail/template/view/view.settings.html"}).state("main.mail.templates.view.agents",{url:"/agents",templateUrl:"app/mail/template/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("MailTemplateWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert",function(a,b,c,d,e){a.form={to:[],sto:[],cc:[],scc:[]},b.get("api/mail/accounts").success(function(b){a.mailAccounts=b.rows}),a.forms={},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.saveTemplate=function(){var d={name:a.form.name,description:a.form.description,from:a.form.from.address,to:a.form.sto.join(";"),cc:a.form.scc.join(";"),subject:a.form.subject||null,html:a.form.html||null,text:a.form.text||null,MailAccountId:a.form.from.id};b.post("/api/mail/templates",d).success(function(){c.path("/mail/templates/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.templates.wizard",{url:"/wizard",templateUrl:"app/mail/template/wizard/wizard.html",controller:"MailTemplateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("MailTimelineListCtrl",["$scope","$http","socket",function(a,b,c){function d(b){a.events>50&&a.events.pop(),a.events.unshift(b)}a.initList=function(){a.events=[],b.get("/api/events/channel/mail").success(function(a){a.forEach(d),c.socket.on("event:chat:save",d)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline.list",{url:"/list",templateUrl:"app/mail/timeline/list/list.html",controller:"MailTimelineListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/timeline.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.mail.timeline",{url:"/timeline",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("MainCtrl",["$scope","$http","$rootScope","$cookies","$translate","$interval","socket","Auth",function(a,b,c,d,e,f,g,h){a.awesomeThings=[],a.isLoggedIn=h.isLoggedIn,a.isAdmin=h.isAdmin,a.getCurrentUser=h.getCurrentUser,c.workspaces=[],c.mainTab={active:!0},a.$on("$viewContentLoaded",function(){Metronic.init()}),c.language=e.use(),a.changeLanguage=function(a){e.use(a).then(function(a){c.language=a})["catch"](function(a){console.error(a)})},a.$on("$destroy",function(){})}]),angular.module("xCallyShuttleApp").directive("ngSpinnerBar",["$rootScope",function(a){return{link:function(b,c){c.addClass("hide"),a.$on("$stateChangeStart",function(){"spinner-page"===c[0].id&&c.removeClass("hide")}),a.$on("$stateChangeSuccess",function(){"spinner-page"===c[0].id&&(c.addClass("hide"),$("body").removeClass("page-on-load"),Layout.setSidebarMenuActiveLink("match"),setTimeout(function(){Metronic.scrollTop()},1e3))}),a.$on("$spinnerStart",function(){"spinner-request"===c[0].id&&c.removeClass("hide")}),a.$on("$spinnerStop",function(){"spinner-request"===c[0].id&&c.addClass("hide")}),a.$on("$stateNotFound",function(){"spinner-page"===c[0].id&&c.addClass("hide")}),a.$on("$stateChangeError",function(){"spinner-page"===c[0].id&&c.addClass("hide")})}}}]).directive("a",function(){return{restrict:"E",link:function(a,b,c){(c.ngClick||""===c.href||"#"===c.href)&&b.on("click",function(a){a.preventDefault()})}}}).directive("nxEqual",function(){return{require:"ngModel",link:function(a,b,c,d){return c.nxEqual?(a.$watch(c.nxEqual,function(a){d.$setValidity("nxEqual",a===d.$viewValue)}),void d.$parsers.push(function(b){var e=b===a.$eval(c.nxEqual);return d.$setValidity("nxEqual",e),e?b:void 0})):void console.error("nxEqual expects a model as an argument!")}}}).directive("ngEnter",function(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}).directive("dropdownMenuHover",function(){return{link:function(a,b){b.dropdownHover()}}}).directive("uiSelectRequired",function(){return{require:"ngModel",link:function(a,b,c,d){d.$validators.uiSelectRequired=function(a){return a&&a.length}}}}).directive("rpattern",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a,b){return null==b||""===b||!h||a.test(b)?(d.$setValidity("pattern",!0),b):void d.$setValidity("pattern",!1)}var f,g=c.rpattern,h=!0;g&&(g.match(/^\/(.*)\/$/)?(g=new RegExp(g.substr(1,g.length-2)),f=function(a){return e(g,a)}):f=function(b){var c=a.$eval(g);if(!c||!c.test)throw new Error("Expected "+g+" to be a RegExp but was "+c);return e(c,b)}),d.$formatters.push(f),d.$parsers.push(f),c.$observe("required",function(a){h=a,f(d.$viewValue)})}}}).directive("queryBuilder",["$compile",function(a){return{restrict:"E",scope:{group:"=",fields:"=",operators:"=",properties:"="},templateUrl:"app/main/template.queryBuilderView.html",compile:function(b,c){var d,e;return d=b.contents().remove(),function(b,c,f){b.booleans=[{name:"AND"},{name:"OR"}],b.addCondition=function(a){"CONDITION"==a?b.group.rules.push({operator:"=",field:"",data:""}):b.group.rules.push({field:"",data:""})},b.removeCondition=function(a){b.group.rules.splice(a,1)},b.addGroup=function(a){b.group.rules.push({group:{"boolean":"AND",rules:[],type:a,main:!1}})},b.removeGroup=function(){b.$parent.group.rules.splice(b.$parent.$index,1)},e||(e=a(d)),c.append(e(b,function(a){return a}))}}}}]),angular.module("xCallyShuttleApp").filter("capitalize",function(){return function(a){return a?a.replace(/([^\W_]+[^\s-]*) */g,function(a){return a.charAt(0).toUpperCase()+a.substr(1).toLowerCase()}):""}}),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main",{"abstract":!0,templateUrl:"app/main/main.html",controller:"MainCtrl",resolve:{authorization:["$q","Auth","$state","$timeout","$location",function(a,b,c,d,e){return b.getToken()?a.when():(d(function(){e.path("/login")}),a.reject())}]}})}]),angular.module("xCallyShuttleApp").factory("xAlert",["$translate","Notification",function(a,b){return{show:function(c,d){switch(d){case"success":b.success({message:c,title:'<i class="glyphicon glyphicon-ok"></i> <strong>'+a.instant("MESSAGE_SUCCESS")+"!</strong>",delay:5e3});break;case"info":b.info({message:c,title:'<i class="glyphicon glyphicon-info-sign"></i> <strong>'+a.instant("MESSAGE_INFO")+"!</strong>",delay:5e3});break;case"danger":b.error({message:c,title:'<i class="glyphicon glyphicon-warning-sign"></i> <strong>'+a.instant("MESSAGE_ERROR")+"!</strong>",delay:1e4});break;default:b.info(c)}}}}]).factory("stResource",["$q","$filter","$timeout","$rootScope","$http","$translate","xAlert",function(a,b,c,d,e,f,g){return{getPage:function(b){var c={page:Math.ceil(b.pagination.start/b.pagination.number),per_page:b.pagination.number};b.sort.predicate&&(c.sort_by=b.sort.predicate,c.sort_order=b.sort.reverse?"DESC":"ASC"),_.forIn(b.search.predicateObject,function(a,b){c[b]=a}),d.$broadcast("$spinnerStart"),e.get(b.url,{params:c}).success(function(a){h.resolve(a),d.$broadcast("$spinnerStop")}).error(function(a){g.show(f.instant(a.message),"danger"),d.$broadcast("$spinnerStop")});var h=a.defer();return h.promise}}}]),angular.module("xCallyShuttleApp").controller("MarketCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.market",{url:"/market",templateUrl:"app/market/market.html",controller:"MarketCtrl"})}]),angular.module("xCallyShuttleApp").controller("MotionbarCtrl",["$scope","$stateParams","$cookieStore","settings","Auth",function(a,b,c,d,e){e.loginWithToken(b.token,b.userId,b.name),a.getCurrentUser=e.getCurrentUser,d.layout.pageQuickSidebarOpened=!0}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("motionbar",{url:"/motionbar",template:"<div ui-view></div>","abstract":!0}).state("motionbar.chat",{url:"/chat?token&userId&name",templateUrl:"app/motionbar/motionbar.chat.html",controller:"MotionbarCtrl"})}]),angular.module("xCallyShuttleApp").controller("SoundListCtrl",["$scope","$http","socket","Modal","$q","FileUploader","$translate","xAlert","$cookieStore","$sce",function(a,b,c,d,e,f,g,h,i,j){a.isCollapsed=!0,a.audioSources={},a["delete"]=d.confirm["delete"](function(a){b["delete"]("/api/uploads/"+a).success(function(a){}).error(function(a){console.log(a)})}),a.getAudioSrc=function(a){return"/api/uploads/"+a},a.updateAudio=function(a,c){var d=e.defer();return b.put("/api/uploads/"+a,c).success(function(a){d.resolve()}).error(function(a){console.log(a.message),d.reject(a.message)}),d.promise},a.$on("$destroy",function(){c.unsyncUpdates("upload")}),a.initList=function(){b.get("/api/uploads").success(function(b){a.sounds=b,a.sounds.forEach(function(a){k(a)}),c.syncUpdates("upload",a.sounds)}).error(function(a){})};var k=function(c){b.get("/api/uploads/stream/"+c.id).success(function(b){a.audioSources[c.id]=b}).error(function(a){console.error(a)})};a.getSecureSrc=function(a){return j.trustAsResourceUrl("data:audio/ogg;base64,"+a)},a.getSecureDownloadSrc=function(a){return j.trustAsResourceUrl("data:application/octet-stream;charset=utf-16le;base64,"+a)};var l=a.uploader=new f({url:"/api/uploads",withCredentials:!0,headers:{Authorization:"Bearer "+i.get("token")}});l.filters.push({name:"customFilter",fn:function(a,b){return this.queue.length<10}}),l.onWhenAddingFileFailed=function(a,b,c){console.info("onWhenAddingFileFailed",a,b,c)},l.onAfterAddingFile=function(a){console.info("onAfterAddingFile",a)},l.onAfterAddingAll=function(a){console.info("onAfterAddingAll",a)},l.onBeforeUploadItem=function(a){console.info("onBeforeUploadItem",a)},l.onProgressItem=function(a,b){console.info("onProgressItem",a,b),a.isUploading=!0},l.onProgressAll=function(a){console.info("onProgressAll",a)},l.onSuccessItem=function(a,b,c,d){console.info("onSuccessItem",a,b,c,d),a.isUploading=!1},l.onErrorItem=function(a,b,c,d){console.info("onErrorItem",a,b,c,d),a.responseMessage=b,a.isUploading=!1},l.onCancelItem=function(a,b,c,d){console.info("onCancelItem",a,b,c,d),a.isUploading=!1},l.onCompleteItem=function(a,b,c,d){console.info("onCompleteItem",a,b,c,d),a.isUploading=!1},l.onCompleteAll=function(){console.info("onCompleteAll")},console.info("uploader",l)}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds.list",{url:"/list",templateUrl:"app/sound/list/list.html",controller:"SoundListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js"]})}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.sounds",{url:"/sounds",templateUrl:"app/sound/sound.html","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={odbcsByPage:{name:"10",value:10}},a.odbcsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Odbcs={checked:[]},a.check=function(b,c){c?a.Odbcs.checked=angular.copy(_.pluck(a.displayedOdbcs,"id")):a.Odbcs.checked=[]},a.getOdbcs=function(b){return _.map(a.displayedOdbcs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_odbc"),b.url="/api/square/odbc",h.getPage(b).then(function(c){a.displayedOdbcs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.odbcsByPage,a.displayedOdbcs.length),d.updateTableConfig(a.conf.odbcsByPage,a.displayedOdbcs.length)}),c.socket.on("square_odbc:save",function(){a.initList(b)}),c.socket.on("square_odbc:remove",function(c){a.Odbcs.checked=_.without(a.Odbcs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/odbc/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/odbc",{params:{id:a.Odbcs.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.list",{url:"/list",templateUrl:"app/square/odbc/list/list.html",controller:"SquareOdbcListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs",{url:"/odbcs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getOdbc=function(){b.get("/api/square/odbc/"+e.id).success(function(b){delete b.pwd,a.odbc=b}).error(function(a){console.error(a),f.path("/square/odbcs/list")})},a.updateOdbc=function(){var f=angular.copy(a.odbc);b.put("/api/square/odbc/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.odbc=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.view",{url:"/view/:id",templateUrl:"app/square/odbc/view/view.html",controller:"SquareOdbcViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.square.odbcs.view.settings",{url:"/settings",templateUrl:"app/square/odbc/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("SquareOdbcWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={odbc:void 0},a.item={},a.next=function(){b.post("/api/square/odbc/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_ODBC"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/odbc/",a.item).success(function(){d.path("/square/odbcs/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.odbcs.wizard",{url:"/wizard",templateUrl:"app/square/odbc/wizard/wizard.html",controller:"SquareOdbcWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("SquareProjectListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={projectsByPage:{name:"10",value:10}},a.projectsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Projects={checked:[]},a.check=function(b,c){c?a.Projects.checked=angular.copy(_.pluck(a.displayedProjects,"id")):a.Projects.checked=[]},a.getProjects=function(b){return _.map(a.displayedProjects,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("square_project"),b.url="/api/square/projects",h.getPage(b).then(function(c){a.displayedProjects=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.projectsByPage,a.displayedProjects.length),d.updateTableConfig(a.conf.projectsByPage,a.displayedProjects.length)}),c.socket.on("square_project:save",function(){a.initList(b)}),c.socket.on("square_project:remove",function(c){a.Projects.checked=_.without(a.Projects.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/square/projects/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/square/projects",{params:{id:a.Projects.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.list",{url:"/list",templateUrl:"app/square/project/list/list.html",controller:"SquareProjectListCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects",{url:"/projects",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("SquareProjectViewCtrl",["$scope","$http","$stateParams","socket","Auth","Modal","xAlert","$translate","$rootScope",function(a,b,c,d,e,f,g,h,i){a.squareProject={},a.getProject=function(){b.get("/api/square/projects/"+c.id).success(function(b){a.squareProject=b,angular.element(document).ready(function(){window.onerror=function(a,b,c){try{if(null!=a&&-1!=a.indexOf("Script error."));else{var d=new Image;d.src="assets/plugins/mxgraph/images/1x1.png?msg="+encodeURIComponent(a)+"&url="+encodeURIComponent(b)+"&lnum="+encodeURIComponent(c)}}catch(e){}},b.token=e.getToken();var a=new EditorUi(new Editor);a.openString(b.preproduction,b.name,b),a.editor.graphChangeListener=function(a,b){var c=b.properties.rtChange||!1;c||(this.modified=!0)}}),d.syncUpdates("square_project",[b],function(a,c,d){c.id===b.id})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.view",{url:"/view/:id",templateUrl:"app/square/project/view/view.html",controller:"SquareProjectViewCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",serie:!0,cache:!1,files:["assets/plugins/mxgraph/css/common.css","assets/plugins/mxgraph/css/explorer.css","assets/plugins/mxgraph/styles/grapheditor.css","assets/plugins/mxgraph/styles/custom.css","assets/plugins/mxgraph/js/custom.js","assets/plugins/mxgraph/js/mxClient.js","assets/plugins/mxgraph/js/Editor.js","assets/plugins/mxgraph/js/Graph.js","assets/plugins/mxgraph/js/EditorUi.js","assets/plugins/mxgraph/js/Actions.js","assets/plugins/mxgraph/js/Menus.js","assets/plugins/mxgraph/js/Sidebar.js","assets/plugins/mxgraph/js/Toolbar.js","assets/plugins/mxgraph/js/Dialogs.js"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("SquareProjectWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={project:void 0},a.item={},a.next=function(){b.post("/api/square/projects/validate/",a.item).success(function(a){a.length?e.show(f.instant("MESSAGE_EXIST_PROJECT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/square/projects/",a.item).success(function(){d.path("/square/projects/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square.projects.wizard",{url:"/wizard",templateUrl:"app/square/project/wizard/wizard.html",controller:"SquareProjectWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.square",{url:"/square",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("TagListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={tagsByPage:{name:"10",value:10}},a.tagsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Tags={checked:[]},a.check=function(b,c){c?a.Tags.checked=angular.copy(_.pluck(a.displayedTags,"id")):a.Tags.checked=[]},a.getTags=function(b){return _.map(a.displayedTags,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("tag"),b.url="/api/tags",h.getPage(b).then(function(c){a.displayedTags=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.tagsByPage,a.displayedTags.length),d.updateTableConfig(a.conf.tagsByPage,a.displayedTags.length)}),c.socket.on("tag:save",function(){console.log("save"),a.initList(b)}),c.socket.on("tag:remove",function(c){a.Tags.checked=_.without(a.Tags.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/tags/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/tags",{params:{id:a.Tags.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/tag/list/create.modal.html",controller:"TagListCreateModalCtrl"});a.result.then(function(a){b.post("/api/tags",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.list",{url:"/list",templateUrl:"app/tag/list/list.html",controller:"TagListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags",{url:"/tags",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TagViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getTag=function(){b.get("/api/tags/"+e.id).success(function(b){a.tag=b}).error(function(a){console.error(a),f.path("/tags/list")})},a.updateTag=function(){var f=angular.copy(a.tag);b.put("/api/tags/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.tag=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.tags.view",{url:"/view/:id",templateUrl:"app/tag/view/view.html",controller:"TagViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.tags.view.settings",{url:"/settings",templateUrl:"app/tag/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={teamsByPage:{name:"10",value:10}},a.teamsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.teams={checked:[]},a.check=function(b,c){c?a.teams.checked=angular.copy(_.pluck(a.displayedTeams,"id")):a.teams.checked=[]},a.getTeams=function(b){return _.map(a.displayedTeams,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("team"),b.url="/api/teams/",h.getPage(b).then(function(c){a.displayedTeams=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.teamsByPage,a.displayedTeams.length),d.updateTableConfig(a.conf.teamsByPage,a.displayedTeams.length)}),f.socket.on("team:save",function(){a.initList(b)}),f.socket.on("team:remove",function(c){a.teams.checked=_.without(a.teams.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("api/teams/"+a).success(function(){e.show(c.instant("MESSAGE_TEAM_DELETE_SUCCESS"),"success")}).error(function(){e.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/teams",{params:{id:a.teams.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.list",{url:"/list",templateUrl:"app/team/list/list.html",controller:"TeamListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams",{url:"/teams",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TeamViewCtrl",["$scope","$http","$stateParams","$translate","xAlert",function(a,b,c,d,e){a.message="Hello";var f=function(){return{select:function(c){b.post("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){
+console.error(a)})},deselect:function(c){b.put("/api/teams/"+a.team.id+"/agents",{agents:c}).error(function(a){console.error(a)})}}};a.initView=function(){b.get("/api/teams/"+c.id).success(function(b){a.team=b}).error(function(a){e.show(a.message,"danger")})},a.initAgents=function(){b.get("/api/agents").success(function(d){a.agents=d.rows,b.get("/api/user_has_teams",{params:{TeamId:c.id}}).success(function(b){ComponentsDropdowns.bindTeam(_.pluck(b,"UserId"),_.map(a.agents,function(a){return{id:a.id,name:a.name}}),f)}).error(function(a){console.error(a)})})},a.updateItem=function(){var f=angular.copy(a.team),g=angular.copy(a.team);b.put("/api/teams/"+c.id,f).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.team=g,b.errors.forEach(function(a){e.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.view",{url:"/view/:id",templateUrl:"app/team/view/view.html",controller:"TeamViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.teams.view.agents",{url:"/agents",templateUrl:"app/team/view/view.agents.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]}])}]}}).state("main.teams.view.settings",{url:"/settings",templateUrl:"app/team/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TeamWizardCtrl",["$scope","$http","$translate","$location","WizardHandler","xAlert",function(a,b,c,d,e,f){a.forms={info:void 0},a.item={},a.createItem=function(){b.post("api/teams",a.item).success(function(){f.show(c.instant("MESSAGE_TEAM_CREATE_SUCCESS"),"success"),d.path("/teams/list")}).error(function(a){a.errors.forEach(function(a){f.show(a.message,"danger")})})},a.goNext=function(){e.wizard().next()},a.formValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.teams.wizard",{url:"/wizard",templateUrl:"app/team/wizard/wizard.html",controller:"TeamWizardCtrl",authenticate:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({name:"ui.select",insertBefore:"#ng_load_plugins_before",files:["assets/plugins/ui-select/select.min.css","assets/plugins/ui-select/select.min.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("TriggerListCtrl",["$scope","$http","$translate","$rootScope","stResource","Modal","socket","xAlert",function(a,b,c,d,e,f,g,h){a.conf={TriggersByPage:{name:"10",value:10}},a.TriggersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.onText="On",a.offText="Off",a.isActive=!0,a.size="mini",a.animate=!0,a.radioOff=!0,a.handleWidth="auto",a.labelWidth="auto",a.inverse=!0,a.offColor="danger",a.onColor="success",a.Triggers={checked:[]},a.check=function(b,c){c?a.Triggers.checked=angular.copy(_.pluck(a.displayedTriggers,"id")):a.Triggers.checked=[]},a.getTriggers=function(b){return _.map(a.displayedTriggers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){g.unsyncUpdates("trigger"),b.url="/api/triggers",e.getPage(b).then(function(c){a.displayedTriggers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.TriggersByPage,a.displayedTriggers.length),d.updateTableConfig(a.conf.TriggersByPage,a.displayedTriggers.length)}),g.socket.on("trigger:save",function(){a.initList(b)}),g.socket.on("trigger:remove",function(c){a.Triggers.checked=_.without(a.Triggers.checked,c.id),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/triggers/"+a).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/triggers",{params:{id:a.Triggers.checked}}).success(function(){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(c.instant(a.message),"danger")})}),a.updateItem=function(a,d){b.put("api/triggers/"+a,{status:d}).success(function(a){h.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(c.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.list",{url:"/list",templateUrl:"app/trigger/list/list.html",controller:"TriggerListCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers",{url:"/triggers",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TriggerViewCtrl",["$scope","$stateParams","$http","$translate","xAlert","triggers",function(a,b,c,d,e,f){a.$triggers=f,a.forms={info:{}},a.fields={},a.properties=f.properties,a.initView=function(){c.get("/api/triggers/"+b.id).success(function(b){a.trigger=b,a.conditionsFilter=JSON.parse(b.conditions),a.actionsFilter=JSON.parse(b.actions),a.fields.conditions=a.$triggers.triggers[b.channel].conditions,a.fields.actions=a.$triggers.triggers[b.channel].actions}).error(function(a){e.show(a.message,"danger")})},a.getProperties=function(){g()};var g=function(){c.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){e.show(a.message,"danger")})};a.updateTrigger=function(){c.put("/api/triggers/"+a.trigger.id,{name:a.trigger.name,description:a.trigger.description,conditions:angular.toJson(a.conditionsFilter),actions:angular.toJson(a.actionsFilter)}).success(function(){e.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.view",{url:"/view/:id",templateUrl:"app/trigger/view/view.html",controller:"TriggerViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]})}]}}).state("main.triggers.view.settings",{url:"/settings",templateUrl:"app/trigger/view/view.settings.html"}).state("main.triggers.view.routes",{url:"/routes",templateUrl:"app/trigger/view/view.routes.html"}).state("main.triggers.view.application",{url:"/application",templateUrl:"app/trigger/view/view.application.html"})}]),angular.module("xCallyShuttleApp").controller("TriggerWizardCtrl",["$scope","$http","$location","xAlert","triggers","WizardHandler",function(a,b,c,d,e,f){a.$triggers=e,a.tempData={voice:{},mail:{},chat:{},fax:{}},a.item={},a.fields={},a.properties=e.properties,a.forms={general:{}};var g={group:{"boolean":"AND",rules:[],type:"CONDITION",main:!0}},h={group:{rules:[],type:"ACTION"}};a.conditionsFilter=_.clone(g,!0),a.actionsFilter=_.clone(h,!0),a.$watch("item.channel",function(b,c){c&&(a.tempData[c].conditionsFilter=_.clone(a.conditionsFilter,!0),a.tempData[c].actionsFilter=_.clone(a.actionsFilter,!0)),a.conditionsFilter=a.tempData[b].conditionsFilter?a.tempData[b].conditionsFilter:_.clone(g,!0),a.actionsFilter=a.tempData[b].actionsFilter?a.tempData[b].actionsFilter:_.clone(h,!0),a.fields.conditions=a.$triggers.triggers[b].conditions,a.fields.actions=a.$triggers.triggers[b].actions},!0),a.item.channel="voice",a.getProperties=function(){i()};var i=function(){b.get("/api/mail/templates/").success(function(b){a.mailTemplates=b.rows;var c=[];b.rows.forEach(function(a){c.push({name:a.name,value:a.id})}),a.properties.mail.template=c}).error(function(a){d.show(a.message,"danger")})};a.createItem=function(){a.item.conditions=angular.toJson(a.conditionsFilter),a.item.actions=angular.toJson(a.actionsFilter),b.post("/api/triggers",a.item).success(function(){c.path("/triggers/list")}).error(function(a){d.show(a.message,"danger")})},a.next=function(){f.wizard().next()},a.previous=function(){f.wizard().previous()},a.exitValidation=function(a){return a}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.triggers.wizard",{url:"/wizard",templateUrl:"app/trigger/wizard/wizard.html",controller:"TriggerWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("TrunkListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={trunksByPage:{name:"10",value:10},labels:["name","host","context","description"]},a.trunksByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.trunks={checked:[]},a.check=function(b,c){c?a.trunks.checked=angular.copy(_.pluck(a.displayedTrunks,"id")):a.trunks.checked=[]},a.getTrunks=function(b){return _.map(a.displayedTrunks,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("trunk"),b.url="/api/trunks",console.log(b),h.getPage(b).then(function(c){a.displayedTrunks=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.trunksByPage,a.displayedTrunks.length),d.updateTableConfig(a.conf.trunksByPage,a.displayedTrunks.length)}),f.socket.on("trunk:save",function(){a.initList(b)}),f.socket.on("trunk:remove",function(c){a.trunks.checked=_.without(a.trunks.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/trunks/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/trunks",{params:{id:a.trunks.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})}),a.$on("$destroy",function(){console.log("trunks destroy")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.list",{url:"/list",templateUrl:"app/trunk/list/list.html",controller:"TrunkListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks",{url:"/trunks",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("TrunkViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.getTrunk=function(){b.get("/api/trunks/"+e.id).success(function(b){b.nat=""===b.nat?[]:b.nat.split(","),b.allow=""===b.allow?[]:b.allow.split(";"),b.insecure=""===b.insecure?[]:b.insecure.split(","),b.transport=""===b.transport?[]:b.transport.split(","),delete b.secret,a.trunk=b}).error(function(a){console.error(a),g.path("/trunks/list")})},a.updateTrunk=function(){""===a.trunk.password&&delete a.trunk.password;var f=angular.copy(a.trunk);f.nat=f.nat.join(","),f.allow=f.allow.join(";"),f.insecure=f.insecure.join(","),f.transport=f.transport.join(","),b.put("/api/trunks/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.nat=f.nat.split(","),f.naallowt=f.allow.split(";"),f.insecure=f.insecure.split(","),f.transport=f.transport.split(","),a.trunk=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.view",{url:"/view/:id",templateUrl:"app/trunk/view/view.html",controller:"TrunkViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.trunks.view.settings",{url:"/settings",templateUrl:"app/trunk/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("TrunkWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={context:"from-voip-provider"}},a.next=function(d){d?b.post("/api/trunks/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_TRUNK"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")}):c.wizard().next()},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/trunks/",a.item).success(function(){d.path("/trunks/list")}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.trunks.wizard",{url:"/wizard",templateUrl:"app/trunk/wizard/wizard.html",controller:"TrunkWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UpdateListCheckoutCtrl",["$scope","Update","$uibModalInstance",function(a,b,c){a.modal={dismissable:!0,title:"Confirm Checkout",html:"Are you sure you want to checkout?",buttons:[{classes:"btn btn-success",text:"Checkout",click:function(){c.close()}},{classes:"btn default",text:"Cancel",click:function(){c.dismiss("cancel")}}]},a.initList=function(){b.get(function(b){a.updates=b.all})}}]),angular.module("xCallyShuttleApp").controller("UpdateListCtrl",["$scope","$uibModal","$log","$translate","Update","xAlert",function(a,b,c,d,e,f){a.conf={updatesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.updatesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.pull=function(){var a=b.open({animation:!0,templateUrl:"app/update/list/checkout/checkout.html",controller:"UpdateListCheckoutCtrl"});a.result.then(function(){e.pull(function(a){a.summary.changes?f.show(d.instant("APPLICATION_UPDATED_TO_LATEST_VERSION"),"success"):f.show(d.instant("APPLICATION_ALREADY_UP_TO_DATE"),"info")},function(a){f.show(a,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.checkout=function(a){var g=b.open({animation:!0,templateUrl:"app/update/list/checkout/checkout.html",controller:"UpdateListCheckoutCtrl",resolve:{hash:function(){return a}}});g.result.then(function(){e.checkout({controller:a.replace(/["']+/g,"")},function(){f.show(d.instant("APPLICATION_WELL_DONE"),"success")},function(a){f.show(a,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initList=function(){e.get(function(b){a.updates=b.all})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.list",{url:"/list",templateUrl:"app/update/list/list.html",controller:"UpdateListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").factory("Update",["$resource",function(a){return a("/api/updates/:id/:controller",{id:"@id"},{pull:{method:"GET",params:{id:"pull"}},checkout:{method:"GET",params:{id:"checkout"}}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates",{url:"/updates",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UpdateViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$cookieStore","socket","FileUploader","Auth",function(a,b,c,d,e,f,g,h,i){a.Auth=i,a.updatePassword=function(){var f,g;i.isAdmin()?(f="/api/updates/password/"+e.id+"/reset",g={newPassword:a.update.newPwd}):(f="/api/updates/password/",g={oldPassword:a.update.currentPwd,newPassword:a.update.newPwd}),b.put(f,g).success(function(a){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var j=a.uploader=new h({url:"api/users/"+e.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});j.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),j.onSuccessItem=function(b,e,f,g){a.update.userpic=e.userpic,a.update.id===i.getCurrentUser().id&&(i.getCurrentUser().userpic=e.userpic),c.show(d.instant("MESSAGE_WELL_DONE"),"success")},j.onErrorItem=function(a,b,e,f){c.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},j.onCompleteAll=function(){j.clearQueue()},a.initView=function(){b.get("/api/updates/"+e.id).success(function(b){a.update=b,a.update.transport=a.update.transport?a.update.transport.split(","):[],a.update.allow=a.update.allow?a.update.allow.split(";"):[]}).error(function(a){c.show(a.message,"danger")})},a.updateItem=function(){var f=angular.copy(a.update),g=angular.copy(a.update);delete f.password,delete f.md5secret,f.transport=f.transport.join(","),f.allow=f.allow.join(";"),b.put("/api/updates/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.update=g,b.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.view",{url:"/view/:id",templateUrl:"app/update/view/view.html",controller:"UpdateViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.updates.view.account",{url:"/account",templateUrl:"app/update/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UpdateWizardCtrl",["$scope","$http","xAlert","$location","WizardHandler","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"update",allow:["alaw","ulaw","gsm"],transport:["udp"],context:"from-sip"},a.next=function(){b.post("/api/updates/validate/",a.item).success(function(a){console.log(a),a.length?c.show(f.instant("MESSAGE_EXIST_INTERNAL"),"danger"):e.wizard().next()}).error(function(a){c.show(f.instant(a.message),"danger")})},a.getFirstFreeInternal=function(){b.get("/api/settings/internal").success(function(b){a.item.internal=b.value}).error(function(a){c.show(f.instant(a.message),"danger")})},a.exitValidation=function(a){return a},a.createItem=function(){a.item.transport&&(a.item.transport=a.item.transport.join(",")),a.item.allow&&(a.item.allow=a.item.allow.join(";")),b.post("/api/updates/",a.item).success(function(){d.path("/updates/list")}).error(function(a){a.errors.forEach(function(a){c.show(a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.updates.wizard",{url:"/wizard",templateUrl:"app/update/wizard/wizard.html",controller:"UpdateWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("UserListCtrl",["$scope","$http","xAlert","$rootScope","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={usersByPage:{name:"10",value:10}},a.usersByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.users={checked:[]},a.check=function(b,c){c?a.users.checked=angular.copy(_.pluck(a.displayedUsers,"id")):a.users.checked=[]},a.getUsers=function(b){return _.map(a.displayedUsers,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/users/"+a).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/users",{params:{id:a.users.checked}}).success(function(){c.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){a.errors.forEach(function(b){c.show(a.message+": "+b.message,"danger")})})}),a.initList=function(b){f.unsyncUpdates("user"),b.url="/api/users/",h.getPage(b).then(function(c){a.displayedUsers=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.usersByPage,a.displayedUsers.length),d.updateTableConfig(a.conf.usersByPage,a.displayedUsers.length)}),f.socket.on("user:save",function(){a.initList(b)}),f.socket.on("user:remove",function(c){a.users.checked=_.without(a.users.checked,c.id),a.initList(b)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.list",{url:"/list",templateUrl:"app/user/list/list.html",controller:"UserListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users",{url:"/users",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("UserViewCtrl",["$scope","$http","$stateParams","$translate","FileUploader","$cookieStore","Auth","xAlert",function(a,b,c,d,e,f,g,h){a.Auth=g,a.updatePassword=function(){var e,f;g.isAdmin()?(e="/api/users/password/"+c.id+"/reset",f={newPassword:a.user.newPwd}):(e="/api/users/password/",f={oldPassword:a.user.currentPwd,newPassword:a.user.newPwd}),b.put(e,f).success(function(a){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})};var i=a.uploader=new e({url:"api/users/"+c.id+"/avatar",queueLimit:1,withCredentials:!0,headers:{Authorization:"Bearer "+f.get("token")}});i.filters.push({name:"imageFilter",fn:function(a){var b="|"+a.type.slice(a.type.lastIndexOf("/")+1)+"|";return-1!=="|jpg|png|jpeg|".indexOf(b)}}),i.onSuccessItem=function(b,c,e,f){a.user.userpic=c.userpic,a.user.id===g.getCurrentUser().id&&(g.getCurrentUser().userpic=c.userpic),h.show(d.instant("MESSAGE_WELL_DONE"),"success")},i.onErrorItem=function(a,b,c,e){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")},i.onCompleteAll=function(){i.clearQueue()},a.initView=function(){b.get("/api/users/"+c.id).success(function(b){a.user=b,a.user.transport=a.user.transport?a.user.transport.split(","):[],a.user.allow=a.user.allow?a.user.allow.split(";"):[]}).error(function(a){a.errors.forEach(function(b){h.show(a.message+": "+b.message,"danger")})})},a.updateItem=function(){var e=angular.copy(a.user),f=angular.copy(a.user);delete e.password,delete e.md5secret,e.transport=e.transport.join(","),e.allow=e.allow.join(";"),b.put("/api/users/"+c.id,e).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(b){a.user=f,b.errors.forEach(function(a){h.show(b.message+": "+a.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.view",{url:"/view/:id",templateUrl:"app/user/view/view.html",controller:"UserViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.users.view.account",{url:"/account",templateUrl:"app/user/view/view.account.html",resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css","assets/scripts/jquery.sparkline.min.js","assets/plugins/bootstrap-fileinput/bootstrap-fileinput.js","assets/scripts/profile.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("UserWizardCtrl",["$scope","$http","$location","WizardHandler","xAlert","$translate",function(a,b,c,d,e,f){a.forms={info:void 0,voice:void 0},a.item={role:"user",host:"dynamic",context:"from-sip"},a.next=function(){d.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/users/",a.item).success(function(){e.show(f.instant("MESSAGE_WELL_DONE"),"success"),c.path("/users/list")}).error(function(a){a.errors.forEach(function(b){e.show(a.message+": "+b.message,"danger")})})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.users.wizard",{url:"/wizard",templateUrl:"app/user/wizard/wizard.html",controller:"UserWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VariableListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VariableListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={variablesByPage:{name:"10",value:10}},a.variablesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.Variables={checked:[]},a.check=function(b,c){c?a.Variables.checked=angular.copy(_.pluck(a.displayedVariables,"id")):a.Variables.checked=[]},a.getVariables=function(b){return _.map(a.displayedVariables,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("variable"),b.url="/api/variables",h.getPage(b).then(function(c){a.displayedVariables=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.variablesByPage,a.displayedVariables.length),d.updateTableConfig(a.conf.variablesByPage,a.displayedVariables.length)}),c.socket.on("variable:save",function(){a.initList(b)}),c.socket.on("variable:remove",function(c){a.Variables.checked=_.without(a.Variables.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/variables/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/variables",{params:{id:a.Variables.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/variable/list/create.modal.html",controller:"VariableListCreateModalCtrl"});a.result.then(function(a){b.post("/api/variables",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.list",{url:"/list",templateUrl:"app/variable/list/list.html",controller:"VariableListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables",{url:"/variables",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VariableViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getVariable=function(){b.get("/api/variables/"+e.id).success(function(b){a.variable=b}).error(function(a){console.error(a),f.path("/variables/list")})},a.updateVariable=function(){var f=angular.copy(a.variable);b.put("/api/variables/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.variable=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.variables.view",{url:"/view/:id",templateUrl:"app/variable/view/view.html",controller:"VariableViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.variables.view.settings",{url:"/settings",templateUrl:"app/variable/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts",{url:"/contexts",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceContextListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={contextsByPage:{name:"10",value:10}},a.contextsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voiceContexts={checked:[]},a.check=function(b,c){c?a.voiceContexts.checked=angular.copy(_.pluck(a.displayedVoiceContexts,"id")):a.voiceContexts.checked=[]},a.getVoiceContexts=function(b){return _.map(a.displayedVoiceContexts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_context"),b.url="/api/voice/contexts",h.getPage(b).then(function(c){a.displayedVoiceContexts=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.contextsByPage,a.displayedVoiceContexts.length),d.updateTableConfig(a.conf.contextsByPage,a.displayedVoiceContexts.length)}),c.socket.on("voice_context:save",function(){a.initList(b)}),c.socket.on("voice_context:remove",function(c){a.voiceContexts.checked=_.without(a.voiceContexts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/contexts/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/contexts",{params:{id:a.voiceContexts.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.list",{url:"/list",templateUrl:"app/voice/context/list/list.html",controller:"VoiceContextListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceContextViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.getContext=function(){b.get("/api/voice/contexts/"+e.id).success(function(b){a.context=b}).error(function(a){console.error(a),f.path("/voice/contexts/list")})},a.updateVoiceContext=function(){var f=angular.copy(a.context);b.put("/api/voice/contexts/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.context=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.view",{url:"/view/:id",templateUrl:"app/voice/context/view/view.html",controller:"VoiceContextViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.contexts.view.settings",{url:"/settings",templateUrl:"app/voice/context/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").controller("VoiceContextWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","$translate",function(a,b,c,d,e,f){a.forms={context:void 0},a.item={},a.next=function(){b.post("/api/voice/contexts/validate/",a.item).success(function(a){
+console.log(a),a.length?e.show(f.instant("MESSAGE_EXIST_CONTEXT"),"danger"):c.wizard().next()}).error(function(a){e.show(f.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/contexts/",a.item).success(function(){d.path("/voice/contexts/list")}).error(function(a){e.show(f.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.contexts.wizard",{url:"/wizard",templateUrl:"app/voice/context/wizard/wizard.html",controller:"VoiceContextWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceMohListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={mohsByPage:{name:"10",value:10},labels:["name","directory","sort","description"]},a.mohsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.mohs={checked:[]},a.check=function(b,c){c?a.mohs.checked=angular.copy(_.pluck(a.displayedMohs,"id")):a.mohs.checked=[]},a.getMohs=function(b){return _.map(a.displayedMohs,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_musiconhold"),b.url="/api/voice/musiconholds",h.getPage(b).then(function(c){a.displayedMohs=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.mohsByPage,a.displayedMohs.length),d.updateTableConfig(a.conf.mohsByPage,a.displayedMohs.length)}),f.socket.on("voice_musiconhold:save",function(){a.initList(b)}),f.socket.on("voice_musiconhold:remove",function(c){a.mohs.checked=_.without(a.mohs.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/musiconholds/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/musiconholds",{params:{id:a.mohs.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.list",{url:"/list",templateUrl:"app/voice/moh/list/list.html",controller:"VoiceMohListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs",{url:"/mohs",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceMohViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","Modal","$sce","$location",function(a,b,c,d,e,f,g,h,i){a.$translate=d,a.audioSources={},a.sortOptions=[{value:"random",name:"APPLICATION_RANDOM"},{value:"alpha",name:"APPLICATION_ALPHABETICAL"}],a.getMoh=function(){b.get("/api/voice/musiconholds/"+e.id).success(function(b){delete b.stamp,a.moh=b}).error(function(a){console.error(a),i.path("/voice/mohs/list")})},a.updateVoiceMoh=function(){console.log("update");var f=angular.copy(a.moh);b.put("/api/voice/musiconholds/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voiceMoh=f})},a.addMohs=function(){b.post("/api/voice/musiconholds/"+e.id+"/files",a.item).success(function(){i.path("voice/mohs/view/"+e.id+"/audios")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getAudioFiles=function(){b.get("/api/voice/musiconholds/"+e.id+"/files").success(function(b){a.audioFiles=b.files,a.mohPath=b.path,a.audioFiles.forEach(function(a){j(a)})}).error(function(a){console.error(a)})},a.getSecureSrc=function(a){return h.trustAsResourceUrl(a)};var j=function(c){b.get("/api/voice/musiconholds/stream",{params:{path:encodeURI(a.mohPath+"/"+c)}}).success(function(b){a.audioSources[c]="data:audio/ogg;base64,"+b}).error(function(a){console.error(a)})};a.getSounds=function(){a.item={sounds:[]},b.get("/api/uploads").success(function(b){a.soundList=b}).error(function(a){console.error(a)})},a.deleteItem=g.confirm["delete"](function(f){b["delete"]("/api/voice/musiconholds/"+e.id+"/files",{params:{filename:f}}).success(function(){_.remove(a.audioFiles,function(a){return a===f}),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(a.message,"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.view",{url:"/view/:id",templateUrl:"app/voice/moh/view/view.html",controller:"VoiceMohViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.mohs.view.settings",{url:"/settings",templateUrl:"app/voice/moh/view/view.settings.html"}).state("main.voice.mohs.view.audios",{url:"/audios",templateUrl:"app/voice/moh/view/view.audios.html",cache:!1}).state("main.voice.mohs.view.add",{url:"/add",templateUrl:"app/voice/moh/view/view.addFiles.html",cache:!1})}]),angular.module("xCallyShuttleApp").controller("VoiceMohWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.$translate=g,a.initWizard=function(){a.forms={},a.item={sort:"alpha"}},a.next=function(){b.post("/api/voice/musiconholds/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_MOH"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/musiconholds/",a.item).success(function(a){d.path("/voice/mohs/view/"+a.id+"/audios")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.mohs.wizard",{url:"/wizard",templateUrl:"app/voice/moh/wizard/wizard.html",controller:"VoiceMohWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueListCtrl",["$scope","$http","socket","$translate","$rootScope","Modal","xAlert","stResource",function(a,b,c,d,e,f,g,h){a.conf={voiceQueuesByPage:{name:"10",value:10},labels:["name","description","strategy","context"]},a.voiceQueuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.queues={checked:[]},a.check=function(b,c){c?a.queues.checked=angular.copy(_.pluck(a.displayedQueues,"name")):a.queues.checked=[]},a.getQueues=function(b){return _.map(a.displayedQueues,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_queue"),b.url="/api/voice/queues",h.getPage(b).then(function(c){a.displayedQueues=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.voiceQueuesByPage,a.displayedQueues.length),e.updateTableConfig(a.conf.voiceQueuesByPage,a.displayedQueues.length)}),c.socket.on("voice_queue:save",function(){a.initList(b)}),c.socket.on("voice_queue:remove",function(c){console.log("remove"),a.queues.checked=_.without(a.queues.checked,c.name),a.initList(b)})},a.deleteItem=f.confirm["delete"](function(a){b["delete"]("/api/voice/queues/"+a).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(a.message,"danger")})}),a.deleteItems=f.confirm["delete"](function(){b["delete"]("/api/voice/queues",{params:{name:a.queues.checked}}).success(function(){g.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){g.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.list",{url:"/list",templateUrl:"app/voice/queue/list/list.html",controller:"VoiceQueueListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues",{url:"/queues",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location",function(a,b,c,d,e,f,g){a.binaryChoices=[{name:"Yes",value:1},{name:"No",value:0}],a.monitorFormats=[{name:"wav",value:"wav"},{name:"gsm",value:"gsm"},{name:"Inactive",value:""}],a.queueAnnounces=[{display_name:"Default",value:null},{display_name:"Disabled",value:""}];var h=function(){return{select:function(c){b.post("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})},deselect:function(c){b.put("/api/voice/queues/"+a.queue.name+"/agents",{agents:c}).success(function(){a.getTeams()}).error(function(a){console.error(a)})}}};a.getQueue=function(){b.get("/api/voice/queues/"+e.id).success(function(b){b.joinempty=""===b.joinempty?[]:b.joinempty.split(","),b.leavewhenempty=""===b.leavewhenempty?[]:b.leavewhenempty.split(","),b.periodic_announce=""===b.periodic_announce?[]:b.periodic_announce.split(","),a.queue=b}).error(function(a){g.path("/voice/queues/list")})},a.updateVoiceQueue=function(){var f=angular.copy(a.queue);f.joinempty=f.joinempty.join(","),f.leavewhenempty=f.leavewhenempty.join(","),f.periodic_announce=f.periodic_announce.join(","),f.context||(f.context=null),b.put("/api/voice/queues/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),f.joinempty=f.joinempty.split(","),f.leavewhenempty=f.leavewhenempty.split(","),f.periodic_announce=f.periodic_announce.split(","),a.queue=f})},a.getTeams=function(){b.get("/api/teams").success(function(c){a.teams=c.rows,b({url:"/api/voice/user_has_queues",method:"GET",params:{queue:a.queue.name}}).success(function(b){ComponentsDropdowns.bindQueue(a.teams,_.pluck(b,"UserId"),h)})}).error(function(a){console.error(a)})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getMohs=function(){b.get("/api/voice/musiconholds").success(function(b){a.voiceMohs=b.rows,f.syncUpdates("voice_musiconhold",a.voiceMohs)}).error(function(a){c.show(a.message,"danger")})},a.getSounds=function(){b.get("/api/uploads").success(function(b){a.queueAnnounces=a.queueAnnounces.concat(b),a.periodicAnnounces=angular.copy(b),b.unshift({display_name:"None",converted_path:null,value:""}),a.sounds=b,f.syncUpdates("upload",a.sounds)}).error(function(a){console.error(a)})},a.returnAnnouncePath=function(a){return console.log("func"),a.converted_path?a.converted_path+"/"+a.save_name:null===a.value?null:a.value}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.view",{url:"/view/:id",templateUrl:"app/voice/queue/view/view.html",controller:"VoiceQueueViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.queues.view.settings",{url:"/settings",templateUrl:"app/voice/queue/view/view.settings.html"}).state("main.voice.queues.view.agents",{url:"/agents",templateUrl:"app/voice/queue/view/view.agents.html",cache:!1,serie:!0,resolve:{deps:["$ocLazyLoad",function(a){return a.load({insertBefore:"#ng_load_plugins_before",files:["assets/plugins/jquery-multi-select/css/multi-select.css","assets/plugins/jquery-multi-select/js/jquery.multi-select.js","assets/scripts/components-dropdowns.js"]})}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceQueueWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={queue:void 0},a.item={},a.next=function(){b.post("/api/voice/queues/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_QUEUE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/queues/",a.item).success(function(){d.path("/voice/queues/list")}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.queues.wizard",{url:"/wizard",templateUrl:"app/voice/queue/wizard/wizard.html",controller:"VoiceQueueWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime",{url:"/realtime",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/pause.modal.html",controller:"VoiceRealtimeViewAgentPauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/agent/queue.modal.add.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log(a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/agent/queue.modal.remove.html",controller:"VoiceRealtimeViewAgentQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initAgents=function(){b.get("/api/voice/user_has_queues").success(function(b){a.agents=b,a.groups=_.map(_.groupBy(a.agents,"membername"),function(a,b){return{membername:b,queues:a}}),f.socket.on("user_has_voice_queue:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{membername:b.membername});_.remove(c.queues,{queue:b.queue}),c.queues.length||_.remove(a.groups,{membername:b.membername})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{membername:b.membername}),d=a.groups.indexOf(c);if(c){var e=_.find(c.queues,{queue:b.queue});e?_.merge(e,b):a.groups[d].queues.push(b)}else{var f={membername:b.membername,queues:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentPauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c){var e={action:"QueuePause","interface":a.selected["interface"],paused:c,reason:a.selected.item};_.isArray(d)||(e.queue=a.selected.queue),b.close(e)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],penalty:0,paused:!1,reason:a.pauses[0],UserId:a.data[0].UserId},c.get("/api/voice/queues",{params:{page:0,per_page:100}}).success(function(b){a.queues=_.reject(b.rows,function(b){return _.find(a.data,{queue:b.name})?!0:!1}),a.selected.queue=a.queues[0]?a.queues[0].name:null,console.log(a.queues)}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,_.isArray(e)?a.selected={membername:a.data[0].membername,"interface":a.data[0]["interface"],logout:!1,UserId:a.data[0].UserId}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){console.log(a.selected);var c={action:"QueueAdd",logged:a.data[0].logged,loggedAt:a.data[0].loggedAt,queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewAgentReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_agent")}),a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.agents=[],b.get("/api/report/agents").success(function(b){a.agents=b,c.syncUpdates("report_agent",a.agents)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewAgentReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueReportCtrl",["$scope","$http","socket",function(a,b,c){a.$on("$destroy",function(){c.unsyncUpdates("report_queue")}),a.conf={queuesByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.queuesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.initReport=function(){a.queues=[],b.get("/api/report/queues").success(function(b){console.log(b),a.queues=b,c.syncUpdates("report_queue",a.queues)}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").filter("VoiceRealtimeViewQueueReportFilter",function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueuePauseModalCtrl",["$scope","$uibModalInstance","items","data",function(a,b,c,d){a.items=c,a.data=d,console.log(d),a.selected={item:a.items[0],queue:_.isArray(d)?a.data[0].queue:a.data.queue,membername:_.isArray(d)?a.data[0].membername:a.data.membername,"interface":_.isArray(d)?a.data[0]["interface"]:a.data["interface"]},a.ok=function(c,e){var f;_.isArray(d)?(f=[],d.forEach(function(b){f.push({action:"QueuePause",queue:b.queue,membername:b.membername,"interface":b["interface"],paused:c,reason:a.selected.item})})):f={action:"QueuePause",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],paused:c,reason:a.selected.item},b.close(f)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueCtrl",["$scope","$http","$log","$uibModal","$translate","socket","xAlert",function(a,b,c,d,e,f,g){a.conf={agentsByPage:{name:"10",value:10},labels:["fullname","name","email"]},a.agentsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.$on("$destroy",function(){f.unsyncUpdates("user_has_voice_queue")}),a.groups=[],a.pauses=["pausa1","pausa2","pausa3"],a.pause=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/pause.modal.html",controller:"VoiceRealtimeViewQueuePauseModalCtrl",resolve:{items:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(a){console.log(a),g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){console.log(a),g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.add=function(f,h){var i=d.open({animation:!0,size:f,templateUrl:"app/voice/realtime/view/queue/queue.modal.add.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return a.pauses},data:function(){return h}}});i.result.then(function(a){console.log("action",a),b.post("/api/voice/user_has_queues",a).then(function(){a.login?b.post("/api/ami",a).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.message,"danger")}),console.log(a)},function(){c.info("Modal dismissed at: "+new Date)})},a.remove=function(a,f){var h=d.open({animation:!0,size:a,templateUrl:"app/voice/realtime/view/queue/queue.modal.remove.html",controller:"VoiceRealtimeViewQueueQueueModalCtrl",resolve:{pauses:function(){return null},data:function(){return f}}});h.result.then(function(a){_.isArray(a)?a.forEach(function(a){b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})}):b.post("/api/ami",a).then(function(){a.logout?b.put("/api/voice/queues/"+a.queue+"/agents",{agents:[a.UserId]}).then(function(){g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")}):g.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){g.show(a.data.message,"danger")})},function(){c.info("Modal dismissed at: "+new Date)})},a.initQueues=function(){b.get("/api/voice/user_has_queues").success(function(b){a.queues=b,a.groups=_.map(_.groupBy(a.queues,"queue"),function(a,b){return{queue:b,agents:a}}),console.log("ok"),f.socket.on("user_has_voice_queue:save",function(b){console.log("item",b);var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}}),f.socket.on("user_has_voice_queue:remove",function(b){var c=_.find(a.groups,{queue:b.queue});_.remove(c.agents,{membername:b.membername}),c.agents.length||_.remove(a.groups,{queue:b.queue})}),f.socket.on("report_agent:save",function(b){var c=_.find(a.groups,{queue:b.queue}),d=a.groups.indexOf(c);if(c){var e=_.find(c.agents,{membername:b.membername});e?_.merge(e,b):a.groups[d].agents.push(b)}else{var f={queue:b.queue,agents:[b]};a.groups.unshift(f)}})}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewQueueQueueModalCtrl",["$scope","$uibModalInstance","$http","pauses","data",function(a,b,c,d,e){a.initAdd=function(){a.data=e,a.pauses=d,a.selected={penalty:0,paused:!1,reason:a.pauses[0]},a.$watch("selected.agent",function(b){b&&(a.selected.membername=b.name,a.selected["interface"]="SIP/"+b.name,a.selected.UserId=b.id)}),c.get("/api/agents",{params:{page:0,per_page:500}}).success(function(b){a.agents=_.reject(b.rows,function(b){return _.find(a.data,{membername:b.name})?!0:!1}),a.selected.queue=a.data[0]?a.data[0].queue:null}).error(function(a){console.error(a)})},a.initRemove=function(){a.data=e,console.log(e),_.isArray(e)?a.selected={queue:a.data[0].queue,logout:!1}:a.selected={membername:a.data.membername,"interface":a.data["interface"],queue:a.data.queue,logout:!1,UserId:a.data.UserId}},a.okAdd=function(){var c={action:"QueueAdd",queue:a.selected.queue,membername:a.selected.membername,"interface":a.selected["interface"],penalty:a.selected.penalty,paused:a.selected.paused,UserId:a.selected.UserId};c.paused&&(c.reason=a.selected.reason),b.close(c)},a.okRemove=function(){var c;_.isArray(a.data)?(c=[],a.data.forEach(function(b){c.push({action:"QueueRemove",queue:b.queue,"interface":b["interface"],logout:a.selected.logout,UserId:b.UserId})})):c={action:"QueueRemove",queue:a.selected.queue,logout:a.selected.logout,"interface":a.selected["interface"],UserId:a.selected.UserId},b.close(c)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("VoiceRealtimeViewCtrl",["$scope",function(a){a.agents=[{name:"View1",link:"main.voice.realtime.view.agents"},{name:"View2",link:"main.voice.realtime.view.areports"}],a.queues=[{name:"View1",link:"main.voice.realtime.view.queues"},{name:"View2",link:"main.voice.realtime.view.qreports"}]}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.realtime.view",{url:"/view",templateUrl:"app/voice/realtime/view/view.html",controller:"VoiceRealtimeViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.realtime.view.queues",{url:"/queues",controller:"VoiceRealtimeViewQueueCtrl",templateUrl:"app/voice/realtime/view/queue/queue.html"}).state("main.voice.realtime.view.qreports",{url:"/qreport/:search",controller:"VoiceRealtimeViewQueueReportCtrl",templateUrl:"app/voice/realtime/view/qreport/report.html"}).state("main.voice.realtime.view.agents",{url:"/agents",controller:"VoiceRealtimeViewAgentCtrl",templateUrl:"app/voice/realtime/view/agent/agent.html"}).state("main.voice.realtime.view.areports",{url:"/areport",controller:"VoiceRealtimeViewAgentReportCtrl",templateUrl:"app/voice/realtime/view/areport/report.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound",{url:"/inbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/inbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"inbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"inbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.list",{url:"/list",templateUrl:"app/voice/route/inbound/list/list.html",controller:"VoiceRouteInboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"inbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"inbound",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){
+b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){f.path("/voice/routes/inbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.$application.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"*,*,*,*"===b.interval?"always":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/inbound/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/inbound/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.view",{url:"/view/:id",templateUrl:"app/voice/route/inbound/view/view.html",controller:"VoiceRouteInboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.inbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/inbound/view/view.settings.html"}).state("main.voice.routes.inbound.view.applications",{url:"/applications",templateUrl:"app/voice/route/inbound/view/view.applications.html",cache:!1}).state("main.voice.routes.inbound.view.application",{url:"/application",templateUrl:"app/voice/route/inbound/view/view.application.html",authenticate:!0}).state("main.voice.routes.inbound.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/inbound/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"inbound",appdata:"Inbound Call",context:"from-voip-provider"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/inbound/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.inbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/inbound/wizard/wizard.html",controller:"VoiceRouteInboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal",{url:"/internal",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalListCtrl",["$scope","$http","socket","$translate","$rootScope","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/internal",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,e.updateTableConfig(a.routesByPage,a.displayedRoutes.length),e.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"internal"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"internal"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(d.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.list",{url:"/list",templateUrl:"app/voice/route/internal/list/list.html",controller:"VoiceRouteInternalListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalViewCtrl",["$scope","$http","$translate","$stateParams","socket","$location","WizardHandler","Modal","xAlert","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=c,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={settings:void 0,interval:void 0},a.application={VoiceExtensionId:d.id,type:"internal"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""}},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var e,f;switch(d.appId||(a.application={VoiceExtensionId:d.id,type:"internal",interval:a.application.interval}),c){case"Queue":e="api/voice/queues",f="/api/uploads";break;case"Playback":e="/api/uploads";break;case"AGI":e="/api/square/projects";break;case"Goto":e="/api/voice/contexts";break;default:e=null,f=null}e&&b.get(e).success(function(b){a.items="Playback"!==c?b.rows:b}),f&&b.get(f).success(function(b){a.items2=b})}},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,e.syncUpdates("interval",a.Intervals)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+d.id+"/applications").success(function(b){a.routeApplications=b,e.unsyncUpdates("voice_extension"),e.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),e.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===d.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+d.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(b){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+d.id).success(function(b){a.route=b,e.socket.on("voice_extension:update",function(b){b.id==d.id&&(a.route=b)})}).error(function(a){console.error(a),f.path("/voice/routes/internal/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+d.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),"Queue"===b.app&&(a.application.app_options=b.app_options?b.app_options.split(","):[]),a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){f.path("/voice/routes/internal/view/"+d.id+"/applications")})},a.updateRoute=function(){var e=angular.copy(a.route);b.put("/api/voice/extensions/"+d.id,e).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){i.show(c.instant(b.message),"danger"),a.route=e})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,e.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){i.show(c.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.updateItem=function(){switch(a.application.app_options&&"Queue"===a.application.app&&(a.application.app_options=a.application.app_options.join(",")),a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+d.appId,a.application).success(function(){i.show(c.instant("MESSAGE_WELL_DONE")+"!","success"),f.path("/voice/routes/internal/view/"+d.id+"/applications")}).error(function(a){i.show(c.instant(a.message),"danger")})},a.deleteItem=h.confirm["delete"](function(d){b["delete"]("/api/voice/extensions/"+d).success(function(b){a.getRouteApplications(),i.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){i.show(c.instant(a.message),"danger")})}),a.goNext=function(){g.wizard().next()},a.previous=function(){g.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){e.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.view",{url:"/view/:id",templateUrl:"app/voice/route/internal/view/view.html",controller:"VoiceRouteInternalViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.internal.view.settings",{url:"/settings",templateUrl:"app/voice/route/internal/view/view.settings.html"}).state("main.voice.routes.internal.view.applications",{url:"/applications",templateUrl:"app/voice/route/internal/view/view.applications.html",cache:!1}).state("main.voice.routes.internal.view.application",{url:"/application",templateUrl:"app/voice/route/internal/view/view.application.html",authenticate:!0}).state("main.voice.routes.internal.view.applications.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/internal/view/view.applicationSettings.html",authenticate:!0,controller:"VoiceRouteInternalViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteInternalWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"internal",appdata:"Iternal Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/internal/view/"+a.id+"/applications")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.internal.wizard",{url:"/wizard",templateUrl:"app/voice/route/internal/wizard/wizard.html",controller:"VoiceRouteInternalWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={routesByPage:{name:"10",value:10}},a.routesByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.routes={checked:[]},a.check=function(b){b?a.routes.checked=angular.copy(_.pluck(a.displayedRoutes,"id")):a.routes.checked=[]},a.getRoutes=function(b){return _.map(a.displayedRoutes,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){c.unsyncUpdates("voice_extension"),b.url="/api/voice/extensions/route/outbound",h.getPage(b).then(function(c){a.displayedRoutes=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.routesByPage,a.displayedRoutes.length),d.updateTableConfig(a.conf.routesByPage,a.displayedRoutes.length)}),c.socket.on("voice_extension:save",function(c){"outbound"===c.type&&a.initList(b)}),c.socket.on("voice_extension:remove",function(c){"outbound"===c.type&&(a.routes.checked=_.without(a.routes.checked,c.id),a.initList(b))})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/extensions/"+a).success(function(){f(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/extensions/",{params:{id:a.routes.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(e.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.list",{url:"/list",templateUrl:"app/voice/route/outbound/list/list.html",controller:"VoiceRouteOutboundListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound",{url:"/outbound",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$location","WizardHandler","Modal","application","interval",function(a,b,c,d,e,f,g,h,i,j,k){a.$translate=d,a.$application=j.application,a.$interval=k.interval,a.initApplication=function(){a.forms={info:void 0,interval:void 0},a.application={VoiceExtensionId:e.id,type:"outbound"},a.interval={intType:"always",t_from:moment(new Date),t_to:moment(new Date),wd_from:"always",wd_to:"always",md_from:"always",md_to:"always",m_from:"always",m_to:"always",alwaysTime:!0},a.main={app:""},a.applications=[{name:"Dial",value:"Dial"},{name:"Custom",value:"custom"}]},a.joinInterval=function(a){console.log(a);var b,c,d,e;return b=a.t_from&&a.t_to&&!a.alwaysTime?moment(a.t_from).format("HH:mm")+"-"+moment(a.t_to).format("HH:mm"):"*",a.wd_from&&"always"!==a.wd_from?(c=a.wd_from.toLowerCase(),a.wd_to&&"always"!==a.wd_to&&(c+="-"+a.wd_to.toLowerCase())):c="*",a.md_from&&"always"!==a.md_from?(d=a.md_from,a.md_to&&"always"!==a.md_to&&(d+="-"+a.md_to)):d="*",a.m_from&&"always"!==a.m_from?(e=a.m_from.toLowerCase(),a.m_to&&"always"!==a.m_to&&(e+="-"+a.m_to.toLowerCase())):e="*",b+","+c+","+d+","+e},a.$watch("main.app",function(c){if(c){var d,f;switch(e.appId||(a.application={VoiceExtensionId:e.id,type:"outbound",interval:a.application.interval}),c){case"Dial":d="api/trunks",f="/api/voice/contexts";break;default:d=null,f=null}d&&b.get(d).success(function(b){a.items="Dial"===c?b.rows:b}),f&&b.get(f).success(function(b){a.items2="Dial"===c?b.rows:b})}},!0),a.$watch("application.TrunkId",function(b){b&&(a.application.trunk=_.result(_.find(a.items,{id:b}),"name"))},!0),a.getIntervals=function(){b.get("/api/intervals").success(function(b){a.Intervals=b.rows,f.syncUpdates("interval",a.Intervals)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.getRouteApplications=function(){b.get("/api/voice/extensions/"+e.id+"/applications").success(function(b){a.routeApplications=b,f.unsyncUpdates("voice_extension"),f.socket.on("voice_extension:remove",function(b){b.where.appGroup&&_.remove(a.routeApplications,function(a){return b.where.appGroup==a.appGroup})}),f.socket.on("voice_extension:save",function(b){if(b.VoiceExtensionId===e.id&&b.isApp){var c=_.find(a.routeApplications,{id:b.id});c||a.routeApplications.push(b)}})})},a.sortableOptions={stop:function(){b.post("api/voice/extensions/"+e.id+"/applications",{applications:_.pluck(a.routeApplications,"appGroup")}).success(function(){a.getRouteApplications()}).error(function(a){console.error(a)})},"ui-floating":!0},a.getRoute=function(){b.get("/api/voice/extensions/"+e.id).success(function(b){a.route=b,f.socket.on("voice_extension:update",function(b){b.id==e.id&&(a.route=b)})}).error(function(a){g.path("/voice/routes/outbound/list")})},a.getApplication=function(){b.get("/api/voice/extensions/applications/"+e.appId).success(function(b){var c=_.filter(a.applications,function(a){return a.value===b.app});if(c.length>0&&!b.customApp?a.main.app=b.app:a.main.app="custom",a.application=b,a.interval.intType=b.IntervalId?"list":"custom",a.interval.IntervalId=b.IntervalId,!b.IntervalId){var d,e=b.interval?b.interval.split(","):["*","*","*","*"];e.forEach(function(b,c){switch(c){case 0:"*"!==b?(d=b.split("-"),a.interval.t_from=moment(d[0],"HH:mm"),a.interval.t_to=moment(d[1],"HH:mm"),a.interval.alwaysTime=!1):(a.interval.t_from=moment(new Date),a.interval.t_to=moment(new Date),a.interval.alwaysTime=!0);break;case 1:"*"!==b?(d=b.split("-"),a.interval.wd_from=_.capitalize(d[0]),a.interval.wd_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.wd_from="always",a.interval.wd_to="always");break;case 2:"*"!==b?(d=b.split("-"),a.interval.md_from=d[0],a.interval.md_to=d[1]?d[1]:"always"):(a.interval.md_from="always",a.interval.md_to="always");break;case 3:"*"!==b?(d=b.split("-"),a.interval.m_from=_.capitalize(d[0]),a.interval.m_to=d[1]?_.capitalize(d[1]):"always"):(a.interval.m_from="always",a.interval.m_to="always")}})}}).error(function(a){console.error(a),g.path("/voice/routes/outbound/view/"+e.id+"/routes")})},a.updateRoute=function(){var f=angular.copy(a.route);b.put("/api/voice/extensions/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.route=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(d.instant(a.message),"danger")})},a.createItem=function(){switch(a.application.app=a.main.app,a.application.exten=a.route.exten,a.application.context=a.route.context,a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.post("/api/voice/extensions/",a.application).success(function(){g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.updateItem=function(){switch(a.interval.intType){case"list":a.application.IntervalId=a.interval.IntervalId,a.application.interval=_.result(_.find(a.Intervals,{id:a.interval.IntervalId}),"name");break;case"custom":a.application.IntervalId=null,a.application.interval=a.joinInterval(a.interval);break;case"always":a.application.IntervalId=null,a.application.interval="*,*,*,*"}b.put("/api/voice/extensions/applications/"+e.appId,a.application).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success"),g.path("/voice/routes/outbound/view/"+e.id+"/routes")}).error(function(a){c.show(d.instant(a.message),"danger")})},a.deleteItem=i.confirm["delete"](function(e){b["delete"]("/api/voice/extensions/"+e).success(function(b){a.getRouteApplications(),c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){c.show(d.instant(a.message),"danger")})}),a.goNext=function(){h.wizard().next()},a.previous=function(){h.wizard().previous()},a.formValidation=function(a){return a},a.$on("destroy",function(){f.unsyncUpdates("voice_extension")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.view",{url:"/view/:id",templateUrl:"app/voice/route/outbound/view/view.html",controller:"VoiceRouteOutboundViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.routes.outbound.view.settings",{url:"/settings",templateUrl:"app/voice/route/outbound/view/view.settings.html"}).state("main.voice.routes.outbound.view.routes",{url:"/routes",templateUrl:"app/voice/route/outbound/view/view.routes.html",cache:!1}).state("main.voice.routes.outbound.view.route",{url:"/route",templateUrl:"app/voice/route/outbound/view/view.route.html",authenticate:!0}).state("main.voice.routes.outbound.view.routes.settings",{url:"/settings/:appId",templateUrl:"app/voice/route/outbound/view/view.routeSettings.html",authenticate:!0,controller:"VoiceRouteOutboundViewCtrl"})}]),angular.module("xCallyShuttleApp").controller("VoiceRouteOutboundWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.forms={route:void 0},a.item={type:"outbound",appdata:"Outbound Call",context:"from-sip"},a.next=function(){b.post("/api/voice/extensions/validate/",a.item).success(function(a){console.log(a),a.length?e.show(g.instant("MESSAGE_EXIST_ROUTE"),"danger"):c.wizard().next()}).error(function(a){e.show(g.instant(a.message),"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("/api/voice/extensions/",a.item).success(function(a){d.path("/voice/routes/outbound/view/"+a.id+"/routes")}).error(function(a){e.show(g.instant(a.message),"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(g.instant(a.message),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes.outbound.wizard",{url:"/wizard",templateUrl:"app/voice/route/outbound/wizard/wizard.html",controller:"VoiceRouteOutboundWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.routes",{url:"/routes",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice",{url:"/voice",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailListCtrl",["$scope","$http","$translate","$rootScope","xAlert","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={voicemailsByPage:{name:"10",value:10},labels:["mailbox","fullname","email"]},a.voicemailsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.voicemails={checked:[]},a.check=function(b,c){c?a.voicemails.checked=angular.copy(_.pluck(a.displayedVoicemails,"uniqueid")):a.voicemails.checked=[]},a.getVoicemails=function(b){return _.map(a.displayedVoicemails,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("voice_voicemail"),b.url="/api/voice/voicemails",h.getPage(b).then(function(c){a.displayedVoicemails=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.voicemailsByPage,a.displayedVoicemails.length),d.updateTableConfig(a.conf.voicemailsByPage,a.displayedVoicemails.length)}),f.socket.on("voice_voicemail:save",function(){a.initList(b)}),f.socket.on("voice_voicemail:remove",function(c){a.voicemails.checked=_.without(a.voicemails.checked,c.uniqueid),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/"+a).success(function(){e.show(c.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){e.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/voice/voicemails",{params:{uniqueid:a.voicemails.checked}}).success(function(){e.show(c.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){e.show(c.instant(a.message),"danger")})})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.list",{url:"/list",templateUrl:"app/voice/voicemail/list/list.html",controller:"VoiceVoicemailListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","socket","$sce","Modal","$location",function(a,b,c,d,e,f,g,h,i){a.getVoicemail=function(){b.get("/api/voice/voicemails/"+e.uniqueid).success(function(b){delete b.password,delete b.stamp,a.voicemail=b}).error(function(a){console.error(a),i.path("/voice/voicemails/list")})},a.updateVoiceVoicemail=function(){var f=angular.copy(a.voicemail);b.put("/api/voice/voicemails/"+e.uniqueid,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.voicemail=f})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){c.show(a.message,"danger")})},a.getMessages=function(){b.get("/api/voice/voicemails/"+e.uniqueid+"/messages/").success(function(b){
+a.voicemailMessages=b,f.syncUpdates("voice_voicemail_messages",a.voicemailMessages)}).error(function(a){c.show(a.message,"danger")})},a.encodeRecording=function(a){return g.trustAsResourceUrl("data:audio/ogg;base64,"+j(a.data))},a.returnMessageDate=function(a){return a.split("T")[0]},a.returnDuration=function(a){return 1e3*a},a.deleteItem=h.confirm["delete"](function(a){b["delete"]("/api/voice/voicemails/messages/"+a+"/delete").success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){console.log(a),c.show(a.message,"danger")})});var j=function(a){for(var b=new Uint8Array(a),c=b.byteLength,d="",e=0;c>e;e++)d+=String.fromCharCode(b[e]);return window.btoa(d)}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.view",{url:"/view/:uniqueid",templateUrl:"app/voice/voicemail/view/view.html",controller:"VoiceVoicemailViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.voice.voicemails.view.settings",{url:"/settings",templateUrl:"app/voice/voicemail/view/view.settings.html"}).state("main.voice.voicemails.view.messages",{url:"/messages",templateUrl:"app/voice/voicemail/view/view.messages.html"})}]),angular.module("xCallyShuttleApp").controller("VoicemailCtrl",["$scope",function(a){a.message="Hello"}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails",{url:"/voicemails",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("VoiceVoicemailWizardCtrl",["$scope","$http","WizardHandler","$location","xAlert","socket","$translate",function(a,b,c,d,e,f,g){a.initWizard=function(){a.forms={},a.item={}},a.next=function(){b.post("/api/voice/voicemails/validate/",a.item).success(function(a){a.length?e.show(g.instant("MESSAGE_EXIST_MAILBOX"),"danger"):c.wizard().next()}).error(function(a){e.show(a.message,"danger")})},a.previous=function(){c.wizard().previous()},a.exitValidation=function(a){return a},a.createItem=function(){a.item.customer_id=a.item.mailbox,b.post("/api/voice/voicemails/",a.item).success(function(){d.path("/voice/voicemails/list")}).error(function(a){e.show(a.message,"danger")})},a.getContexts=function(){b.get("/api/voice/contexts").success(function(b){a.voiceContexts=b.rows,f.syncUpdates("voice_context",a.voiceContexts)}).error(function(a){e.show(a.message,"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.voice.voicemails.wizard",{url:"/wizard",templateUrl:"app/voice/voicemail/wizard/wizard.html",controller:"VoiceVoicemailWizardCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCreateModalCtrl",["$scope","$uibModalInstance",function(a,b){a.forms={dashboard:void 0},a.item={},a.ok=function(){a.item.model=JSON.stringify({title:a.item.name}),b.close(a.item)},a.cancel=function(){b.dismiss("cancel")}}]),angular.module("xCallyShuttleApp").controller("YourdashboardListCtrl",["$scope","$http","socket","$rootScope","$translate","xAlert","Modal","stResource","$uibModal","$log",function(a,b,c,d,e,f,g,h,i,j){a.conf={dashboardsByPage:{name:"10",value:10}},a.dashboardsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.dashboards={checked:[]},a.check=function(b,c){c?a.dashboards.checked=angular.copy(_.pluck(a.displayedDashboards,"id")):a.dashboards.checked=[]},a.getDashboards=function(b){return _.map(a.displayedDashboards,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){b.url="/api/dashboards",h.getPage(b).then(function(c){a.displayedDashboards=c.rows,b.pagination.numberOfPages=c.total_pages,d.updateTableConfig(a.dashboardsByPage,a.displayedDashboards.length),d.updateTableConfig(a.conf.dashboardsByPage,a.displayedDashboards.length)}),c.socket.on("dashboard:save",function(){a.initList(b)}),c.socket.on("dashboard:remove",function(c){a.dashboards.checked=_.without(a.dashboards.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/dashboards/"+a).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/dashboards",{params:{id:a.dashboards.checked}}).success(function(){f.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){f.show(a.message,"danger")})}),a.create=function(){var a=i.open({animation:!0,templateUrl:"app/yourdashboard/list/create.modal.html",controller:"YourdashboardListCreateModalCtrl"});a.result.then(function(a){b.post("/api/dashboards",a).then(function(a){f.show(e.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){f.show(a.data.message,"danger")})},function(){j.info("Modal dismissed at: "+new Date)})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.list",{url:"/list",templateUrl:"app/yourdashboard/list/list.html",controller:"YourdashboardListCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardShowCtrl",["$scope","localStorageService","$http","xAlert","$translate","Auth","$stateParams","$location",function(a,b,c,d,e,f,g,h){a.Auth=f,a.dashboard={name:"dashboard",structure:"4-8",enableconfirmdelete:!0,editable:f.isAdmin()?!0:!1,maximizable:!0,collapsible:!0},a.getDashboard=function(){c.get("/api/dashboards/"+g.id).success(function(b){b.model=JSON.parse(b.model),a.dashboard=_.merge(a.dashboard,b)}).error(function(a){h.path("/yourdashboards/list")})};var i=function(b,f,h){var i=angular.copy(a.dashboard);i.name=a.dashboard.model.title,i.model=JSON.stringify(i.model),c.put("/api/dashboards/"+g.id,i).success(function(){d.show(e.instant("MESSAGE_DASHBOARD_SAVED")+"!","success")}).error(function(b){d.show(b.message,"danger"),i.model=JSON.parse(i.model),i.name="dashboard",a.dashboard=i})};a.$on("adfDashboardChanged",i),a.$on("destroy",function(){console.log("main dashboard")})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.show",{url:"/show/:id",templateUrl:"app/yourdashboard/show/show.html",controller:"YourdashboardShowCtrl"})}]),angular.module("xCallyShuttleApp").controller("YourdashboardViewCtrl",["$scope","$http","xAlert","$translate","$stateParams","$location",function(a,b,c,d,e,f){a.radioSwitch={isActive:!0,size:"small",animate:!0,radioOff:!0,handleWidth:"auto",labelWidth:"auto",inverse:!0,offColor:"danger",onColor:"success"},a.getDashboard=function(){b.get("/api/dashboards/"+e.id).success(function(b){delete b.model,a.dashboard=b}).error(function(a){f.path("/yourdashboards/list")})},a.updateDashboard=function(){var f=angular.copy(a.dashboard);b.put("/api/dashboards/"+e.id,f).success(function(){c.show(d.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(b){c.show(d.instant(b.message),"danger"),a.dashboard=f})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards.view",{url:"/view/:id",templateUrl:"app/yourdashboard/view/view.html",controller:"YourdashboardViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/plugins/bootstrap-fileinput/bootstrap-fileinput.css","assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.yourdashboards.view.settings",{url:"/settings",templateUrl:"app/yourdashboard/view/view.settings.html"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.yourdashboards",{url:"/yourdashboards",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").controller("ZendeskListCtrl",["$scope","$http","$rootScope","xAlert","$translate","socket","Modal","stResource",function(a,b,c,d,e,f,g,h){a.conf={accountsByPage:{name:"10",value:10}},a.accountsByPage=[{name:"10",value:10},{name:"25",value:25},{name:"50",value:50},{name:"All",value:0}],a.accounts={checked:[]},a.check=function(b,c){c?a.accounts.checked=angular.copy(_.pluck(a.displayedZdAccounts,"id")):a.accounts.checked=[]},a.getAccounts=function(b){return _.map(a.displayedZdAccounts,function(a){var c={};return b.forEach(function(b){c[b]=a[b]}),c})},a.initList=function(b){f.unsyncUpdates("zendesk_account"),b.url="/api/zendesk/accounts",h.getPage(b).then(function(d){a.displayedZdAccounts=d.rows,b.pagination.numberOfPages=d.total_pages,c.updateTableConfig(a.accountsByPage,a.displayedZdAccounts.length),c.updateTableConfig(a.conf.accountsByPage,a.displayedZdAccounts.length)}),f.socket.on("zendesk_account:save",function(){a.initList(b)}),f.socket.on("zendesk_account:remove",function(c){a.accounts.checked=_.without(a.accounts.checked,c.id),a.initList(b)})},a.deleteItem=g.confirm["delete"](function(a){b["delete"]("/api/zendesk/accounts/"+a).success(function(){d.show(e.instant("MESSAGE_WELL_DONE")+"!","success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.deleteItems=g.confirm["delete"](function(){b["delete"]("/api/zendesk/accounts",{params:{id:a.accounts.checked}}).success(function(){d.show(e.instant("MESSAGE_WELL_DONE"),"success")}).error(function(a){d.show(e.instant(a.message),"danger")})}),a.checkAccount=function(a){b.get("/api/zendesk/accounts/"+a+"/check").then(function(){d.show(e.instant("MESSAGE_ACCOUNT_VERIFIED"),"success")})["catch"](function(){d.show(e.instant("MESSAGE_ACCOUNT_INVALID"),"danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.list",{url:"/list",templateUrl:"app/zendesk/list/list.html",controller:"ZendeskListCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{name:"smart-table",insertBefore:"#ng_load_plugins_before",files:["assets/css/smart_table.css"]}])}]}})}]),angular.module("xCallyShuttleApp").controller("ZendeskViewCtrl",["$scope","$http","$stateParams","$translate","$location","WizardHandler","socket","xAlert","Modal",function(a,b,c,d,e,f,g,h,i){a.$stateParams=c,a.config={autoHideScrollbar:!1,theme:"dark",advanced:{updateOnContentResize:!0},setHeight:500,scrollInertia:0},a.initConfiguration=function(){a.formsConfiguration={},a.configuration={}},a.goNext=function(){f.wizard().next()},a.formValidation=function(a){return a},a.$on("$destroy",function(){g.unsyncUpdates("zendesk_configuration"),g.unsyncUpdates("zendesk_field")}),a.initView=function(){b.get("/api/zendesk/accounts/"+c.id).success(function(b){a.account=b}).error(function(a){h.show(a.message,"danger")})},a.updateItem=function(){b.put("/api/zendesk/accounts/"+c.id,a.account).success(function(){h.show(d.instant("MESSAGE_WELL_DONE")+".","success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.getConfigurations=function(){b.get("/api/zendesk/configurations",{params:{ZendeskAccountId:c.id}}).success(function(b){a.configurations=b,g.socket.on("zendesk_configuration:remove",function(b){_.remove(a.configurations,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.deleteConfiguration=i.confirm["delete"](function(a){b["delete"]("api/zendesk/configurations/"+a).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})}),a.createConfiguration=function(){a.configuration.ZendeskAccountId=c.id,b.post("api/zendesk/configurations",a.configuration).success(function(a){e.path("zendesk/view/"+c.id+"/configurations/settings/"+a.id)}).error(function(){h.show("Something went wrong!","danger")})},a.fieldType=["string","variable"],a.descFieldType=["string","key_value"],a.getFields=function(){b.get("/api/zendesk/accounts/"+c.id+"/fields").success(function(b){_.remove(b,function(a){return"subject"===a.type||"description"===a.type||"assignee"===a.type}),a.accountFields=b}).error(function(a){h.show(a.message,"danger")})},a.getConfiguration=function(){b.get("/api/zendesk/configurations/"+c.configurationId).success(function(b){a.configurationName=b.name,a.subjectConfig=b.Subject,a.descriptionConfig=b.Description,a.fieldConfig=b.Field,g.socket.on("zendesk_field:remove",function(b){_.remove(a.subjectConfig,{id:b.id}),_.remove(a.descriptionConfig,{id:b.id}),_.remove(a.fieldConfig,{id:b.id})})}).error(function(a){h.show(a.message,"danger")})},a.getVariables=function(){b.get("/api/variables").success(function(b){a.variables=b.rows}).error(function(a){h.show(a.message,"danger")})},a.removeItem=function(a){b["delete"]("api/zendesk/fields/"+a.id).success(function(){h.show(d.instant("MESSAGE_WELL_DONE"),"success")}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG"),"danger")})},a.addItemSubject=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/subject",d).success(function(b){a.subjectConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemDescription=function(){var d={type:"string",content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/description",d).success(function(b){a.descriptionConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.addItemField=function(){var d={content:""};b.post("/api/zendesk/configurations/"+c.configurationId+"/field",d).success(function(b){a.fieldConfig.push(b)}).error(function(){h.show("Something went wrong!","danger")})},a.updateField=function(a){b.put("/api/zendesk/fields/"+a.id,a).success(function(){}).error(function(){h.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})},a.changeType=function(b){"variable"===b.type?b.content="":"string"===b.type&&(b.VariableId=null),a.updateField(b)},a.changeDescType=function(b){"key_value"===b.type?(b.content="","string"===b.keyType?b.VariableId=null:"variable"===b.keyType&&(b.keyContent="")):"string"===b.type&&(b.VariableId=null,b.key="",b.keyContent=""),a.updateField(b)},a.changeFieldType=function(b){b.content="",a.updateField(b)},a.getSystemFieldOptions=function(b){if(b){var c=_.find(a.accountFields,"id",b);return c?c.system_field_options?c.system_field_options:null:void 0}}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.view",{url:"/view/:id",templateUrl:"app/zendesk/view/view.html",controller:"ZendeskViewCtrl",resolve:{deps:["$ocLazyLoad",function(a){return a.load([{insertBefore:"#ng_load_plugins_before",files:["assets/css/profile.css","assets/css/tasks.css"]}])}]}}).state("main.zendesk.view.account",{url:"/account",templateUrl:"app/zendesk/view/view.account.html"}).state("main.zendesk.view.configurations",{url:"/configurations",templateUrl:"app/zendesk/view/view.configurations.html"}).state("main.zendesk.view.configurations.settings",{url:"/settings/:configurationId",templateUrl:"app/zendesk/view/view.configurationSettings.html",controller:"ZendeskViewCtrl"}).state("main.zendesk.view.configuration",{url:"/configuration",templateUrl:"app/zendesk/view/view.configuration.html"})}]),angular.module("xCallyShuttleApp").controller("ZendeskWizardCtrl",["$scope","$http","$location","$translate","xAlert","WizardHandler",function(a,b,c,d,e,f){a.translate=d,a.initWizard=function(){a.$translate=d,a.forms={},a.item={},a.item.authType="password"},a.next=function(){f.wizard().next()},a.exitValidation=function(a){return a},a.createItem=function(){b.post("api/zendesk/accounts",a.item).success(function(){e.show(d.instant("MESSAGE_WELL_DONE")+".","success"),c.path("/zendesk/list")}).error(function(){e.show(d.instant("MESSAGE_SOMETHING_WENT_WRONG")+".","danger")})}}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk.wizard",{url:"/wizard",templateUrl:"app/zendesk/wizard/wizard.html",controller:"ZendeskWizardCtrl"})}]),angular.module("xCallyShuttleApp").config(["$stateProvider",function(a){a.state("main.zendesk",{url:"/zendesk",template:"<div ui-view></div>","abstract":!0})}]),angular.module("xCallyShuttleApp").service("application",function(){var a={applications:[{name:"Queue",value:"Queue"},{name:"Playback",value:"Playback"},{name:"Dial",value:"Dial"},{name:"Cally-Square IVR",value:"AGI"},{name:"GoTo",value:"Goto"},{name:"Hangup",value:"Hangup"},{name:"Set",value:"Set"},{name:"Custom",value:"custom"},{name:"VoiceMail",value:"Voicemail"}],queueOptions:[{value:"C",name:"APPLICATION_QUEUE_OPTION_C"},{value:"c",name:"APPLICATION_QUEUE_OPTION_c"},{value:"d",name:"APPLICATION_QUEUE_OPTION_d"},{value:"F",name:"APPLICATION_QUEUE_OPTION_F"},{value:"h",name:"APPLICATION_QUEUE_OPTION_h"},{value:"H",name:"APPLICATION_QUEUE_OPTION_H"},{value:"n",name:"APPLICATION_QUEUE_OPTION_n"},{value:"i",name:"APPLICATION_QUEUE_OPTION_i"},{value:"I",name:"APPLICATION_QUEUE_OPTION_I"},{value:"r",name:"APPLICATION_QUEUE_OPTION_r"},{value:"R",name:"APPLICATION_QUEUE_OPTION_R"},{value:"t",name:"APPLICATION_QUEUE_OPTION_t"},{value:"T",name:"APPLICATION_QUEUE_OPTION_T"},{value:"w",name:"APPLICATION_QUEUE_OPTION_w"},{value:"W",name:"APPLICATION_QUEUE_OPTION_W"},{value:"k",name:"APPLICATION_QUEUE_OPTION_k"},{value:"K",name:"APPLICATION_QUEUE_OPTION_K"},{value:"x",name:"APPLICATION_QUEUE_OPTION_x"},{value:"X",name:"APPLICATION_QUEUE_OPTION_X"}],audioOptions:[{value:"skip",name:"APPLICATION_PLAYBACK_OPTION_SKIP"},{value:"noanswer",name:"APPLICATION_PLAYBACK_OPTION_NOANSWER"},{value:"j",name:"APPLICATION_PLAYBACK_OPTION_J"},{value:"say",name:"APPLICATION_PLAYBACK_OPTION_SAY"}],hangupCauses:[{value:"",name:"--"},{value:"1",name:"APPLICATION_HANGUP_CAUSE_1"},{value:"16",name:"APPLICATION_HANGUP_CAUSE_16"},{value:"17",name:"APPLICATION_HANGUP_CAUSE_17"},{value:"18",name:"APPLICATION_HANGUP_CAUSE_18"},{value:"21",name:"APPLICATION_HANGUP_CAUSE_21"},{value:"22",name:"APPLICATION_HANGUP_CAUSE_22"},{value:"27",name:"APPLICATION_HANGUP_CAUSE_27"},{value:"38",name:"APPLICATION_HANGUP_CAUSE_38"},{value:"41",name:"APPLICATION_HANGUP_CAUSE_41"}],intTypes:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"custom",name:"APPLICATION_CUSTOM"},{value:"list",name:"APPLICATION_FROM_LIST"}]};return{application:a}}),angular.module("xCallyShuttleApp").factory("Auth",["$location","$rootScope","$http","User","$cookieStore","$q",function(a,b,c,d,e,f){var g={};return e.get("token")&&(g=d.me()),{login:function(a,h){var i=h||angular.noop,j=f.defer();return c.post("/auth/local",{name:a.name,password:a.password,remember:a.remember}).success(function(a){return e.put("token",a.token),e.put("userId",a.userId),g=d.me({},function(){b.$broadcast("login")}),j.resolve(a),i()}).error(function(a){return this.logout(),j.reject(a),i(a)}.bind(this)),j.promise},loginWithToken:function(a,b,c){e.put("token",a),e.put("userId",b),e.put("name",c),g=d.me()},logout:function(){c.put("/api/users/"+g.id,{online:!1}).success(function(){e.remove("token"),e.remove("userId"),g={},b.$broadcast("logout")}).error(function(a){return a})},createUser:function(a,b){var c=b||angular.noop;return d.save(a,function(b){return e.put("token",b.token),g=d.me(),c(a)},function(a){return this.logout(),c(a)}.bind(this)).$promise},changePassword:function(a,b,c){var e=c||angular.noop;return d.changePassword({id:g.id},{oldPassword:a,newPassword:b},function(a){return e(null,a)},function(a){return e(a)}).$promise},getCurrentUser:function(){return g},isLoggedIn:function(){return g.hasOwnProperty("role")},isLoggedInAsync:function(a){g.hasOwnProperty("$promise")?g.$promise.then(function(){a(!0)})["catch"](function(){a(!1)}):a(g.hasOwnProperty("role")?!0:!1)},isAdmin:function(){return"admin"===g.role},getRole:function(){return g.role},getToken:function(){return e.get("token")},getUserId:function(){return console.log(e.get("userId")),e.get("userId")},getName:function(){return e.get("name")}}}]),angular.module("xCallyShuttleApp").factory("User",["$resource",function(a){return a("/api/users/:id/:controller",{id:"@id"},{changePassword:{method:"PUT",params:{controller:"password"}},me:{method:"GET",params:{id:"me"}}})}]),angular.module("xCallyShuttleApp").service("automations",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select",operators:"equals"},{name:"APPLICATION_HOURS_SINCE_CREATED",value:"createdAt",propertyField:"number",operators:"noequals"}],actions:[{name:"APPLICATION_STATUS",value:"status",propertyField:"select"}]}},b=["voice","mail","chat","fax"],c={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},d={voice:{},mail:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]},chat:{},fax:{status:[{name:"APPLICATION_STATUS_NEW",value:"NEW"},{name:"APPLICATION_STATUS_OPEN",value:"OPEN"},{name:"APPLICATION_STATUS_PENDING",value:"PENDING"},{name:"APPLICATION_STATUS_CLOSED",value:"CLOSED"},{name:"APPLICATION_STATUS_SOLVED",value:"SOLVED"}]}};return{automations:a,properties:d,channels:b,operators:c}}),angular.module("xCallyShuttleApp").controller("FooterController",["$scope","$http",function(a,b){a.$on("$includeContentLoaded",function(){Layout.initFooter()}),a.initFooter=function(){b.get("/api/settings/info").success(function(b){a.info=b}).error(function(a){console.error(a)})}}]),angular.module("xCallyShuttleApp").controller("HeaderController",["$scope","$rootScope","$location","$state","$http","$notification","Auth","xAlert","socket","ngAudio","settings","toastr","localStorageService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){a.toggleQuickSidebar=function(){k.layout.pageQuickSidebarOpened=!k.layout.pageQuickSidebarOpened,k.layout.pageQuickSidebarOpened||m.remove("chatRoomId")},a.initHeader=function(){var c=j.load("api/xchatty/assets?resource=notification/xc_blubb.mp3");"agent"===g.getCurrentUser().role&&(i.socket.on("report_mail:save",function(a){c.play();var b=f("MAIL CHANNEL",{icon:"assets/images/media/channels/mail64.png",body:"NEW Incoming Mail Message!",delay:1e3*a.timeslot});b.$on("click",function(){e.put("/api/report/mails/"+a.id,{connect:!0}).success(function(){b.close(),h.show("Mail properly assigned","success")}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("report_chat:save",function(a){c.play();var d=f("CHAT CHANNEL",{icon:"assets/images/media/channels/chat64.png",body:"NEW Incoming Chat Visitor!",delay:1e3*a.timeslot});d.$on("click",function(){e.put("/api/report/chats/"+a.id,{connect:!0}).success(function(){d.close(),h.show("Chat properly assigned","success"),b.$broadcast("chatMessageEvent",{type:"external",chatRoomId:a.chatroomid})}).error(function(a){h.show(a.message,"danger")})})}),i.socket.on("chat_message:save",function(a){var d=m.get("chatRoomId");if(!d||d!==a.ChatRoomId){c.play();var e=f(a.User.fullname,{icon:"assets/images/media/channels/chat64.png",body:a.body.length>35?a.body.substring(0,35)+"...":a.body,delay:1e4});e.$on("click",function(){b.$broadcast("chatMessageEvent",{type:"internal",chatRoomId:a.ChatRoomId})})}})),e({url:"/api/fax/user_has_queues",method:"GET",params:{UserId:g.getCurrentUser().id}}).success(function(b){a.faxQueues=_.pluck(b,"FaxQueueId"),a.faxQueues.forEach(function(a){i.socket.on("FAX:QUEUE:"+a,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}),i.socket.on("FAX:AGENT:"+g.getCurrentUser().id,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})})}).error(function(a){console.error(a)}),i.socket.on("user_has_fax_queue:save",function(b){b=_.map(b,function(a){return a.UserId=parseInt(a.UserId,10),a}),b=_.find(b,{UserId:g.getCurrentUser().id}),b&&-1===_.indexOf(a.faxQueues,b.FaxQueueId)&&(a.faxQueues.push(b.FaxQueueId),i.socket.on("FAX:QUEUE:"+b.FaxQueueId,function(a,b){var c=f("FAX CHANNEL",{icon:"assets/images/media/channels/telephone124.png",body:"NEW Incoming Fax Message!",delay:1e3*a.timeout});c.$on("click",function(){e.put("/api/fax/rooms/"+a.roomId,{UserId:g.getCurrentUser().id}).success(function(){c.close(),b(g.getCurrentUser().id),l.success("Fax properly assigned","Success",{closeButton:!0,timeOut:5e3})}).error(function(){b(g.getCurrentUser().id),l.warning("Fax already assigned","Warning",{closeButton:!0,timeOut:5e3})})})}))}),i.socket.on("user_has_fax_queue:remove",function(b){_.indexOf(b.where.UserId,g.getCurrentUser().id.toString())>=0&&_.indexOf(a.faxQueues,b.where.FaxQueueId)>=0&&(a.faxQueues=_.remove(a.faxQueues,b.where.FaxQueueId),i.socket.removeAllListeners("FAX:QUEUE:"+b.where.FaxQueueId))})},a.logout=function(){e.get("/auth/local/logout").success(function(){g.logout(),c.path("/login")}).error(function(a){console.error(a)})},a.isActive=function(a){return a===c.path()}}]),angular.module("xCallyShuttleApp").service("interval",function(){var a={months:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"jan",name:"APPLICATION_JANUARY"},{value:"feb",name:"APPLICATION_FEBRUARY"},{value:"mar",name:"APPLICATION_MARCH"},{value:"apr",name:"APPLICATION_APRIL"},{value:"may",name:"APPLICATION_MAY"},{value:"jun",name:"APPLICATION_JUNE"},{value:"jul",name:"APPLICATION_JULY"},{value:"aug",name:"APPLICATION_AUGUST"},{value:"sep",name:"APPLICATION_SEPTEMBER"},{value:"oct",name:"APPLICATION_OCTOBER"},{value:"nov",name:"APPLICATION_NOVEMBER"},{value:"dec",name:"APPLICATION_DECEMBER"}],daysOfWeek:[{value:"always",name:"APPLICATION_ALWAYS"},{value:"mon",name:"APPLICATION_MONDAY"},{value:"tue",name:"APPLICATION_TUESDAY"},{value:"wed",name:"APPLICATION_WEDNESDAY"},{value:"thu",name:"APPLICATION_THURSDAY"},{value:"fri",name:"APPLICATION_FRIDAY"},{value:"sat",name:"APPLICATION_SATURDAY"},{value:"sun",name:"APPLICATION_SUNDAY"}],daysOfMonth:["always",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]};return{interval:a}}),angular.module("xCallyShuttleApp").factory("Modal",["$rootScope","$uibModal",function(a,b){function c(c,d){console.log("openModal",d);var e=a.$new();return c=c||{},d=d||"modal-default",angular.extend(e,c),b.open({templateUrl:"components/modal/delete.html",windowClass:d,scope:e})}return{confirm:{"delete":function(a){return a=a||angular.noop,function(){var b,d=Array.prototype.slice.call(arguments),e=d.shift();b=c({modal:{dismissable:!0,title:"Confirm Delete",html:"<p>Are you sure you want to delete"+(e?"<strong> "+e+"</strong>":" selected items")+"?</p>",buttons:[{classes:"btn red",text:"Delete",click:function(a){b.close(a)}},{classes:"btn default",text:"Cancel",click:function(a){b.dismiss(a)}}]}},"over-topbar center"),b.result.then(function(b){a.apply(b,d)})}}}}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerAddModal",["$scope","$uibModalInstance","Agent","items",function(a,b,c,d){a.items=d,a.agents=c.get(function(b){a.agents=b,a.items.forEach(function(b){_.remove(a.agents.rows,{id:b.id})})}),a.selected={items:[]},a.modal={title:"APPLICATION_AGENTS_SELECTION"},a.ok=function(){b.close(_.union(_.pluck(a.selected.items,"id"),_.pluck(a.items,"id")))},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarControllerCloseModal",["$scope","$uibModalInstance",function(a,b){a.modal={title:"APPLICATION_CONFIRM_CLOSE",text:"MESSAGE_ARE_YOU_SURE_YOU_WANT_TO_CLOSE_THE_CHAT"},a.ok=function(){b.close()},a.cancel=function(){b.dismiss()}}]),angular.module("xCallyShuttleApp").controller("QuickSidebarController",["$scope","$rootScope","$window","$http","$uibModal","$log","$timeout","Auth","Agent","User","ChatRoom","ChatMessage","socket","settings","localStorageService","xAlert","$translate",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a.emojiMessage={},a.options={link:!0,linkTarget:"_blank",pdf:{embed:!1},image:{embed:!0},audio:{embed:!0},code:{highlight:!0,lineNumbers:!1},basicVideo:!1,video:{embed:!1,width:null,height:null,ytTheme:"dark",details:!1,ytAuthKey:"_nkO9h1A7HlVyiUICO17oA"}};var r=a.currentUser=h.getCurrentUser();a.message={body:"",user:""},a.$on("$includeContentLoaded",function(){o.get("chatRoomId")&&k.get({id:o.get("chatRoomId")},t,u),o.get("currentTab")&&(a.currentTab=o.get("currentTab"))});var s=angular.element(c);a.getWindowDimensions=function(){return{h:s.height(),w:s.width()}},a.$watch(a.getWindowDimensions,function(b){a.style={height:b.h-46-46-46+"px"},a.style2={height:b.h-46-46-46-180+"px"}},!0),s.bind("resize",function(){a.$apply()}),a.agents=i.get({page:0,per_page:1e3},function(){m.syncUpdates("agent",a.agents.rows)}),a.users=j.get({page:0,per_page:1e3},function(){m.syncUpdates("user",a.users.rows)}),a.chatRooms=k.me(function(b){a.chatRooms=b,m.syncUpdates("chat_room",a.chatRooms)},function(a){console.error(a)}),a.currentTab=0,a.messagesTab=!1,b.$on("chatMessageEvent",function(b,c){switch(c.type){case"internal":a.currentTab=0;break;case"external":a.currentTab=2}k.get({id:c.chatRoomId},t,u)}),a.goToTab=function(b){a.currentTab=b,a.messagesTab=!1,a.chatRoom=null,o.set("currentTab",a.currentTab),o.set("messagesTab",a.messagesTab),o.remove("chatRoomId"),m.unsyncUpdates("chat_message"),m.unsyncUpdates("chat_room")},a.goToMessage=function(a,b){a?k.users({users:[r.id,a]},t,u):k.get({id:b},t,u)},a.sendMessage=function(){a.message.body.trim().length&&l.save({ChatRoomId:a.chatRoom.id,body:a.message.body},function(){a.message.body=""},function(a){console.error(a)})},a.goBack=function(){a.messagesTab=!1,a.chatRoom=null,o.set("messagesTab",a.messagesTab),o.remove("chatRoomId"),m.unsyncUpdates("chat_message"),m.unsyncUpdates("user_has_chat_room")},a.chatRoomsGroupsGreaterThan=function(a){return function(b){return b.Users?"external"!==b.type&&b.Users.length>a:!1}},a.closeChatRoom=function(a,b){var c=e.open({animation:!0,size:b,templateUrl:"components/quickSidebar/modal/close.html",controller:"QuickSidebarControllerCloseModal"});c.result.then(function(){d.put("/api/chat/rooms/"+a,{status:"close"}).then(function(){p.show(q.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){p.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})},a.addAgent=function(b,c){var g=e.open({animation:!0,size:c,templateUrl:"components/quickSidebar/modal/add.html",controller:"QuickSidebarControllerAddModal",
+resolve:{items:function(){return _.map(a.chatRoom.Users?a.chatRoom.Users:[],function(a){return{id:a.id,fullname:a.fullname}})}}});g.result.then(function(c){d.put("/api/chat/rooms/"+b+"/users",{users:c}).then(function(b){m.unsyncUpdates("chat_message"),a.chatRoom=b.data,a.currentTab=3,a.messagesTab=!0;var c=_.find(a.chatRooms,{id:b.id}),d=a.chatRooms.indexOf(c);c?_.merge(a.chatRooms[d],b.data):a.chatRooms.push(b.data),m.socket.on("chat_message:save",function(c){c.ChatRoomId===b.data.id&&(a.chatRoom.ChatMessages.push(c),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),p.show(q.instant("MESSAGE_WELL_DONE"),"success")})["catch"](function(a){p.show(a.data.message,"danger")})},function(){f.info("Modal dismissed at: "+new Date)})};var t=function(b){a.messagesTab=!0,n.layout.pageQuickSidebarOpened=!0,o.set("chatRoomId",b.id),o.set("messagesTab",a.messagesTab),a.chatRoom=b;var c=_.find(a.chatRooms,{id:b.id}),d=a.chatRooms.indexOf(c);c?_.merge(a.chatRooms[d],b):a.chatRooms.push(b),g(function(){angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last")},1e3),m.socket.on("chat_message:save",function(c){c.ChatRoomId===b.id&&(a.chatRoom.ChatMessages.push(c),angular.element("page-quick-sidebar-chat-user-messages").mCustomScrollbar("scrollTo","last"))}),m.socket.on("chat_room:save",function(b){b.id===a.chatRoom.id&&(a.chatRoom.status=b.status)})},u=function(a){console.error(a)};a.$on("$destroy",function(){m.unsyncUpdates("agent"),m.unsyncUpdates("user")})}]),angular.module("xCallyShuttleApp").directive("resizeQuickSidebar",["$window",function(a){return function(b){var c=angular.element(a);b.getWindowDimensions=function(){return{h:c.height(),w:c.width()}},b.$watch(b.getWindowDimensions,function(a){b.style={height:a.h-46-46-46+"px"}},!0),c.bind("resize",function(){b.$apply()})}}]),angular.module("xCallyShuttleApp").controller("SidebarController",["$scope","$rootScope","$resource","$location","Auth","$http","xAlert","$stateParams","socket",function(a,b,c,d,e,f,g,h,i){a.Auth=e,a.$stateParams=h,a.$on("$includeContentLoaded",function(){Metronic.init(),Layout.initSidebar()}),a.isAssociated=function(a){if(e.isAdmin())return!0;if(e.getCurrentUser().Modules)for(var b=0;b<e.getCurrentUser().Modules.length;b++)if(e.getCurrentUser().Modules[b].name===a)return!0;return!1},a.getSidebarDashboards=function(){f.get("/api/dashboards").then(function(b){a.dashboards=b.data.rows,i.syncUpdates("dashboard",a.dashboards)})["catch"](function(a){g.show("Error loading your dashboards","danger")})},a.isActive=function(a){return a===d.path()},a.$on("destroy",function(){i.unsyncUpdates("dashboard")})}]),angular.module("xCallyShuttleApp").factory("socket",["$rootScope","socketFactory","Auth",function(a,b,c){var d=c.getCurrentUser(),e=io("",{query:"token="+c.getToken()+"&userId="+(d.id||c.getUserId())+"&name="+(d.name||c.getName())+"&role="+(d.role||"agent")+"&source=browser",path:"/socket.io-client"}),f=b({ioSocket:e});return a.$on("login",function(){e=io("",{forceNew:!0,query:"token="+c.getToken()+"&userId="+c.getCurrentUser().id+"&name="+c.getCurrentUser().name+"&role="+c.getCurrentUser().role+"&source=browser",path:"/socket.io-client"})}),a.$on("logout",function(){f&&f.disconnect(!0)}),{socket:f,syncUpdates:function(a,b,c){c=c||angular.noop,f.on(a+":save",function(a){var d=_.find(b,{id:a.id}),e=b.indexOf(d),f="created";d?(_.merge(b[e],a),f="updated"):b.unshift(a),c(f,a,b)}),f.on(a+":remove",function(a){var d="deleted";_.remove(b,{id:a.id}),c(d,a,b)})},unsyncUpdates:function(a){f.removeAllListeners(a+":save"),f.removeAllListeners(a+":remove")},syncUpdatesByAttributes:function(a,b,c,d){d=d||angular.noop,f.on(a+":save",function(e){console.log(a),console.log(e);var f=!0;if(_.forIn(b,function(a,b){return e[b]&&e[b]===a?!0:f=!1}),f){var g=_.find(c,{id:e.id}),h=c.indexOf(g),i="created";g?(_.merge(c[h],e),i="updated"):c.unshift(e),d(i,e,c)}}),f.on(a+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},syncMailMessageUpdates:function(a,b,c,d){d=d||angular.noop,f.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),f.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncMailMessageUpdates:function(a,b){f.removeAllListeners(a+":"+b+":save"),f.removeAllListeners(a+":"+b+":remove")},syncFaxMessageUpdates:function(a,b,c,d){d=d||angular.noop,f.on(a+":"+b+":save",function(a){var b=_.find(c,{id:a.id}),e=c.indexOf(b),f="created";b?(_.merge(c[e],a),f="updated"):c.unshift(a),d(f,a)}),f.on(a+":"+b+":remove",function(a){var b="deleted";_.remove(c,{id:a.id}),d(b,a,c)})},unsyncFaxMessageUpdates:function(a,b){f.removeAllListeners(a+":"+b+":save"),f.removeAllListeners(a+":"+b+":remove")}}}]),angular.module("xCallyShuttleApp").service("triggers",function(){var a={voice:{conditions:[],actions:[]},mail:{conditions:[{name:"APPLICATION_FROM",value:"from",propertyField:"input",operators:"equals"},{name:"APPLICATION_CC",value:"cc",propertyField:"input",operators:"equals"},{name:"APPLICATION_SUBJECT",value:"subject",propertyField:"input",operators:"equals"}],actions:[{name:"APPLICATION_TEMPLATE",value:"template",propertyField:"select"}]},chat:{conditions:[],actions:[]},fax:{conditions:[],actions:[]}},b={equals:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"}],all:[{value:"=",name:"APPLICATION_EQUALS_TO"},{value:"<>",name:"APPLICATION_NOT_EQUALS_TO"},{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}],noequals:[{value:">=",name:"APPLICATION_GTE_TO"},{value:"<=",name:"APPLICATION_LTE_TO"},{value:">",name:"APPLICATION_GREATER_THAN"},{value:"<",name:"APPLICATION_LESS_THAN"}]},c={voice:{},mail:{},chat:{},fax:{}},d=["voice","mail","chat","fax"];return{triggers:a,properties:c,operators:b,channels:d}}),function(a,b){angular.module("adf.widget.counter",["adf.provider"]).value("apiServiceUrlCounter","/api/widgets/counter").config(["dashboardProvider",function(a){a.widget("counter",{title:"Counter",description:"Counter for db results",templateUrl:"{widgetsPath}/counter/src/view.html",controller:"apiwidgetCounterViewCtrl",edit:{templateUrl:"{widgetsPath}/counter/src/edit.html",controller:"apiwidgetCounterEditCtrl"}})}]).service("apiServiceCounter",["$q","$http","apiServiceUrlCounter",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiwidgetCounterEditCtrl",["$scope",function(a){a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.colors=[{name:"Blue",value:"blue-madison"},{name:"Red",value:"red-intense"},{name:"Green",value:"green-haze"},{name:"Purple",value:"purple-plum"},{name:"Orange",value:"yellow-casablanca"},{name:"Yellow",value:"yellow-crusta"}],a.config.icons=[{name:"Talk bubbles",value:"fa-comments"},{name:"Bar Chart",value:"fa-bar-chart"},{name:"Shopping Cart",value:"fa-shopping-cart"},{name:"Globe",value:"fa-globe"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE"}]).controller("apiwidgetCounterViewCtrl",["$scope","$interval","apiServiceCounter",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.color=a.config.color?a.config.color:"blue-madison",a.config.icon=a.config.icon?a.config.icon:"fa-comments",a.config.link=a.config.link?a.config.link:"#",a.config.linkText=a.config.linkText?a.config.linkText:"VIEW MORE",a.counterApiCall=function(){a.config.condition&&a.config.report&&c.get(a.config).then(function(b){a.count=parseInt(b[0].count)})},a.counterApiCall();var d=b(function(){a.counterApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.counter").run(["$templateCache",function(a){a.put("{widgetsPath}/counter/src/edit.html","<form role=form><div class=form-group><label class=control-label>{{'APPLICATION_REPORT' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_REPORT' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"report.value as report in config.reportTables | filter: $select.search\"><div ng-bind-html=\"report.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_CONDITION' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder=\"{{'APPLICATION_CONDITION' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_REFRESH_TIMEOUT' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder=\"{{'APPLICATION_REFRESH_TIMEOUT' | translate}}\" min=1></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_COLOR' | translate}}</label><ui-select data-ng-model=config.color name=color theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_COLOR' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"color.value as color in config.colors | filter: $select.search\"><div ng-bind-html=\"color.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label class=control-label>{{'APPLICATION_WIDGET_ICON' | translate}}</label><ui-select data-ng-model=config.icon name=icon theme=bootstrap><ui-select-match placeholder=\"{{ 'APPLICATION_WIDGET_ICON' | translate }}\">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat=\"icon.value as icon in config.icons | filter: $select.search\"><div ng-bind-html=\"icon.name | highlight: $select.search\"></div></ui-select-choices></ui-select></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_DETAILS' | translate}}</label> <input type=text class=form-control id=details ng-model=config.details maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_DETAILS' | translate}}\"></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK' | translate}}</label> <input type=text class=form-control id=link ng-model=config.link placeholder=http://yourlink></div><div class=form-group><label for=condition>{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}</label> <input type=text class=form-control id=linkText ng-model=config.linkText maxlength=30 placeholder=\"{{'APPLICATION_WIDGET_LINK_TEXT' | translate}}\"></div></form>"),a.put("{widgetsPath}/counter/src/view.html",'<div class=dashboard-stat ng-class=config.color ng-if="count || count === 0"><div class=visual><i class=fa ng-class=config.icon></i></div><div class=details><div class=number>{{count}}</div><div class=desc>{{config.details}}</div></div><a class=more href={{config.link}}>{{config.linkText}} <i class="m-icon-swapright m-icon-white"></i></a></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if="!count && count != 0"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.pie-chart",["adf.provider"]).value("apiServiceUrlPieChart","/api/widgets/piechart").config(["dashboardProvider",function(a){a.widget("pie-chart",{title:"Pie-Chart",description:"Display a pie-chart starting from DB values",templateUrl:"{widgetsPath}/pie-chart/src/view.html",controller:"apiWidgetPieChartViewCtrl",edit:{templateUrl:"{widgetsPath}/pie-chart/src/edit.html",controller:"apiWidgetPieChartEditCtrl"}})}]).service("apiServicePieChart",["$q","$http","apiServiceUrlPieChart",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetPieChartEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetPieChartViewCtrl",["$scope","$interval","apiServicePieChart",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.pieChartApiCall=function(){a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){if(b&&1===b.length){a.labels=[],a.data=[];for(var c in b[0])a.labels.push(c),a.data.push(b[0][c])}else a.labels=[],a.data=[]})},a.pieChartApiCall();var d=b(function(){a.pieChartApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.pie-chart").run(["$templateCache",function(a){a.put("{widgetsPath}/pie-chart/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_FIELDS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div></form>'),a.put("{widgetsPath}/pie-chart/src/view.html",'<div ng-if=labels.length ng-style=config.style><canvas id=doughnut class="chart chart-doughnut" chart-data=data chart-labels=labels legend=true></canvas></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!labels.length><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_METRIC_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(a,b){angular.module("adf.widget.table",["adf.provider"]).value("apiServiceUrlTable","/api/widgets/table").config(["dashboardProvider",function(a){a.widget("table",{title:"Table",description:"Show tabbed results from db",templateUrl:"{widgetsPath}/table/src/view.html",controller:"apiWidgetTableViewCtrl",edit:{templateUrl:"{widgetsPath}/table/src/edit.html",controller:"apiWidgetTableEditCtrl"}})}]).service("apiServiceTable",["$q","$http","apiServiceUrlTable",function(a,b,c){return{get:function(d){var e=a.defer();return b.get(c,{params:{condition:encodeURIComponent(d.condition),table:d.report,fields:d.fields}}).success(function(a){a?e.resolve(a):e.reject()}).error(function(a){console.log(a),e.reject()}),e.promise}}}]).controller("apiWidgetTableEditCtrl",["$scope",function(a){function b(){return a.config.fields||(a.config.fields=[{column:"",alias:""}]),a.config.fields}a.config.reportTables=[{name:"Agents",value:"agent"},{name:"Calls",value:"call"},{name:"Dials",value:"dial"},{name:"Members",value:"member"},{name:"Queues",value:"queue"}],a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.fields=a.config.fields?a.config.fields:[{column:"",alias:""}],a.addField=function(){b().push({})},a.removeField=function(a){b().splice(a,1)}}]).controller("apiWidgetTableViewCtrl",["$scope","$interval","apiServiceTable",function(a,b,c){a.config.timeout=a.config.timeout?a.config.timeout:1,a.config.height=a.config.height?a.config.height:350,a.config.style={"max-height":a.config.height+"px",overflow:"scroll"},a.tableApiCall=function(){a.config.condition&&a.config.report&&a.config.fields.length&&""!==a.config.fields[0].column&&""!==a.config.fields[0].alias&&c.get(a.config).then(function(b){a.results=b})},a.tableApiCall();var d=b(function(){a.tableApiCall()},1e3*parseInt(a.config.timeout));a.$on("$destroy",function(){b.cancel(d)})}]),angular.module("adf.widget.table").run(["$templateCache",function(a){a.put("{widgetsPath}/table/src/edit.html",'<form role=form><div class=form-group><label class=control-label>{{\'APPLICATION_REPORT\' | translate}}</label><ui-select data-ng-model=config.report name=report theme=bootstrap><ui-select-match placeholder="{{ \'APPLICATION_REPORT\' | translate }}">{{$select.selected.name}}</ui-select-match><ui-select-choices repeat="report.value as report in config.reportTables | filter: $select.search"><div ng-bind-html="report.name | highlight: $select.search"></div></ui-select-choices></ui-select></div><div><label class=control-label>{{\'APPLICATION_METRICS\' | translate}}</label></div><div class=padding-bottom ng-repeat="field in config.fields"><div class=form-group><div class=input-group><input type=text class=form-control ng-model=field.column> <span class=input-group-addon>as</span> <input type=text class=form-control ng-model=field.alias> <span class=input-group-btn ng-if="config.fields.length>1"><button class="btn btn-danger" type=button data-ng-click=removeField($index)><i class="fa fa-times"></i> {{\'APPLICATION_REMOVE\' | translate}}</button></span></div></div></div><button type=button class="btn btn-sm green mbottom20" ng-click=addField()><i class="fa fa-plus"></i> {{\'APPLICATION_ADD_FIELD\' | translate}}</button><div class=form-group><label for=condition>{{\'APPLICATION_CONDITION\' | translate}}</label> <input type=text class=form-control id=condition ng-model=config.condition placeholder="{{\'APPLICATION_CONDITION\' | translate}}"></div><div class=form-group><label for=condition>{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}</label> <input type=number class=form-control id=timeout ng-model=config.timeout placeholder="{{\'APPLICATION_REFRESH_TIMEOUT\' | translate}}" min=1></div><div class=form-group><label for=condition>{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}</label> <input type=number class=form-control id=height ng-model=config.height placeholder="{{\'APPLICATION_WIDGET_MAX_HEIGHT\' | translate}}" min=350></div></form>'),a.put("{widgetsPath}/table/src/view.html",'<div ng-if=results ng-style=config.style><table st-table=results class="table table-striped table-bordered table-hover"><div class=table-responsive><thead><tr><th colspan={{config.fields.length}}><div class=row><div class=col-md-6></div><div class=col-md-6><div class="input-group input-medium pull-right"><input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class=form-control type=search> <span class=input-group-addon><i class="fa fa-search"></i></span></div></div></div></th></tr><tr><th ng-repeat="field in config.fields">{{field.alias}}</th></tr></thead><tbody><tr data-ng-repeat="result in results" class=animate-repeat><td ng-repeat="field in config.fields">{{result[field.alias]}}</td></tr><tr data-ng-hide=results.length><td colspan={{config.fields.length}} style=text-align:center;><i>{{ \'MESSAGE_NO_RESULTS_AVAILABLE\' | translate }}</i></td></tr></tbody><tfoot><tr><td colspan={{config.fields.length}} class=text-center><div st-pagination class=pagination st-items-by-page=10 st-displayed-pages=3></div></td></tr></tfoot></div></table></div><div class="alert alert-danger" role=alert ng-if=!config.report><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_WIDGET_SELECT_REPORT\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_VALID_CONDITION\' | translate}}</div><div class="alert alert-danger" role=alert ng-if=!results><span class="glyphicon glyphicon-exclamation-sign" aria-hidden=true></span> <span class=sr-only>{{\'APPLICATION_ERROR\' | translate}}:</span> {{\'MESSAGE_ENTER_ONE_VALID_FIELD_AND_CHECK_OTHER\' | translate}}</div>')}])}(window),function(){angular.module("pdf",[]).directive("ngPdf",["$window",function(a){return{restrict:"E",templateUrl:function(a,b){return b.templateUrl?b.templateUrl:"partials/viewer.html"},link:function(b,c,d){var e=d.pdfUrl,f=null,g=d.page?d.page:1,h=d.scale>0?d.scale:1,i=c.find("canvas"),j=i[0],k=j.getContext("2d"),l=angular.element(a);l.on("scroll",function(){b.$apply(function(){b.scroll=l[0].scrollY})}),PDFJS.disableWorker=!0,b.pageNum=g,b.renderPage=function(a){f.getPage(a).then(function(a){var e,f,g,i={};"page-fit"!==d.scale||h?e=a.getViewport(h):(e=a.getViewport(1),f=c[0].clientWidth/e.width,g=c[0].clientHeight/e.height,h=Math.min(f,g)),j.height=e.height,j.width=e.width,i={canvasContext:k,viewport:e},a.render(i).promise.then(function(){"function"==typeof b.onPageRender&&b.onPageRender()})})},b.goPrevious=function(){b.pageToDisplay<=1||(b.pageNum=parseInt(b.pageNum)-1)},b.goNext=function(){b.pageToDisplay>=f.numPages||(b.pageNum=parseInt(b.pageNum)+1)},b.zoomIn=function(){return h=parseFloat(h)+.2,b.renderPage(b.pageToDisplay),h},b.zoomOut=function(){return h=parseFloat(h)-.2,b.renderPage(b.pageToDisplay),h},b.changePage=function(){b.renderPage(b.pageToDisplay)},b.rotate=function(){"rotate0"===j.getAttribute("class")?j.setAttribute("class","rotate90"):"rotate90"===j.getAttribute("class")?j.setAttribute("class","rotate180"):"rotate180"===j.getAttribute("class")?j.setAttribute("class","rotate270"):j.setAttribute("class","rotate0")},PDFJS.getDocument(e,null,null,b.onProgress).then(function(a){"function"==typeof b.onLoad&&b.onLoad(),f=a,b.renderPage(b.pageToDisplay),b.$apply(function(){b.pageCount=a.numPages})},function(a){a&&"function"==typeof b.onError&&b.onError(a)}),b.$watch("pageNum",function(a){b.pageToDisplay=parseInt(a),null!==f&&b.renderPage(b.pageToDisplay)})}}}])}();var Metronic=function(){var a,b=!1,c=!1,d=!1,e=!1,f=[],g="assets/",h="img/",i="plugins/",j="css/",k={blue:"#89C4F4",red:"#F3565D",green:"#1bbc9b",purple:"#9b59b6",grey:"#95a5a6",yellow:"#F8CB00"},l=function(){"rtl"===$("body").css("direction")&&(b=!0),c=!!navigator.userAgent.match(/MSIE 8.0/),d=!!navigator.userAgent.match(/MSIE 9.0/),e=!!navigator.userAgent.match(/MSIE 10.0/),e&&$("html").addClass("ie10"),(e||d||c)&&$("html").addClass("ie")},m=function(){for(var a=0;a<f.length;a++){var b=f[a];b.call()}},n=function(){var a;if(c){var b;$(window).resize(function(){b!=document.documentElement.clientHeight&&(a&&clearTimeout(a),a=setTimeout(function(){m()},50),b=document.documentElement.clientHeight)})}else $(window).resize(function(){a&&clearTimeout(a),a=setTimeout(function(){m()},50)})},o=function(){$("body").on("click",".portlet > .portlet-title > .tools > a.remove",function(a){a.preventDefault();var b=$(this).closest(".portlet");$("body").hasClass("page-portlet-fullscreen")&&$("body").removeClass("page-portlet-fullscreen"),b.find(".portlet-title .fullscreen").tooltip("destroy"),b.find(".portlet-title > .tools > .reload").tooltip("destroy"),b.find(".portlet-title > .tools > .remove").tooltip("destroy"),b.find(".portlet-title > .tools > .config").tooltip("destroy"),b.find(".portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip("destroy"),b.remove()}),$("body").on("click",".portlet > .portlet-title .fullscreen",function(a){a.preventDefault();var b=$(this).closest(".portlet");if(b.hasClass("portlet-fullscreen"))$(this).removeClass("on"),b.removeClass("portlet-fullscreen"),$("body").removeClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height","auto");else{var c=Metronic.getViewPort().height-b.children(".portlet-title").outerHeight()-parseInt(b.children(".portlet-body").css("padding-top"))-parseInt(b.children(".portlet-body").css("padding-bottom"));$(this).addClass("on"),b.addClass("portlet-fullscreen"),$("body").addClass("page-portlet-fullscreen"),b.children(".portlet-body").css("height",c)}}),$("body").on("click",".portlet > .portlet-title > .tools > a.reload",function(a){a.preventDefault();var b=$(this).closest(".portlet").children(".portlet-body"),c=$(this).attr("data-url"),d=$(this).attr("data-error-display");c?(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),$.ajax({type:"GET",cache:!1,url:c,dataType:"html",success:function(a){Metronic.unblockUI(b),b.html(a)},error:function(a,c,e){Metronic.unblockUI(b);var f="Error on reloading the content. Please check your connection and try again.";"toastr"==d&&toastr?toastr.error(f):"notific8"==d&&$.notific8?($.notific8("zindex",11500),$.notific8(f,{theme:"ruby",life:3e3})):alert(f)}})):(Metronic.blockUI({target:b,animate:!0,overlayColor:"none"}),window.setTimeout(function(){Metronic.unblockUI(b)},1e3))}),$('.portlet .portlet-title a.reload[data-load="true"]').click(),$("body").on("click",".portlet > .portlet-title > .tools > .collapse, .portlet .portlet-title > .tools > .expand",function(a){a.preventDefault()})},p=function(){if($().uniform){var a=$("input[type=checkbox]:not(.toggle, .make-switch, .icheck), input[type=radio]:not(.toggle, .star, .make-switch, .icheck)");a.size()>0&&a.each(function(){0===$(this).parents(".checker").size()&&$(this).show()})}},q=function(){$().iCheck&&$(".icheck").each(function(){var a=$(this).attr("data-checkbox")?$(this).attr("data-checkbox"):"icheckbox_minimal-grey",b=$(this).attr("data-radio")?$(this).attr("data-radio"):"iradio_minimal-grey";a.indexOf("_line")>-1||b.indexOf("_line")>-1?$(this).iCheck({checkboxClass:a,radioClass:b,insert:'<div class="icheck_line-icon"></div>'+$(this).attr("data-label")}):$(this).iCheck({checkboxClass:a,radioClass:b})})},r=function(){$().bootstrapSwitch&&$(".make-switch").bootstrapSwitch()},s=function(){$().confirmation&&$("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn-xs btn-success",btnCancelClass:"btn-xs btn-danger"})},t=function(){$("body").on("shown.bs.collapse",".accordion.scrollable",function(a){Metronic.scrollTo($(a.target))})},u=function(){if(location.hash){var a=location.hash.substr(1);$('a[href="#'+a+'"]').parents(".tab-pane:hidden").each(function(){var a=$(this).attr("id");$('a[href="#'+a+'"]').click()}),$('a[href="#'+a+'"]').click()}},v=function(){$("body").on("hide.bs.modal",function(){$(".modal:visible").size()>1&&$("html").hasClass("modal-open")===!1?$("html").addClass("modal-open"):$(".modal:visible").size()<=1&&$("html").removeClass("modal-open")}),$("body").on("show.bs.modal",".modal",function(){$(this).hasClass("modal-scroll")&&$("body").addClass("modal-open-noscroll")}),$("body").on("hide.bs.modal",".modal",function(){$("body").removeClass("modal-open-noscroll")}),$("body").on("hidden.bs.modal",".modal:not(.modal-cached)",function(){$(this).removeData("bs.modal")})},w=function(){$(".tooltips").tooltip(),$(".portlet > .portlet-title .fullscreen").tooltip({container:"body",title:"Fullscreen"}),$(".portlet > .portlet-title > .tools > .reload").tooltip({container:"body",title:"Reload"}),$(".portlet > .portlet-title > .tools > .remove").tooltip({container:"body",title:"Remove"}),$(".portlet > .portlet-title > .tools > .config").tooltip({container:"body",title:"Settings"}),$(".portlet > .portlet-title > .tools > .collapse, .portlet > .portlet-title > .tools > .expand").tooltip({container:"body",title:"Collapse/Expand"})},x=function(){$("body").on("click",".dropdown-menu.hold-on-click",function(a){a.stopPropagation()})},y=function(){$("body").on("click",'[data-close="alert"]',function(a){$(this).parent(".alert").hide(),$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-close="note"]',function(a){$(this).closest(".note").hide(),a.preventDefault()}),$("body").on("click",'[data-remove="note"]',function(a){$(this).closest(".note").remove(),a.preventDefault()})},z=function(){$('[data-hover="dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")})},A=function(){$(".popovers").popover(),$(document).on("click.bs.popover.data-api",function(b){a&&a.popover("hide")})},B=function(){Metronic.initSlimScroll(".scroller")},C=function(){jQuery.fancybox&&$(".fancybox-button").size()>0&&$(".fancybox-button").fancybox({groupAttr:"data-rel",prevEffect:"none",nextEffect:"none",closeBtn:!0,helpers:{title:{type:"inside"}}})},D=function(){(c||d)&&$("input[placeholder]:not(.placeholder-no-fix), textarea[placeholder]:not(.placeholder-no-fix)").each(function(){var a=$(this);""===a.val()&&""!==a.attr("placeholder")&&a.addClass("placeholder").val(a.attr("placeholder")),a.focus(function(){a.val()==a.attr("placeholder")&&a.val("")}),a.blur(function(){(""===a.val()||a.val()==a.attr("placeholder"))&&a.val(a.attr("placeholder"))})})},E=function(){$().select2&&$(".select2me").select2({placeholder:"Select"})};return{init:function(){l(),n(),p(),q(),r(),B(),C(),E(),o(),y(),x(),u(),w(),A(),t(),v(),s(),D()},initAjax:function(){p(),q(),r(),z(),B(),E(),C(),x(),w(),A(),t(),s()},initComponents:function(){this.initAjax()},setLastPopedPopover:function(b){a=b},addResizeHandler:function(a){f.push(a)},runResizeHandlers:function(){m()},scrollTo:function(a,b){var c=a&&a.size()>0?a.offset().top:0;a&&($("body").hasClass("page-header-fixed")&&(c-=$(".page-header").height()),c+=b?b:-1*a.height()),$("html,body").animate({scrollTop:c},"slow")},initSlimScroll:function(a){$(a).each(function(){if(!$(this).attr("data-initialized")){var a;a=$(this).attr("data-height")?$(this).attr("data-height"):$(this).css("height"),
+$(this).slimScroll({allowPageScroll:!0,size:"7px",color:$(this).attr("data-handle-color")?$(this).attr("data-handle-color"):"#bbb",wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",railColor:$(this).attr("data-rail-color")?$(this).attr("data-rail-color"):"#eaeaea",position:b?"left":"right",height:a,alwaysVisible:"1"==$(this).attr("data-always-visible")?!0:!1,railVisible:"1"==$(this).attr("data-rail-visible")?!0:!1,disableFadeOut:!0}),$(this).attr("data-initialized","1")}})},destroySlimScroll:function(a){$(a).each(function(){if("1"===$(this).attr("data-initialized")){$(this).removeAttr("data-initialized"),$(this).removeAttr("style");var a={};$(this).attr("data-handle-color")&&(a["data-handle-color"]=$(this).attr("data-handle-color")),$(this).attr("data-wrapper-class")&&(a["data-wrapper-class"]=$(this).attr("data-wrapper-class")),$(this).attr("data-rail-color")&&(a["data-rail-color"]=$(this).attr("data-rail-color")),$(this).attr("data-always-visible")&&(a["data-always-visible"]=$(this).attr("data-always-visible")),$(this).attr("data-rail-visible")&&(a["data-rail-visible"]=$(this).attr("data-rail-visible")),$(this).slimScroll({wrapperClass:$(this).attr("data-wrapper-class")?$(this).attr("data-wrapper-class"):"slimScrollDiv",destroy:!0});var b=$(this);$.each(a,function(a,c){b.attr(a,c)})}})},scrollTop:function(){Metronic.scrollTo()},blockUI:function(a){a=$.extend(!0,{},a);var b="";if(b=a.animate?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><div class="block-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div></div>':a.iconOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""></div>':a.textOnly?'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>":'<div class="loading-message '+(a.boxed?"loading-message-boxed":"")+'"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif" align=""><span>&nbsp;&nbsp;'+(a.message?a.message:"LOADING...")+"</span></div>",a.target){var c=$(a.target);c.height()<=$(window).height()&&(a.cenrerY=!0),c.block({message:b,baseZ:a.zIndex?a.zIndex:1e3,centerY:void 0!==a.cenrerY?a.cenrerY:!1,css:{top:"10%",border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})}else $.blockUI({message:b,baseZ:a.zIndex?a.zIndex:1e3,css:{border:"0",padding:"0",backgroundColor:"none"},overlayCSS:{backgroundColor:a.overlayColor?a.overlayColor:"#555",opacity:a.boxed?.05:.1,cursor:"wait"}})},unblockUI:function(a){a?$(a).unblock({onUnblock:function(){$(a).css("position",""),$(a).css("zoom","")}}):$.unblockUI()},startPageLoading:function(a){a&&a.animate?($(".page-spinner-bar").remove(),$("body").append('<div class="page-spinner-bar"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div>')):($(".page-loading").remove(),$("body").append('<div class="page-loading"><img src="'+this.getGlobalImgPath()+'loading-spinner-blue.gif"/>&nbsp;&nbsp;<span>'+(a&&a.message?a.message:"Loading...")+"</span></div>"))},stopPageLoading:function(){$(".page-loading, .page-spinner-bar").remove()},alert:function(a){a=$.extend(!0,{container:"",place:"append",type:"success",message:"",close:!0,reset:!0,focus:!0,closeInSeconds:0,icon:""},a);var b=Metronic.getUniqueID("Metronic_alert"),c='<div id="'+b+'" class="Metronic-alerts alert alert-'+a.type+' fade in">'+(a.close?'<button type="button" class="close" data-dismiss="alert" aria-hidden="true"></button>':"")+(""!==a.icon?'<i class="fa-lg fa fa-'+a.icon+'"></i>  ':"")+a.message+"</div>";return a.reset&&$(".Metronic-alerts").remove(),a.container?"append"==a.place?$(a.container).append(c):$(a.container).prepend(c):$("body").hasClass("page-container-bg-solid")?$(".page-title").after(c):$(".page-bar").size()>0?$(".page-bar").after(c):$(".page-breadcrumb").after(c),a.focus&&Metronic.scrollTo($("#"+b)),a.closeInSeconds>0&&setTimeout(function(){$("#"+b).remove()},1e3*a.closeInSeconds),b},initUniform:function(a){a?$(a).each(function(){0===$(this).parents(".checker").size()&&($(this).show(),$(this).uniform())}):p()},updateUniform:function(a){$.uniform.update(a)},initFancybox:function(){C()},getActualVal:function(a){return a=$(a),a.val()===a.attr("placeholder")?"":a.val()},getURLParameter:function(a){var b,c,d=window.location.search.substring(1),e=d.split("&");for(b=0;b<e.length;b++)if(c=e[b].split("="),c[0]==a)return unescape(c[1]);return null},isTouchDevice:function(){try{return document.createEvent("TouchEvent"),!0}catch(a){return!1}},getViewPort:function(){var a=window,b="inner";return"innerWidth"in window||(b="client",a=document.documentElement||document.body),{width:a[b+"Width"],height:a[b+"Height"]}},getUniqueID:function(a){return"prefix_"+Math.floor(Math.random()*(new Date).getTime())},isIE8:function(){return c},isIE9:function(){return d},isRTL:function(){return b},isAngularJsApp:function(){return"undefined"==typeof angular?!1:!0},getAssetsPath:function(){return g},setAssetsPath:function(a){g=a},setGlobalImgPath:function(a){h=a},getGlobalImgPath:function(){return g+h},setGlobalPluginsPath:function(a){i=a},getGlobalPluginsPath:function(){return g+i},getGlobalCssPath:function(){return g+j},getBrandColor:function(a){return k[a]?k[a]:""},getResponsiveBreakpoint:function(a){var b={xs:480,sm:768,md:900,lg:1200};return b[a]?b[a]:0}}}(),Layout=function(){var a="img/",b="css/",c=Metronic.getResponsiveBreakpoint("md"),d=function(){var a,b=$(".page-content"),d=$(".page-sidebar"),e=$("body");if(e.hasClass("page-footer-fixed")===!0&&e.hasClass("page-sidebar-fixed")===!1){var f=Metronic.getViewPort().height-$(".page-footer").outerHeight()-$(".page-header").outerHeight();b.height()<f&&b.attr("style","min-height:"+f+"px")}else{if(e.hasClass("page-sidebar-fixed"))a=g(),e.hasClass("page-footer-fixed")===!1&&(a-=$(".page-footer").outerHeight());else{var h=$(".page-header").outerHeight(),i=$(".page-footer").outerHeight();a=Metronic.getViewPort().width<c?Metronic.getViewPort().height-h-i:d.height()+20,a+h+i<=Metronic.getViewPort().height&&(a=Metronic.getViewPort().height-h-i)}b.attr("style","min-height:"+a+"px")}},e=function(a,b){var d=location.hash.toLowerCase(),e=$(".page-sidebar-menu");if("click"===a||"set"===a?b=$(b):"match"===a&&e.find("li > a").each(function(){var a=$(this).attr("href").toLowerCase();return a.length>1&&d.substr(1,a.length-1)==a.substr(1)?void(b=$(this)):void 0}),b&&0!=b.size()&&"javascript:;"!==b.attr("href").toLowerCase()&&"#"!==b.attr("href").toLowerCase()){parseInt(e.data("slide-speed")),e.data("keep-expanded");e.find("li.active").removeClass("active"),e.find("li > a > .selected").remove(),e.hasClass("page-sidebar-menu-hover-submenu")===!1?e.find("li.open").each(function(){0===$(this).children(".sub-menu").size()&&($(this).removeClass("open"),$(this).find("> a > .arrow.open").removeClass("open"))}):e.find("li.open").removeClass("open"),b.parents("li").each(function(){$(this).addClass("active"),$(this).find("> a > span.arrow").addClass("open"),1===$(this).parent("ul.page-sidebar-menu").size()&&$(this).find("> a").append('<span class="selected"></span>'),1===$(this).children("ul.sub-menu").size()&&$(this).addClass("open")}),"click"===a&&Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click()}},f=function(){jQuery(".page-sidebar").on("click","li > a",function(a){var b=$(this).next().hasClass("sub-menu");if(!(Metronic.getViewPort().width>=c&&1===$(this).parents(".page-sidebar-menu-hover-submenu").size())){if(b===!1)return void(Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click());if(!$(this).next().hasClass("sub-menu always-open")){var e=$(this).parent().parent(),f=$(this),g=$(".page-sidebar-menu"),h=jQuery(this).next(),i=g.data("auto-scroll"),j=parseInt(g.data("slide-speed")),k=g.data("keep-expanded");k!==!0&&(e.children("li.open").children("a").children(".arrow").removeClass("open"),e.children("li.open").children(".sub-menu:not(.always-open)").slideUp(j),e.children("li.open").removeClass("open"));var l=-200;h.is(":visible")?(jQuery(".arrow",jQuery(this)).removeClass("open"),jQuery(this).parent().removeClass("open"),h.slideUp(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})):b&&(jQuery(".arrow",jQuery(this)).addClass("open"),jQuery(this).parent().addClass("open"),h.slideDown(j,function(){i===!0&&$("body").hasClass("page-sidebar-closed")===!1&&($("body").hasClass("page-sidebar-fixed")?g.slimScroll({scrollTo:f.position().top}):Metronic.scrollTo(f,l)),d()})),a.preventDefault()}}}),jQuery(".page-sidebar").on("click"," li > a.ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=jQuery(".page-sidebar ul"),e=($(".page-content"),$(".page-content .page-content-body"));d.children("li.active").removeClass("active"),d.children("arrow.open").removeClass("open"),$(this).parents("li").each(function(){$(this).addClass("active"),$(this).children("a > span.arrow").addClass("open")}),$(this).parents("li").addClass("active"),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),Metronic.startPageLoading();var f=$(this);$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){0===f.parents("li.open").size()&&$(".page-sidebar-menu > li.open > a").click(),Metronic.stopPageLoading(),e.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){Metronic.stopPageLoading(),e.html("<h4>Could not load the requested content.</h4>")}})}),jQuery(".page-content").on("click",".ajaxify",function(a){a.preventDefault(),Metronic.scrollTop();var b=$(this).attr("href"),d=($(".page-content"),$(".page-content .page-content-body"));Metronic.startPageLoading(),Metronic.getViewPort().width<c&&$(".page-sidebar").hasClass("in")&&$(".page-header .responsive-toggler").click(),$.ajax({type:"GET",cache:!1,url:b,dataType:"html",success:function(a){Metronic.stopPageLoading(),d.html(a),Layout.fixContentHeight(),Metronic.initAjax()},error:function(a,b,c){d.html("<h4>Could not load the requested content.</h4>"),Metronic.stopPageLoading()}})}),i(),$(".page-sidebar").on("click",".sidebar-search .remove",function(a){a.preventDefault(),$(".sidebar-search").removeClass("open")}),$(".page-sidebar .sidebar-search").on("keypress","input.form-control",function(a){return 13==a.which?($(".sidebar-search").submit(),!1):void 0}),$(".sidebar-search .submit").on("click",function(a){a.preventDefault(),$("body").hasClass("page-sidebar-closed")&&$(".sidebar-search").hasClass("open")===!1?(1===$(".page-sidebar-fixed").size()&&$(".page-sidebar .sidebar-toggler").click(),$(".sidebar-search").addClass("open")):$(".sidebar-search").submit()}),0!==$(".sidebar-search").size()&&($(".sidebar-search .input-group").on("click",function(a){a.stopPropagation()}),$("body").on("click",function(){$(".sidebar-search").hasClass("open")&&$(".sidebar-search").removeClass("open")}))},g=function(){var a=Metronic.getViewPort().height-$(".page-header").outerHeight();return $("body").hasClass("page-footer-fixed")&&(a-=$(".page-footer").outerHeight()),a},h=function(){var a=$(".page-sidebar-menu");return Metronic.destroySlimScroll(a),0===$(".page-sidebar-fixed").size()?void d():void(Metronic.getViewPort().width>=c&&(a.attr("data-height",g()),Metronic.initSlimScroll(a),d()))},i=function(){var a=$("body");a.hasClass("page-sidebar-fixed")&&$(".page-sidebar").on("mouseenter",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").removeClass("page-sidebar-menu-closed")}).on("mouseleave",function(){a.hasClass("page-sidebar-closed")&&$(this).find(".page-sidebar-menu").addClass("page-sidebar-menu-closed")})},j=function(){var a=$("body");$.cookie&&"1"===$.cookie("sidebar_closed")&&Metronic.getViewPort().width>=c?($("body").addClass("page-sidebar-closed"),$(".page-sidebar-menu").addClass("page-sidebar-menu-closed")):$.cookie&&$.cookie("sidebar_closed","0"),$("body").on("click",".sidebar-toggler",function(b){var c=$(".page-sidebar"),d=$(".page-sidebar-menu");$(".sidebar-search",c).removeClass("open"),a.hasClass("page-sidebar-closed")?(a.removeClass("page-sidebar-closed"),d.removeClass("page-sidebar-menu-closed"),$.cookie&&$.cookie("sidebar_closed","0")):(a.addClass("page-sidebar-closed"),d.addClass("page-sidebar-menu-closed"),a.hasClass("page-sidebar-fixed")&&d.trigger("mouseleave"),$.cookie&&$.cookie("sidebar_closed","1")),$(window).trigger("resize")})},k=function(){$(".page-header").on("click",'.hor-menu a[data-toggle="tab"]',function(a){a.preventDefault();var b=$(".hor-menu .nav"),c=b.find("li.current");$("li.active",c).removeClass("active"),$(".selected",c).remove();var d=$(this).parents("li").last();d.addClass("current"),d.find("a:first").append('<span class="selected"></span>')}),$(".page-header").on("click",".search-form",function(a){$(this).addClass("open"),$(this).find(".form-control").focus(),$(".page-header .search-form .form-control").on("blur",function(a){$(this).closest(".search-form").removeClass("open"),$(this).unbind("blur")})}),$(".page-header").on("keypress",".hor-menu .search-form .form-control",function(a){return 13==a.which?($(this).closest(".search-form").submit(),!1):void 0}),$(".page-header").on("mousedown",".search-form.open .submit",function(a){a.preventDefault(),a.stopPropagation(),$(this).closest(".search-form").submit()}),$('[data-hover="megamenu-dropdown"]').not(".hover-initialized").each(function(){$(this).dropdownHover(),$(this).addClass("hover-initialized")}),$(document).on("click",".mega-menu-dropdown .dropdown-menu",function(a){a.stopPropagation()})},l=function(){$("body").on("shown.bs.tab",'a[data-toggle="tab"]',function(){d()})},m=function(){var a=300,b=500;navigator.userAgent.match(/iPhone|iPad|iPod/i)?$(window).bind("touchend touchcancel touchleave",function(c){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}):$(window).scroll(function(){$(this).scrollTop()>a?$(".scroll-to-top").fadeIn(b):$(".scroll-to-top").fadeOut(b)}),$(".scroll-to-top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},b),!1})},n=function(){var a,b=$(".full-height-content");if(a=Metronic.getViewPort().height-$(".page-header").outerHeight(!0)-$(".page-footer").outerHeight(!0)-$(".page-title").outerHeight(!0)-$(".page-bar").outerHeight(!0),b.hasClass("portlet")){var d=b.find(".portlet-body");if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(d.find(".full-height-content-body"));a=a-b.find(".portlet-title").outerHeight(!0)-parseInt(b.find(".portlet-body").css("padding-top"))-parseInt(b.find(".portlet-body").css("padding-bottom"))-2,b.hasClass("full-height-content-scrollable")?(a-=35,d.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(d.find(".full-height-content-body"))):d.css("min-height",a)}else{if(Metronic.getViewPort().width<c)return void Metronic.destroySlimScroll(b.find(".full-height-content-body"));b.hasClass("full-height-content-scrollable")?(a-=35,b.find(".full-height-content-body").css("height",a),Metronic.initSlimScroll(b.find(".full-height-content-body"))):b.css("min-height",a)}};return{initHeader:function(){k()},setSidebarMenuActiveLink:function(a,b){e(a,b)},initSidebar:function(){h(),f(),j(),Metronic.isAngularJsApp()&&e("match"),Metronic.addResizeHandler(h)},initContent:function(){n(),l(),Metronic.addResizeHandler(d),Metronic.addResizeHandler(n)},initFooter:function(){m()},init:function(){this.initHeader(),this.initSidebar(),this.initContent(),this.initFooter()},fixContentHeight:function(){d()},initFixedSidebarHoverEffect:function(){i()},initFixedSidebar:function(){h()},getLayoutImgPath:function(){return Metronic.getAssetsPath()+a},getLayoutCssPath:function(){return Metronic.getAssetsPath()+b}}}();angular.module("xCallyShuttleApp").run(["$templateCache",function(a){a.put("app/agent/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-people font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_AGENTS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="agents.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AGENT\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/agents/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAgents([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="agents.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAgents" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="agent in displayedAgents" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="agents.checked" checklist-value="agent.id"></td>\n                                                               <td>{{agent.fullname}}</td>\n                                         <td>{{agent.name}}</td>\n                                       <td><a data-ng-href="mailto:{{agent.email}}">{{agent.email}}</a></td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/agents/view/{{agent.id}}/account">\n                                                                           {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(agent.fullname,agent.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAgents.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No agents available</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/agent/view/view.account.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}">\n                                            <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="agent.fullname" required/>\n                                                          <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="agent.name" required/>\n                                                              <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="agent.email" required/>\n                                                              <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="agent.internal" required disabled/>\n                                                              <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || agent.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && agent.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                             <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.currentPwd" required/>\n                                                             <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.newPwd" required/>\n                                                         <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="agent.reNewPwd" nx-equal="agent.newPwd" required/>\n                                                            <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/agent/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{agent.userpic ? agent.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.agents.view.account\')}">\n                                                        <a data-ng-href="/agents/view/{{agent.id}}/account">\n                                                  <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/agent/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/agents/list">{{ \'APPLICATION_AGENTS\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/agents/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                 </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/agents/validate/name"/>\n                                                        <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/agents/validate/email"/>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/agents/validate/internal"/>\n                                                   <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/analytic/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-book-open"></i>\n                                        <a href="/analytics/list">{{ \'APPLICATION_REPORTS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_REPORTS\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="analytics.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown" data-ng-click="createReport()">\n                                                   <i class="icon-plus"></i> {{ \'APPLICATION_NEW_REPORT\' | translate }}\n                                                         <!-- <i class="fa fa-angle-down"></i> -->\n                                            </a>\n                                          <!-- <ul class="dropdown-menu pull-right">\n                                                    <li>\n                                                          <a href="/analytics/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul> -->\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAnalytics([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="analytics.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="reports" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.reportsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="reportByPage in reportsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="reportByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(report, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="report in reports">\n                                                           <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="analytics.checked" checklist-value="report.id"></td>\n                                                           <td>{{report.name}}</td>\n                                            <td>{{report.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/analytics/view/{{report.id}}/account">\n                                                                               {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(report.fullname,report.id)">\n                                                                               {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="reports.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No analytics available</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.reportsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/modal/modal.html",'<form name="form" novalidate data-ng-submit="form.$valid && ok()">\n  <div class="modal-header">\n    <h3 class="modal-title">{{ \'APPLICATION_REPORT\' | translate }}</h3>\n  </div>\n\n  <div class="modal-body">\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': form.$submitted && form.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="form.$submitted && form.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group" data-ng-class="{\'has-error\': form.$submitted && form.description.$invalid}">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description">\n      <span data-ng-show="form.$submitted && form.description.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END DESCRIPTION -->\n  </div>\n  \n  <div class="modal-footer">\n    <button class="btn btn-success" type="submit">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n    <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n  </div>\n</form>\n'),a.put("app/analytic/view/view.account.html",'<div class="row">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || analytic.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && analytic.id === Auth.getCurrentUser().id}">\n                                              <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="analytic.fullname" required/>\n                                                               <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="analytic.name" required/>\n                                                           <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="analytic.email" required/>\n                                                           <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="analytic.internal" required disabled/>\n                                                           <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || analytic.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && analytic.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                               <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.currentPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="analytic.reNewPwd" nx-equal="analytic.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/analytic/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/analytics/list">{{ \'APPLICATION_ANALYTICS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{analytic.fullname}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{analytic.userpic ? analytic.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{analytic.fullname}}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{analytic.role}}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.analytics.view.account\')}">\n                                                     <a data-ng-href="/analytics/view/{{analytic.id}}/account">\n                                                    <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/analytic/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/analytics/list">{{ \'APPLICATION_ANALYTICS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/analytics/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_ANALYTIC\' | translate }} WIZARD</a> </span>\n           </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/analytics/validate/name"/>\n                                                     <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/analytics/validate/email"/>\n                            <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/analytics/validate/internal"/>\n                                                        <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/automation/list/list.html",'<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bulb"></i>\n                                             <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Automations.checked.length">\n                                             <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/automations/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="automations.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                     <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.AutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="AutomationByPage in AutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="AutomationByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(Automation, checked)" checklist-model checklist-value="id"></th>\n                                               <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="channel">{{ \'APPLICATION_CHANNEL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="Automation in displayedAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Automations.checked" checklist-value="Automation.id"></td>\n                                           <td>{{Automation.name}}</td>\n                                                            <td>{{Automation.description}}</td>\n                                                           <td>{{Automation.channel | capitalize}}</td>\n                                                          <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(Automation.id, Automation.status)",\n                                                                    bs-switch\n                                                             ng-model="Automation.status"\n                                                                  type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/automations/view/{{Automation.id}}/settings">\n                                                                                {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(Automation.name, Automation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedAutomations.length">\n                                                               <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="channel" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CHANNEL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                                         <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.AutomationsByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ automation.description }}\n                                  </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.automations.view.settings\')}">\n                                                  <a href="/automations/view/{{automation.id}}/settings">\n                                                       <i class="icon-bulb"></i>\n                                                     {{ \'APPLICATION_SETTINGS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/automation/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_CONDITIONS\' | translate}} & {{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <!-- <pre>\n                                    {{conditionsData.query | json}}\n                               </pre>\n                                <pre>\n                                 {{actionsData.query | json}}\n                          </pre> -->\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateAutomation()" novalidate>\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <div class="tab-pane" id="tab_1_2">\n                                   <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[automation.channel]"></query-builder>\n                                              </div>\n                                        </div>\n                                        <div class="portlet light bordered">\n                                          <div class="portlet-title">\n                                                   <div class="caption font-blue-hoki">\n                                                          <i class="icon-tag font-blue-hoki"></i>\n                                                               <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                   </div>\n                                                </div>\n                                                <div class="portlet-body">\n                                                    <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[automation.channel]"></query-builder>\n                                               </div>\n                                        </div>\n\n                                              <input class="btn green-haze" type="button" value="{{\'APPLICATION_UPDATE\' | translate}}" data-ng-click="updateAutomation()"/>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/automation/wizard/wizard.html",'<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <!-- <pre>\n                                            {{item | json}}\n                                       </pre>\n                                        <pre>\n                                         {{conditionsData.query | json}}\n                                       </pre>\n                                        <pre>\n                                         {{actionsData.query | json}}\n                                  </pre> -->\n                                    <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                              <form name="forms.general" data-ng-submit="submit()" novalidate>\n                                                      <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.general.name.$touched && forms.general.name.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.general.name.$touched && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                            </form>\n                                       </wz-step>\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(conditionsData.query.length && actionsData.query.length)">\n                                          <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CHANNEL\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <div class="form-group"  >\n                                                                    <label class="control-label">{{ \'APPLICATION_CHANNEL\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="item.channel" name="channel" theme="bootstrap" required>\n                                                                            <ui-select-match placeholder="{{ \'APPLICATION_CHANNEL\' | translate }}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                          <ui-select-choices repeat="channel in $automations.channels | filter: $select.search">\n                                                                                        <div ng-bind-html="channel | highlight: $select.search | capitalize"></div>\n                                                                           </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$automations.operators" properties="properties[item.channel]"></query-builder>\n                                                    </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[item.channel]"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/chat/preview/preview.html",'<style>\n  .xc_footer\n  {\n    text-align: center;\n   padding-bottom: 5px;\n  }\n\n  .xc_powered\n  {\n       color: grey;\n    font: 10px/16px "Lucida Grande","Lucida Sans Unicode",Arial,Verdana,sans-serif;\n     padding-bottom: 5px;\n  }\n\n  .xc_chat_container\n  {\n        //width:379px;\n        //position:fixed;\n     //bottom:0;\n   //right:50px;\n         z-index:9999;\n         background-color:transparent;\n  }\n\n  .xc_chat_container *\n  {\n     font-family:Arial,Helvetica,sans-serif;\n       font-size:13px;\n       margin:0;\n     padding:0;\n  }\n\n  .xc_chat_container p\n  {\n        margin:5px 0;\n  }\n\n  .xc_signup_wrapper\n  {\n       max-height:375px;\n  }\n\n  .xc_conversation_container\n  {\n   max-height:375px;\n     list-style:none;\n      overflow:auto;\n        margin:0;\n     padding:20px 10px;\n  }\n\n  .xc_conversation_container a\n  {\n        color:#036;\n  }\n\n  .xc_conversation_container a.xc_btn_style\n  {\n          color:#fff;\n  }\n\n  div.xc_chat_head\n  {\n   color:#fff;\n   background:{{chatWebsite.color}};\n     //border-radius: 20px 20px 0px 0px !important;\n        height:52px;\n          line-height:55px;\n     cursor:pointer;\n  }\n\n  div.xc_chat_head.rounded\n  {\n       border-radius: 20px 20px 0px 0px !important;\n  }\n\n  div.xc_chat_head.squared\n  {\n          //border-radius: 20px 20px 0px 0px !important;\n  }\n\n  .xc_chat_head-title\n  {\n     margin:5px 0 0 15px;\n          color: #fff;\n  }\n\n  .xc_header_icon\n  {\n   display:block;\n        background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n         width:21px;\n   height:16px;\n          float:right;\n          margin:20px 20px 0 0;\n  }\n\n  .xc_header_icon span.xc_notification_badge span\n  {\n          display:block;\n        height:16px;\n          width:15px;\n   text-align:center;\n    font-size:9px;\n        color:#555;\n   position:relative;\n    top:-20px;\n    left:4px;\n     margin:0;\n     padding:0;\n  }\n\n  .xc_sub-head-spacer\n  {\n         padding:1px;\n  }\n\n  .xc_conversation\n  {\n          display:none;\n         margin:0 12px 0 11px;\n  }\n\n  .xc_chat_toggle_container\n  {\n        /*background:mediumslateblue center -52px;*/\n          background: white;\n    border-style: solid;\n    border-width: 1px;\n          border-color: {{chatWebsite.color}};\n          //display:none;\n  }\n\n  .xc_signup_wrapper,.xc_notifications_wrapper,.xc_enquiry_wrapper\n  {\n       //display:none;\n    display:block;\n   overflow:auto;\n        line-height:1;\n        padding:25px;\n  }\n\n  .xc_exit_chat_container\n  {\n          text-align:right;\n     width:95%;\n    margin:0 auto;\n        padding:5px 1px 0 0;\n  }\n\n  .xc_exit_chat_container span,.xc_exit_chat_container a\n  {\n    font-size:80%;\n        color:#666;\n   text-decoration:none;\n  }\n\n  .xc_exit_chat_container a:hover\n  {\n          color:#333;\n  }\n\n  a.xc_btn_exit_chat_confirm:hover\n  {\n   color:red;\n  }\n\n  a.xc_btn_exit_chat_cancel:hover\n  {\n     color:#0c0;\n  }\n\n  form.xc_form_reply\n  {\n         position:relative;\n  }\n\n  .xc_form_reply\n  {\n      /*background-color:#e3e3e3;*/\n         text-align:center;\n    /*border-top:1px solid #d3d3d3;*/\n  }\n\n  .xc_input_message\n  {\n    height:100px;\n         margin:10px auto 5px;\n  }\n\n  .xc_input_enquiry_message\n  {\n        height:100px;\n  }\n\n  .xc_form_signup,.xc_form_enquiry\n  {\n         text-align:center;\n  }\n\n  .xc_chat_container textarea,.xc_chat_container input[type=text]\n  {\n     width:95%;\n    min-width:95%;\n        max-width:95%;\n        -webkit-box-sizing:border-box;\n        -moz-box-sizing:border-box;\n   box-sizing:border-box;\n        background-color:#fff;\n        border:1px solid #ccc;\n        -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n    box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);\n         -webkit-transition:border linear .2s, box-shadow linear .2s;\n          -moz-transition:border linear .2s, box-shadow linear .2s;\n     -o-transition:border linear .2s, box-shadow linear .2s;\n       transition:border linear .2s, box-shadow linear .2s;\n          display:inline-block;\n         font-size:14px;\n       line-height:20px;\n     color:#555;\n   -webkit-border-radius:4px;\n    -moz-border-radius:4px;\n       border-radius:4px;\n    vertical-align:middle;\n        margin:3px 0;\n         padding:4px 6px;\n      resize: none;\n  }\n\n  .xc_chat_container textarea:focus,.xc_chat_container input[type=text]:focus\n  {\n      outline: {{chatWebsite.color_focus}} auto 5px;\n  }\n\n  .xc_chat_container input[type=text]\n  {\n     height: 30px;\n  }\n\n  .xc_message_sending textarea, .xc_enquiry_sending textarea\n  {\n       background: #fff url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/loading.gif) 98% 5px no-repeat;\n  }\n\n  .xc_chatrow\n  {\n     display:block;\n        border-top:1px dashed #e3e3e3;\n        margin:5px 0;\n         clear: both;\n  }\n\n  .xc_chatrow p\n  {\n     color:#444;\n   word-wrap:break-word;\n  }\n\n  .xc_time\n  {\n         float:right;\n          font-size:80%;\n        color:#ccc;\n   padding-left:12px;\n    margin:3px;\n  }\n\n  .xc_submission_pending\n  {\n     background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_clock.png) left center no-repeat;\n  }\n\n  .xc_submission_confirmed\n  {\n         background:transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_tick.png) left center no-repeat;\n  }\n\n  .xc_fullname\n  {\n      font-weight:700;\n  }\n\n  .xc_fullname:after\n  {\n    content:":";\n  }\n\n  .xc_avatar\n  {\n        float: left;\n          margin: 0 5px 5px 0;\n          display: inline-block;\n        width: 40px;\n          height: 40px;\n         border-radius: 5px;\n           -moz-border-radius: 5px;\n      -webkit-border-radius: 5px;\n  }\n\n  .xc_smilie\n  {\n         background-repeat:no-repeat;\n          display:inline-block;\n         width:18px;\n   height:18px;\n          text-indent:-9999px;\n          white-space:nowrap;\n  }\n\n  .xc_btn_load_more\n  {\n          width:100%!important;\n  }\n\n  .xc_notifications_wrapper\n  {\n        text-shadow:0 1px 0 rgba(255,255,255,0.5);\n  }\n\n  .xc_notification_success\n  {\n    color:#468847;\n  }\n\n  .xc_notification_error\n  {\n          color:#b94a48;\n  }\n\n  .xc_errorlist\n  {\n   margin:0 0 0 25px;\n    padding:0;\n  }\n\n  i.xc_btn_notifications_close\n  {\n        float:right;\n          font-weight:700;\n      font-size:20px;\n       color:#ccc;\n   cursor:pointer;\n       margin:-15px 0 0;\n     padding:0;\n  }\n\n  .xc_btn_style\n  {\n       width:95%;\n    text-align:center;\n    line-height:1.2;\n      font-size:90%;\n        -moz-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n         -webkit-box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      box-shadow:inset 0 1px 0 0 {{chatWebsite.color_button}};\n      background:0;\n         background-color:{{chatWebsite.color_button}};\n        -moz-border-radius:4px;\n       -webkit-border-radius:4px;\n    border-radius:4px;\n    border:1px solid {{chatWebsite.color_button}};\n        display:inline-block;\n         color:#fff;\n   font-weight:700;\n      text-decoration:none;\n         text-shadow:1px 1px 0 #000c17;\n        margin:0 auto 5px;\n    padding:2px 0;\n  }\n\n  .xc_btn_style:hover\n  {\n     background:0;\n         background-color:{{chatWebsite.color_button}};\n      color: #fff;\n            text-decoration: none;\n  }\n\n  .xc_btn_style:active\n  {\n    position:relative;\n    top:1px;\n  }\n\n  .xc_composing_container\n  {\n       display: none;\n    width: 95%;\n    margin: 0 auto;\n    background: transparent url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/bullet_pencil.png) 6px center no-repeat;\n    padding-left: 19px;\n    font-style: italic;\n  }\n\n  @media only screen and (max-height: 620px) {\n     .xc_conversation_container\n    {\n             max-height:300px!important;\n   }\n  }\n\n  @media only screen and (max-height: 545px) {\n      .xc_conversation_container\n    {\n             max-height:200px!important;\n   }\n  }\n\n  @media only screen and (max-height: 445px) {\n      .xc_conversation_container\n    {\n             max-height:150px!important;\n   }\n  }\n\n  @media only screen and (max-width: 480px) {\n       .xc_chat_container\n    {\n             width:95%!important;\n                  right:auto!important;\n                 -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 box-shadow:0 0 5px rgba(0,0,0,.5);\n            -webkit-box-shadow:0 0 5px rgba(0,0,0,.5);\n            -moz-box-shadow:0 0 5px rgba(0,0,0,.5);\n       }\n\n   div.xc_chat_head\n      {\n             background-color:#036;\n                background-image:none;\n                line-height:25px;\n             height:auto;\n                  -webkit-border-top-left-radius:15px;\n                  -webkit-border-top-right-radius:15px;\n                 -moz-border-radius-topleft:15px;\n              -moz-border-radius-topright:15px;\n             border-top-left-radius:15px;\n                  border-top-right-radius:15px;\n                 padding:10px;\n         }\n\n   .xc_chat_toggle_container\n     {\n             background-color:#fff;\n                background-image:none;\n                border-color:#036;\n            border-style:solid;\n           border-width:0 1px;\n   }\n\n   .xc_header_icon\n       {\n             background-image:url({{chatWebsite.remote}}/api/xchatty/assets?resource=images/icon_visitorchat.png);\n                 margin:0;\n     }\n\n   .xc_header_icon span.xc_notification_badge span\n       {\n             top:-5px;\n             left:5px;\n     }\n\n   .xc_notification_success\n      {\n             background-color:#dff0d8;\n             border:1px solid #d6e9c6;\n     }\n\n   .xc_conversation_container\n    {\n             max-height:375px;\n             border-color:#036;\n    }\n\n   .xc_notification_error\n        {\n             background-color:#f2dede;\n             border:1px solid #eed3d7;\n     }\n\n   .xc_sub-head-spacer\n   {\n             display:none;\n                 padding:0;\n    }\n\n   .xc_chat_head-title,.xc_conversation\n          {\n             margin:0;\n     }\n  }\n</style>\n<div class="xc_chat_container">\n    <div class="xc_chat_head {{chatWebsite.header_shape}}">\n      <i class="xc_header_icon">\n        <span class="xc_notification_badge">\n          <span class="xc_notification_badge_number"></span>\n        </span>\n      </i>\n      <span class="xc_chat_head-title">{{statePreview.state == \'online\' ? chatWebsite.header_online : chatWebsite.header_offline}}</span>\n    </div>\n    <div class="xc_chat_toggle_container">\n        <div class="xc_sub-head-spacer"></div>\n        <div class="xc_notifications_wrapper">\n            <!--<i class="xc_btn_notifications_close">&times;</i>-->\n            <ul class="xc_errorlist"></ul>\n        </div>\n        <div class="xc_enquiry_wrapper" data-ng-show=\'statePreview.state == "offline"\'>\n            <form class="xc_form_enquiry" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.offline_message\'></p>\n                <input maxlength="45" type="text" name="data[Enquiry][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_enquiry_fullname" />\n                <input maxlength="85" type="text" name="data[Enquiry][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_enquiry_email" />\n                <textarea maxlength="1500" placeholder="{{chatWebsite.enquiry_message_placeholder}}" name="data[Enquiry][message]" class="xc_input_enquiry_message"></textarea>\n                <a href="#" class="xc_btn_enquiry xc_btn_style">{{chatWebsite.enquiry_button}}</a></form>\n        </div>\n        <div class="xc_signup_wrapper" data-ng-show=\'statePreview.state == "online"\'>\n            <form class="xc_form_signup" accept-charset="UTF-8">\n                <p ng-bind-html=\'chatWebsite.online_message\'></p>\n                <input maxlength="45" type="text" name="data[Discussion][fullname]" placeholder="{{chatWebsite.username_placeholder}}" class="xc_input_fullname" />\n                <input maxlength="85" type="text" name="data[Discussion][email]" placeholder="{{chatWebsite.email_placeholder}}" class="xc_input_email" />\n                <input type="hidden" class="xc_input_visitor_time" name="data[Discussion][visitor_time]" /><a href="#" class="xc_btn_signup xc_btn_style">{{chatWebsite.start_chat_button}}</a></form>\n        </div>\n        <!-- <div class="xc_conversation">\n            <div class="xc_conversation_container">\n                <p class="xc_message_intro" data-id="-10">{FirstMessageText}</p>\n            </div>\n            <div class="xc_composing_container"></div>\n            <form class="xc_form_reply" accept-charset="UTF-8">\n                <div class="xc_exit_chat_container"><a href="#" class="xc_btn_exit_chat">{ExitChatButtonText}</a>\n                    <div class="xc_exit_chat_confirmation_wrapper" style="display: none;"><span>{ExitChatQuestionText} </span><a href="#" class="xc_btn_exit_chat_confirm">{ExitChatButtonConfirmText}</a><span> | </span><a href="#" class="xc_btn_exit_chat_cancel">{ExitChatButtonCancelText}</a></div>\n                </div>\n                <textarea maxlength="750" placeholder="{MessagePlaceholderText}" name="data[Message][message]" class="xc_input_message"></textarea><a href="#" class="xc_btn_send xc_btn_style">{MessageSendButtonText}</a></form>\n        </div> -->\n        <div class="xc_footer">\n            <div class="xc_powered"><a>Powered by Xenialab | Trademark xCALLY</a></div>\n        </div>\n    </div>\n</div>\n'),a.put("app/chat/queue/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_QUEUE\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Username\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="chat_queues.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatQueuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatQueueByPage in chatQueuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="chatQueueByPage.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatQueue in displayedChatQueues" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatQueues.checked" checklist-value="chatQueue.id"></td>\n                                             <td>{{chatQueue.name}}</td>\n                                                             <td>{{chatQueue.description}}</td>\n                                                            <td>{{chatQueue.strategy | uppercase}}</td>\n                                                           <td>{{chatQueue.timeout}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/queues/view/{{chatQueue.id}}/settings">\n                                                                         {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatQueue.name,chatQueue.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatQueues.length">\n                                                                <td colspan="6" style="text-align:center;">\n                                                                   <i>No chat queues available</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatQueuesByPage.value" st-displayed-pages="7"></div>\n                                          </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body" style="width: 50%; margin: 0 auto;">\n                                <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.queues.view.settings\')}">\n                                                  <a data-ng-href="/chat/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.queues.view.agents\')}">\n                                                    <a data-ng-href="/chat/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateChatQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_AGENT\' | translate}} {{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                            <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                               <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                     </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/chat/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                                        <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n              <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n            </div>\n                                           <!-- END TIMEOUT -->\n\n                                                <!-- START HEADER SHAPE -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n              <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n                                                </div>\n                                                <!-- END HEADER SHAPE -->\n                                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/chat/realtime/view/agent/agent.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n        <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="from" class="input-small">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                         <th st-sort="accountname" class="input-small">{{ \'APPLICATION_WEB_SITE\' | translate }}</th>\n                                         <th st-sort="agentcalledAt" st-sort-default="reverse">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                                <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentringnoanswerAt">{{ \'APPLICATION_UNASWER_AT\' | translate }}</th>\n                                           <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': agent.lastevent === \'called\',\n                                                         \'icon-user-following font-green\': agent.lastevent === \'agent\',\n                                                            \'icon-user-unfollow font-red\': agent.lastevent === \'timeout\',\n                                                             \'icon-user-unfollow font-blue\': agent.lastevent === \'answered_elsewhere\'}"></i>\n                                                   </span>\n                                               </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.chatqueuename}}</td>\n                                              <td>{{agent.fullname}}</td>\n                                           <td>{{agent.visitorname}} {{agent.visitoremail}}</td>\n                                         <td>{{agent.websitename}}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectedAt}}" data-ng-show="agent.agentconnectedAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentringnoanswerAt}}" data-ng-show="agent.agentringnoanswerAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_VISITOR\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_WEB_SITE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/chat/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initChats()">\n        <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedChats" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="visitorname" class="input-medium">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                         <th st-sort="websitename" class="input-small">{{ \'APPLICATION_WEB_SITE\' | translate }}</th>\n                                         <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedChats">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.chatqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.visitorname + \' [\' + session.visitoremail + \']\'}}</td>\n                                              <td>{{session.websitename}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.chatjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatleaveAt}}" data-ng-show="session.chatleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.chatunmanagedAt}}" data-ng-show="session.chatunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedChats.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="visitorname" placeholder="{{ \'APPLICATION_VISITOR\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="websitename" placeholder="{{ \'APPLICATION_WEB_SITE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/chat/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n      <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatRooms" filename="rooms.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatRooms" st-safe-src="chatRooms" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatRoomsByPage">\n                                                                                      <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatRooms.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                           </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_TYPE\' | translate }}</th>\n                                                        <th st-sort="users">{{ \'APPLICATION_USERS\' | translate }}</th>\n                                                      <th st-sort="visitor">{{ \'APPLICATION_VISITOR\' | translate }}</th>\n                                                  <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatRoom in displayedChatRooms" data-ng-click="$location.path(\'/chat/statistics/conversation/\' + chatRoom.id)">\n                                                 <td style="text-align: center;">{{chatRoom.type | uppercase}}</td>\n                                                    <td style="text-align: center;">{{getUsersFullname(chatRoom.Users)}}</td>\n                                                     <td style="text-align: center;">{{chatRoom.ChatVisitor.email}}</td>\n                                                   <td style="text-align: center;">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-success\': chatRoom.status == \'close\', \'label-warning\': chatRoom.status == \'open\'}">\n                                                                 {{chatRoom.status | capitalize}}\n                                                              </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatRoom.createdAt}}">\n                                                                   April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatRoomsByPage" st-displayed-pages="7"></div>\n                                                   </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.conversation.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initRoomView()">\n        <div class="col-md-6">\n                <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TRANSCRIPT\' | translate }}</a> </span>\n                                </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatRoom.ChatMessages" filename="chatMessages.csv">\n                                 <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="scroller" style="height: 352px;" data-always-visible="1" data-rail-visible1="1">\n                                  <ul class="chats">\n                                            <li data-ng-class="{\'out\': chatMessage.visitorId, \'in\': chatMessage.userId}" data-ng-repeat="chatMessage in chatRoom.ChatMessages | orderBy:\'-createdAt\'">\n                                                      <img class="avatar" data-ng-src="api/users/{{chatMessage.userId ? chatMessage.userId : \'avatar\'}}/avatar"/>\n                                                 <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <a href="#" class="name">\n                                                             {{chatMessage.fullname}} </a>\n                                                         <span class="datetime">\n                                                                       <time is="relative-time" datetime="{{chatMessage.createdAt}}">\n                                                                                April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <span class="body">\n                                                                   {{chatMessage.body}}\n                                                          </span>\n                                                       </div>\n                                                </li>\n                                 </ul>\n                         </div>\n                        </div>\n                <!-- END PORTLET-->\n           </div>\n        </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatRoom.ChatVisitor.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.fullname">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatRoom.ChatVisitor.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.email">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.email}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.remote_address">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.remote_address}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.referer">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.referer}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.browser">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.browser}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.engine">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.engine}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.os">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.os}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.device">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.device}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.country">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.country}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.region">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.region}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.city">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.city}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.latitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.latitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.longitude">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatRoom.ChatVisitor.longitude}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatRoom.ChatVisitor.createdAt">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatRoom.ChatVisitor.createdAt}}">\n                                                       April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n           <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered" data-ng-repeat="user in chatRoom.Users">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-earphones-alt font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_AGENT\' | translate }}:</a> </span>\n                                    <span class="caption-helper">{{user.fullname}}</span>\n                         </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.fullname}}\n                                     </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_USERNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{user.name}}\n                                 </div>\n                                </div>\n                                <div class="row static-info">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_ROLE\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{user.role | uppercase}}\n                                     </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.enquiry.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n   <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatEnquiries" filename="enquiries.csv">\n                           <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatEnquiries" st-safe-src="chatEnquiries" class="table table-bordered table-hover">\n                                <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatEnquiriesByPage">\n                                                                                  <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatEnquiries.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                               </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                                  <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="type">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="users">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatEnquiry in displayedChatEnquiries" data-ng-click="$location.path(\'/chat/statistics/enquiry/\' + chatEnquiry.id)">\n                                                    <td style="text-align: center;">{{chatEnquiry.username}}</td>\n                                                 <td style="text-align: center;">{{chatEnquiry.email}}</td>\n                                                    <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatEnquiriesByPage" st-displayed-pages="7"></div>\n                                                       </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.enquiry.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initEnquiryView()">\n  <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-book-open font-green-sharp"></i>\n                                       <span class="caption-subject">{{ \'APPLICATION_TEXT\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default" href="#" ng-csv="chatEnquiry" filename="chatEnquery.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <div class="note note-warning">\n                                       <h4 class="block">{{chatEnquiry.ChatVisitor.fullname}} -\n                                              <time is="relative-time" datetime="{{chatEnquiry.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </h4>\n                                 <p>\n                                            {{chatEnquiry.text}}\n                                 </p>\n                          </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatEnquiry.ChatVisitor.fullname}}</span>\n                              </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.fullname">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatEnquiry.ChatVisitor.fullname}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.email">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.email}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.remote_address">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.remote_address}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.referer">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.referer}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.browser">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.browser}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.engine">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.engine}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.os">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.os}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.device">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.device}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.country">\n                                  <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.country}}\n                                   </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.region">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.region}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.city">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.city}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.latitude">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.latitude}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.longitude">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatEnquiry.ChatVisitor.longitude}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatEnquiry.ChatVisitor.createdAt">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatEnquiry.ChatVisitor.createdAt}}">\n                                                    April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eyeglass"></i>\n                                 <a href="/chat/statistics">{{ \'APPLICATION_STATISTICS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/statistics.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <!-- <div class="profile-usertitle">\n                                  <div class="profile-usertitle-name">\n                                          {{chatWebsite.name}}\n                                  </div>\n                                        <div class="profile-usertitle-job">\n                                           {{chatWebsite.address}}\n                                       </div>\n                                </div> -->\n                            <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR BUTTONS -->\n                              <!-- <div class="profile-userbuttons">\n                                        <button type="button" class="btn btn-circle green-haze btn-sm">Follow</button>\n                                        <button type="button" class="btn btn-circle btn-danger btn-sm">Message</button>\n                               </div> -->\n                            <!-- END SIDEBAR BUTTONS -->\n                          <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.chat.statistics.summary\')}">\n                                                    <a ng-href="/chat/statistics/summary">\n                                                        <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_SUMMARY\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.enquiry\') || $state.is(\'main.chat.statistics.enquiries\')}">\n                                                   <a ng-href="/chat/statistics/enquiries">\n                                                      <i class="icon-question"></i>\n                                                 {{ \'APPLICATION_ENQUIRIES\' | translate }} </a>\n                                              </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.conversation\') || $state.is(\'main.chat.statistics.conversations\')}">\n                                                  <a ng-href="/chat/statistics/conversations">\n                                                  <i class="icon-notebook"></i>\n                                                 {{ \'APPLICATION_CONVERSATIONS\' | translate }} </a>\n                                          </li>\n                                         <li data-ng-class="{active: $state.is(\'main.chat.statistics.visitor\') || $state.is(\'main.chat.statistics.visitors\')}">\n                                                    <a ng-href="/chat/statistics/visitors">\n                                                       <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_VISITORS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.summary.html",'<div class="col-md-12">\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered" data-ng-show="online">\n            <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_LOCATIONS\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <map center="0, 0" zoom="2">\n                          <marker data-ng-show="chatVisitor.latitude && chatVisitor.longitude" data-ng-repeat="chatVisitor in chatVisitors" position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                   </map>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-notebook font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_OPENED\' | translate }} <i class="fa fa-img-up"></i>\n                                                                 </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'open\' }).length }} </span>\n                                                         </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_CLOSED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatRooms | filter:{ status:\'close\' }).length }} </span>\n                                                                </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatRooms | filter:{ status:\'open\' }).length, (chatRooms | filter:{ status:\'close\' }).length]" labels="[$translate.instant(\'APPLICATION_OPENED\'), $translate.instant(\'APPLICATION_CLOSED\')]" legend="true"></canvas>\n                          </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_PENDING\' | translate }} <i class="fa fa-img-up"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'pending\' }).length }} </span>\n                                                           </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_SERVED\' | translate }} <i class="fa fa-img-down"></i>\n                                                                       </span>\n                                                                       <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'served\' }:true).length }} </span>\n                                                               </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNSERVED\' | translate }} </span>\n                                                                    <span class="sale-num">\n                                                                       {{ (chatVisitors | filter:{ status:\'unserved\' }).length }} </span>\n                                                          </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatVisitors | filter:{ status:\'pending\' }).length, (chatVisitors | filter:{ status:\'served\' }:true).length, (chatVisitors | filter:{ status:\'unserved\' }).length]" labels="[$translate.instant(\'APPLICATION_PENDING\'), $translate.instant(\'APPLICATION_SERVED\'), $translate.instant(\'APPLICATION_UNSERVED\')]" legend="true"></canvas>\n                            </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n\n <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-question font-green-sharp"></i>\n                                <span class="caption-subject">{{ \'APPLICATION_ENQUIRIES\' | translate }}</a> </span>\n                 </div>\n                </div>\n                <div class="portlet-body">\n                    <div class="row">\n                             <div class="col-md-6">\n                                        <div class="portlet sale-summary">\n                                            <div class="portlet-body">\n                                                    <ul class="list-unstyled">\n                                                            <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_READ\' | translate }}<i class="fa fa-img-up"></i>\n                                                                    </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:true }).length}} </span>\n                                                             </li>\n                                                         <li>\n                                                                  <span class="sale-info">\n                                                                      {{ \'APPLICATION_UNREAD\' | translate }}<i class="fa fa-img-down"></i>\n                                                                        </span>\n                                                                       <span class="sale-num">\n                                                                       {{(chatEnquiries | filter:{ read:false }).length}} </span>\n                                                            </li>\n                                                 </ul>\n                                         </div>\n                                        </div>\n                                </div>\n                                <div class="col-md-6">\n                                        <canvas class="chart chart-pie" data="[(chatEnquiries | filter:{ read:true }).length, (chatEnquiries | filter:{ read:false }).length]" labels="[$translate.instant(\'APPLICATION_READ\'), $translate.instant(\'APPLICATION_UNREAD\')]" legend="true" ng-show="true"></canvas>\n                         </div>\n                        </div>\n                </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n'),
 a.put("app/chat/statistic/statistic.visitor.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="col-md-12">\n       <!-- BEGIN Portlet PORTLET-->\n <div class="portlet light bordered">\n          <div class="portlet-title">\n                   <div class="caption font-green-sharp">\n                                <i class="icon-users font-green-sharp"></i>\n                           <span class="caption-subject">{{ \'APPLICATION_VISITORS\' | translate }}</a> </span>\n                  </div>\n                        <div class="actions">\n                         <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedChatVisitors" filename="visitors.csv">\n                             <i class="icon-cloud-download"></i></a>\n                               <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                     </div>\n                </div>\n                <div class="portlet-body">\n                    <!-- START TABLE -->\n                  <table st-table="displayedChatVisitors" st-safe-src="chatVisitors" class="table table-bordered table-hover">\n                          <div class="table-responsive">\n                                        <thead>\n                                               <tr>\n                                                  <th colspan="9">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <select class="form-control input-small select2me" data-ng-model="conf.chatVisitorsByPage">\n                                                                                   <option value="10">10</option>\n                                                                                        <option value="25">25</option>\n                                                                                        <option value="50">50</option>\n                                                                                        <option value="{{chatVisitors.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                                </select>\n                                                                     </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                        <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="remote_address">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                    <th st-sort="referer">{{ \'APPLICATION_ORIGIN\' | translate }}</th>\n                                                   <th st-sort="device">{{ \'APPLICATION_DEVICE\' | translate }}</th>\n                                                    <th st-sort="browser">{{ \'APPLICATION_BROWSER\' | translate }}</th>\n                                                  <th st-sort="visitor_language">{{ \'APPLICATION_LANGUAGES\' | translate }}</th>\n                                                       <th st-sort="status">{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                    <th st-sort="createdAt">{{ \'APPLICATION_TIME\' | translate }}</th>\n                                           </tr>\n                                 </thead>\n                                      <tbody>\n                                               <tr data-ng-repeat="chatVisitor in displayedChatVisitors" data-ng-click="$location.path(\'/chat/statistics/visitor/\' + chatVisitor.id)">\n                                                     <td>{{chatVisitor.fullname}}</td>\n                                                     <td>{{chatVisitor.email}}</td>\n                                                        <td>{{chatVisitor.remote_address}}</td>\n                                                       <td>{{chatVisitor.referer}}</td>\n                                                      <td class="centered-td">{{chatVisitor.device ? chatVisitor.device : \'--\'}}</td>\n                                                     <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.browser.includes(\'Chrome\')" data-ng-src="assets/images/browsers/chrome/chrome_16x16.png" data-title="{{chatVisitor.browser}}" bs-tooltip>\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Safari\')" data-ng-src="assets/images/browsers/safari/safari_16x16.png">\n                                                            <img data-ng-show="chatVisitor.browser.includes(\'Firefox\')" data-ng-src="assets/images/browsers/firefox/firefox_16x16.png">\n                                                         <img data-ng-show="chatVisitor.browser.includes(\'Explorer\')" data-ng-src="assets/images/browsers/internet-explorer/internet-explorer_16x16.png">\n                                                    </td>\n                                                 <td class="centered-td">\n                                                              <img data-ng-show="chatVisitor.visitor_language.includes(\'IT\') || chatVisitor.visitor_language.includes(\'it\')" data-ng-src="assets/images/flags/it.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'US\') || chatVisitor.visitor_language.includes(\'us\')" data-ng-src="assets/images/flags/us.png">\n                                                          <img data-ng-show="chatVisitor.visitor_language.includes(\'EN\') || chatVisitor.visitor_language.includes(\'en\')" data-ng-src="assets/images/flags/en_EN.png">\n                                                       </td>\n                                                 <td class="centered-td">\n                                                              <span class="label label-sm label-success" data-ng-class="{\'label-warning\': chatVisitor.status == \'pending\', \'label-danger\': chatVisitor.status == \'unserved\'}">\n                                                                      {{ $translate.instant(\'APPLICATION_\' + $filter(\'uppercase\')(chatVisitor.status)) }}\n                                                               </span>\n                                                       </td>\n                                                 <td style="text-align: center;">\n                                                              <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                                        April 1, 2014\n                                                         </time>\n                                                       </td>\n                                         </tr>\n                                 </tbody>\n                                      <tfoot>\n                                               <tr>\n                                                  <td colspan="9" class="text-center">\n                                                          <div st-pagination class="pagination" st-items-by-page="conf.chatVisitorsByPage" st-displayed-pages="7"></div>\n                                                        </td>\n                                         </tr>\n                                 </tfoot>\n                      </div>\n                        </table>\n                      <!-- END TABLE -->\n            </div>\n        </div>\n        <!-- END Portlet PORTLET-->\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/statistic/statistic.visitor.view.html",'<!-- BEGIN PAGE CONTENT-->\n<div data-ng-init="initVisitorView()">\n  <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pin font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_LOCATION\' | translate }}</a> </span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN PAGE CONTENT-->\n                            <map center="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" zoom="8">\n                                   <marker position="{{chatVisitor.latitude}}, {{chatVisitor.longitude}}" title="{{chatVisitor.fullname}}"></marker>\n                             </map>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n        <div class="col-md-6">\n                <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-user font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VISITOR\' | translate }}:</a> </span>\n                                  <span class="caption-helper">{{chatVisitor.fullname}}</span>\n                          </div>\n                                <div class="actions">\n                                 <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row static-info" data-ng-show="chatVisitor.longitude && chatVisitor.latitude">\n                            </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.fullname">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_FULLNAME\' | translate}}\n                                      </div>\n                                        <div class="col-md-8 value">\n                                          {{chatVisitor.fullname}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.email">\n                                        <div class="col-md-4 name">\n                                           {{\'APPLICATION_EMAIL\' | translate}}\n                                 </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.email}}\n                                 </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.remote_address">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REMOTE_ADDRESS\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.remote_address}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.referer">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_REFERER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.referer}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.browser">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_BROWSER\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.browser}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.engine">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_ENGINE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.engine}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.os">\n                                   <div class="col-md-4 name">\n                                           {{\'APPLICATION_OS\' | translate}}\n                                    </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.os}}\n                                    </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.device">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_DEVICE\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.device}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.country">\n                                      <div class="col-md-4 name">\n                                           {{\'APPLICATION_COUNTRY\' | translate}}\n                                       </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.country}}\n                                       </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.region">\n                                       <div class="col-md-4 name">\n                                           {{\'APPLICATION_REGION\' | translate}}\n                                        </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.region}}\n                                        </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.city">\n                                 <div class="col-md-4 name">\n                                           {{\'APPLICATION_CITY\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.city}}\n                                  </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.latitude">\n                                     <div class="col-md-4 name">\n                                           {{\'APPLICATION_LATITUDE\' | translate}}\n                                      </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.latitude}}\n                                      </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.longitude">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_LONGITUDE\' | translate}}\n                                     </div>\n                                        <div class="col-md-4 value">\n                                          {{chatVisitor.longitude}}\n                                     </div>\n                                </div>\n                                <div class="row static-info" data-ng-show="chatVisitor.createdAt">\n                                    <div class="col-md-4 name">\n                                           {{\'APPLICATION_ARRIVAL_TIME\' | translate}}\n                                  </div>\n                                        <div class="col-md-4 value">\n                                          <time is="relative-time" datetime="{{chatVisitor.createdAt}}">\n                                                        April 1, 2014\n                                         </time>\n                                       </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/timeline/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'"  ng-animate=" \'animate\' ">\n                                    <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/list/list.html",'<div class="row">\n       <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-globe"></i>\n                                            <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_WEB_SITES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="chatWebsites.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_WEB_SITE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#" data-ng-click="open()">\n                                                           <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/chat/websites/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getChatWebsites([\'name\', \'address\', \'description\', \'remote\'])" csv-header="[\'Name\', \'Address\', \'Description\', \'Remote\']" field-separator=";" filename="chat_websites.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedChatWebsites" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.chatWebsitesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="chatWebsiteByPage in chatWebsitesByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="chatWebsiteByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                              <th st-sort="address">{{ \'APPLICATION_WEB_ADDRESS\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="chatWebsite in displayedChatWebsites" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="chatWebsites.checked" checklist-value="chatWebsite.id"></td>\n                                         <td>{{chatWebsite.name}}</td>\n                                                           <td>{{chatWebsite.description}}</td>\n                                        <td><a ng-href="{{chatWebsite.address}}">{{chatWebsite.address}}</a></td>\n                                             <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/websites/view/{{chatWebsite.id}}/snippet/view">\n                                                                         {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(chatWebsite.name,chatWebsite.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedChatWebsites.length">\n                                                              <td colspan="5" style="text-align:center;">\n                                                                   <i>{{\'MESSAGE_NO_AVAILABLE_WEBSITES\' | translate}}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="address" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_WEB_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.chatWebsitesByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/chat/websites/view/{{chatWebsite.id}}/actions/wizard" data-toggle="dropdown">\n                                                     <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n                                                </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th class="input-small" align="center">{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                           <th class="input-small" align="center">{{\'APPLICATION_TIMEOUT\' | translate}} [s]</th>\n                                                   <th align="center">{{ \'APPLICATION_INTERVAL\' | translate }}</th>\n                                                                <th class="input-small">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="chatApplications">\n                                          <tr data-ng-repeat="application in chatApplications">\n                                                             <td align="center">\n                                                                   <span>\n                                                                                <i data-ng-class="application.User ? \'icon-user\' : \'icon-docs\'"></i>\n                                                                      </span>\n                                                               </td>\n                                                         <td align="center">{{application.timeout}}</td>\n                                                               <td align="center">{{application.Interval ? application.Interval.name : application.interval}}</td>\n                                                           <td>\n                                                                  <a class="btn default btn-xs blue-stripe" data-ng-href="/chat/websites/view/{{chatWebsite.id}}/actions/view/{{application.id}}">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app, application.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="chatApplications.length">\n                                                           <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/chat/website/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n       <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.settings" ng-submit="updateItem()" novalidate>\n                                      <!-- START APP -->\n                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                       </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END APP -->\n\n                                    <!-- START HOST -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                           <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                         <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END HOST -->\n\n                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                          <!-- START QUEUE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select class="input-medium" data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END QUEUE -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                          <!-- START AGENT -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END AGENT -->\n                                    </div>\n\n                                      <!-- START INTERVAL_TYPE -->\n                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n                                           <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                               {{ intType.name | translate }}\n                                                        </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END INTERVAL_TYPE -->\n\n                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                <!-- START TIME -->\n                                           <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                   <div class="input-group input-large">\n                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                             </fieldset>\n                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                     </div>\n                                                </div>\n                                                <!-- END TIME -->\n\n                                           <!-- START ALWAYS -->\n                                         <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                 <div class="input-group input-large">\n                                                         <label class="control-label pointer-cursor">\n                                                                  <input\n                                                                                bs-switch\n                                                                             data-ng-model="application.alwaysTime"\n                                                                                type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                               </label>\n                                                      </div>\n                                                </div>\n                                                <!-- END ALWAYS -->\n\n                                         <!-- START WEEKDAY -->\n                                                <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                        <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate}}\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END WEEKDAY -->\n\n                                                <!-- START MONTHDAY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                       <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTHDAY -->\n\n                                               <!-- START MONTH -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                  <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTH -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                          <!-- START INTERVALS -->\n                                              <div class="form-group inpu" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                    {{ interval.name}}\n                                                            </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVALS -->\n\n                                      </div>\n                                        <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n                          </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/chat/website/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n     <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n                                           <form name="forms.action" novalidate>\n                                                 <!-- START APP -->\n                                                    <div class="form-group"  data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n                                                               <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APP -->\n\n                                                    <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                                         <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                                          <!-- START QUEUE -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.ChatQueueId" name="queue" theme="bootstrap" required>\n                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                                          <!-- START AGENT -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENT -->\n                                                    </div>\n\n                                                      <!-- START INTERVAL_TYPE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n                                                         <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                               {{ intType.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERVAL_TYPE -->\n\n                                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                                             </fieldset>\n                                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                                     </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START ALWAYS -->\n                                                         <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                                 <div class="input-group input-large">\n                                                                         <label class="control-label pointer-cursor">\n                                                                                  <input\n                                                                                                bs-switch\n                                                                                             data-ng-model="application.alwaysTime"\n                                                                                                type="checkbox"\n                                                                                               switch-active="{{ isActive }}"\n                                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                                switch-on-color="{{ onColor }}"\n                                                                                               switch-off-color="{{ offColor }}"\n                                                                                             switch-animate="{{ animate }}"\n                                                                                                switch-size="{{ size }}"\n                                                                                              switch-label="{{ label }}"\n                                                                                            switch-icon="{{ icon }}"\n                                                                                              switch-radio-off="{{ radioOff }}"\n                                                                                             switch-label-width="{{ labelWidth }}"\n                                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                                               </label>\n                                                                      </div>\n                                                                </div>\n                                                                <!-- END ALWAYS -->\n\n                                                         <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate}}\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate }}\n                                                                                        </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                                          <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                                    {{ interval.name}}\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n\n                                                      <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n                                         </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <!-- <button class="btn green-haze" type="button" wz-previous><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button> -->\n                                              <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                  </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/view/snippet/view/view.html",'<div class="row" data-ng-init="getSnippetCode()">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SNIPPET\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_EMBEDDING\' | translate}}</a>\n                                    </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_APPEARANCE\' | translate}}</a>\n                                   </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{\'APPLICATION_FORMS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_LABELS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_5" data-toggle="tab">{{\'APPLICATION_SETTINGS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                             <div class="col-md-8">\n                                                        <div class="tab-content">\n                                                             <!-- EMBEDDING TAB -->\n                                                                <div class="tab-pane active" id="tab_1_1">\n                                                                    <h3>{{\'APPLICATION_EMBED_SNIPPET\' | translate}}</h3>\n                                                                        <p>\n                                                                           {{\'MESSAGE_EMBED_SNIPPET\' | translate}}\n                                                                     </p>\n                                                                  <div class="form-body">\n                                                                               <div class="form-group">\n                                                                                      <div class="col-md-12">\n                                                                                               <textarea name="snippet" rows="13" style="resize:none;cursor:text;" class="form-control" readonly data-ng-model="snippetCode"></textarea>\n                                                                                     </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </div>\n                                                                <!-- END EMBEDDING TAB -->\n\n                                                          <!-- APPEARANCE TAB -->\n                                                               <div class="tab-pane" id="tab_1_2">\n                                                                   <form name="forms.formAppearance" data-ng-submit="forms.formAppearance.$valid && updateItem()" novalidate>\n\n                                                                          <!-- START MAIN COLOR -->\n                                                                             <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.host.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_MAIN_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                  <input colorpicker type="text" name="mainColor" placeholder="{{\'APPLICATION_MAIN_COLOR\' | translate}}" style="color:{{chatWebsite.color}}" class="form-control" data-ng-model="chatWebsite.color" required/>\n                                                                                        <span data-ng-show="(forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.mainColor.$invalid && forms.formAppearance.mainColor.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END MAIN COLOR -->\n\n                                                                             <!-- START FOCUS COLOR -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_FOCUS_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                 <input colorpicker type="text" name="focusColor" placeholder="{{\'APPLICATION_FOCUS_COLOR\' | translate}}" style="color:{{chatWebsite.color_focus}}" class="form-control" data-ng-model="chatWebsite.color_focus" required/>\n                                                                                  <span data-ng-show="(forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid && forms.formAppearance.focusColor.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END FOCUS COLOR -->\n\n                                                                            <!-- START BUTTON COLOR -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_BUTTON_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                        <input colorpicker type="text" name="buttonColor" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" style="color:{{chatWebsite.color_button}}" class="form-control" data-ng-model="chatWebsite.color_button" required/>\n                                                                                      <span data-ng-show="(forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid && forms.formAppearance.buttonColor.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END BUTTON COLOR -->\n\n                                                                           <!-- START HEADER SHAPE -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.headerShape.$touched || forms.formAppearance.$submitted) && forms.formAppearance.headerShape.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                                        <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                                                       <ui-select data-ng-model="chatWebsite.header_shape" name="headerShape" theme="bootstrap">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant(\'APPLICATION_\' + $select.selected.toUpperCase())}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="headerShape in [\'rounded\',\'squared\'] | filter: $select.search">\n                                                                                                        <div ng-bind-html="$translate.instant(\'APPLICATION_\' + headerShape.toUpperCase()) | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END HEADER SHAPE -->\n\n                                                                           <!-- START ANIMATION TOGGLE -->\n                                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.animationToggle.$touched || forms.formAppearance.$submitted) && forms.formAppearance.animationToggle.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                                        <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                                                       <ui-select data-ng-model="chatWebsite.animation" name="animationToggle" theme="bootstrap">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                                                <ui-select-choices repeat="animationToggle in [true, false] | filter: $select.search">\n                                                                                                        <div ng-bind-html="animationToggle ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END ANIMATION TOGGLE -->\n\n\n                                                                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END APPEARANCE TAB -->\n\n                                                         <!-- FORMS TAB -->\n                                                            <div class="tab-pane" id="tab_1_3">\n                                                                   <form name="forms.formFunctionality" data-ng-submit="forms.formFunctionality.$valid && updateItem()" novalidate>\n\n                                                                            <!-- START DOWNLOAD TRANSCRIPT -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formFunctionality.animationToggle.$touched || forms.formFunctionality.$submitted) && forms.formFunctionality.animationToggle.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_DOWNLOAD_TRANSCRIPT\' | translate}}</label>\n                                                                                      <ui-select data-ng-model="chatWebsite.download_transcript" name="downloadTranscript" theme="bootstrap">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                                                <ui-select-choices repeat="downloadTranscript in [true, false] | filter: $select.search">\n                                                                                                     <div ng-bind-html="downloadTranscript ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <!-- END DOWNLOAD TRANSCRIPT -->\n\n                                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END FORMS TAB -->\n\n                                                              <!-- STRINGS TAB -->\n                                                          <div class="tab-pane" id="tab_1_4">\n                                                                   <form name="forms.formLabel" data-ng-submit="forms.formLabel.$valid && updateItem()" novalidate>\n\n                                                                            <h4 class="block" data-ng-show="statePreview.state == \'online\'">{{\'APPLICATION_ONLINE_STATE\' | translate}}</h4>\n\n                                                                         <!-- START HEADER ONLINE -->\n                                                                          <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.headerOnline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                                                      <label class="control-label">{{\'APPLICATION_HEADER_ONLINE\' | translate}}</label>\n                                                                                    <input type="text" name="headerOnline" placeholder="{{\'APPLICATION_HEADER_ONLINE\' | translate}}" class="form-control" data-ng-model="chatWebsite.header_online"/>\n                                                                           </div>\n                                                                                <!-- END HEADER ONLINE -->\n\n                                                                          <!-- START ONLINE MESSAGE-->\n                                                                          <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.onlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}</label>\n                                                                                   <input type="text" name="onlineMessage" placeholder="{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="chatWebsite.online_message"/>\n                                                                                </div>\n                                                                                <!-- END HEADER ONLINE -->\n\n                                                                          <!-- START USERNAME PLACEHOLDER -->\n                                                                           <div class="form-group" data-ng-show="statePreview.state == \'online\' || statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.usernamePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.usernamePlaceholder.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}</label>\n                                                                                     <input type="text" name="usernamePlaceholder" placeholder="{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.username_placeholder"/>\n                                                                              </div>\n                                                                                <!-- END USERNAME PLACEHOLDER -->\n\n                                                                           <!-- START EMAIL PLACEHOLDER -->\n                                                                              <div class="form-group" data-ng-show="statePreview.state == \'online\' || statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.emailPlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.emailPlaceholder.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}</label>\n                                                                                        <input type="text" name="emailPlaceholder" placeholder="{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.email_placeholder"/>\n                                                                               </div>\n                                                                                <!-- END EMAIL PLACEHOLDER -->\n\n                                                                              <!-- START START CHAT BUTTON -->\n                                                                              <div class="form-group" data-ng-show="statePreview.state == \'online\'" data-ng-class="{\'has-error\': (forms.formLabel.startChatButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}</label>\n                                                                                        <input type="text" name="startChatButton" placeholder="{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}" class="form-control" data-ng-model="chatWebsite.start_chat_button"/>\n                                                                                </div>\n                                                                                <!-- END START CHAT BUTTON -->\n\n                                                                              <h4 class="block" data-ng-show="statePreview.state == \'offline\'">{{\'APPLICATION_OFFLINE_STATE\' | translate}}</h4>\n\n                                                                               <!-- START HEADER OFFLINE -->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.headerOffline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_HEADER_OFFLINE\' | translate}}</label>\n                                                                                   <input type="text" name="headerOffline" placeholder="{{\'APPLICATION_HEADER_OFFLINE\' | translate}}" class="form-control" data-ng-model="chatWebsite.header_offline"/>\n                                                                                </div>\n                                                                                <!-- END HEADER OFFLINE -->\n\n                                                                         <!-- START OFFLINE MESSAGE-->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.offlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}</label>\n                                                                                  <input type="text" name="offlineMessage" placeholder="{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="chatWebsite.offline_message"/>\n                                                                             </div>\n                                                                                <!-- END OFFLINE MESSAGE -->\n\n                                                                                <!-- START ENQUIRY MESSAGE PLACEHOLDER-->\n                                                                             <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.enquiryMessagePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                                       <label class="control-label">{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}</label>\n                                                                                      <input type="text" name="enquiryMessagePlaceholder" placeholder="{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="chatWebsite.enquiry_message_placeholder"/>\n                                                                          </div>\n                                                                                <!-- END ENQUIRY MESSAGE PLACEHOLDER -->\n\n                                                                            <!-- START ENQUIRY BUTTON -->\n                                                                         <div class="form-group" data-ng-show="statePreview.state == \'offline\'" data-ng-class="{\'has-error\': (forms.formLabel.enquiryButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                                 <label class="control-label">{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}</label>\n                                                                                   <input type="text" name="enquiryButton" placeholder="{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}" class="form-control" data-ng-model="chatWebsite.enquiry_button"/>\n                                                                                </div>\n                                                                                <!-- END ENQUIRY BUTTON -->\n\n                                                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END STRINGS TAB -->\n\n                                                            <!-- SETTINGS TAB -->\n                                                         <div class="tab-pane" id="tab_1_5">\n                                                                   <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItem()" novalidate>\n\n                                                                                <!-- START NAME -->\n                                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSetting.name.$invalid}">\n                                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                        <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="chatWebsite.name" required/>\n                                                                                    <span data-ng-show="(forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSettings.name.$invalid && forms.formSetting.name.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END NAME -->\n\n                                                                           <!-- START ADDRESS -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_WEB_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                 <input type="url" name="address" placeholder="{{\'APPLICATION_WEB_ADDRESS\' | translate}}" class="form-control" data-ng-model="chatWebsite.address" required/>\n                                                                                        <span data-ng-show="(forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid && forms.formSetting.address.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END ADDRESS -->\n\n                                                                                <!-- START REMOTE IP -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid}">\n                                                                                    <label class="control-label">{{\'APPLICATION_REMOTE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                                      <input type="url" name="remote" placeholder="{{\'APPLICATION_REMOTE\' | translate}}" class="form-control" data-ng-model="chatWebsite.remote" required/>\n                                                                                       <span data-ng-show="(forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid && forms.formSetting.remote.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END REMOTE IP -->\n\n                                                                              <!-- START DESCRIPTION -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.description.$touched || forms.formSetting.$submitted) && forms.formSetting.description.$invalid}">\n                                                                                  <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="chatWebsite.description"/>\n                                                                                </div>\n                                                                                <!-- END DESCRIPTION -->\n\n                                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                                                  </form>\n                                                               </div>\n                                                                <!-- END SETTINGS TAB -->\n                                                     </div>\n                                                </div>\n                                                <div class="col-md-4">\n                                                        <!-- START STATE -->\n                                                  <div class="form-group">\n                                                              <!-- <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label> -->\n                                                               <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                                               <ui-select data-ng-model="statePreview.state" name="statePreview" theme="bootstrap">\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="statePreview in [\'online\',\'offline\'] | filter: $select.search">\n                                                                                <div ng-bind-html="statePreview | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END STATE -->\n                                                    <preview></preview>\n                                           </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/chat/website/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bubble"></i>\n                                   <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-globe"></i>\n                                    <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{chatWebsite.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/website.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{chatWebsite.name}}\n                                  </div>\n                                        <div class="profile-usertitle-job">\n                                           {{chatWebsite.address}}\n                                       </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.includes(\'main.chat.websites.view.snippet\')}">\n                                                   <a ng-href="/chat/websites/view/{{chatWebsite.id}}/snippet/view">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SNIPPET\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.chat.websites.view.actions\')}">\n                                                   <a ng-href="/chat/websites/view/{{chatWebsite.id}}/actions/list">\n                                                     <i class="icon-directions"></i>\n                                                       {{ \'APPLICATION_ACTIONS\' | translate }} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/chat/website/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bubble"></i>\n                                           <a href="#">{{ \'APPLICATION_CHAT\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-globe"></i>\n                                            <a href="/chat/websites/list">{{ \'APPLICATION_WEB_SITES\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_WEB_SITE\' | translate }} WIZARD</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_WEB_SITE_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                               <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.name.$touched || forms.formSetting.$submitted) && forms.formSetting.name.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$touched && !forms.formSettings.name.$valid && forms.formSetting.name.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START ADDRESS -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_WEB_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                         <input type="url" name="address" placeholder="{{\'APPLICATION_WEB_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.address" required/>\n                                                               <span data-ng-show="(forms.formSetting.address.$touched || forms.formSetting.$submitted) && forms.formSetting.address.$invalid && forms.formSetting.address.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ADDRESS -->\n\n                                                        <!-- START REMOTE IP -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_REMOTE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remote" placeholder="{{\'APPLICATION_REMOTE\' | translate}}" class="form-control" data-ng-model="item.remote" required/>\n                                                              <span data-ng-show="(forms.formSetting.remote.$touched || forms.formSetting.$submitted) && forms.formSetting.remote.$invalid && forms.formSetting.remote.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END REMOTE IP -->\n\n                                                      <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.form.description"/>\n                                                  </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_WEB_SITE_APPEARANCE\' | translate}}" canexit="exitValidation(forms.formAppearance.$valid)">\n                                           <form name="forms.formAppearance" novalidate>\n\n                                                       <!-- START MAIN COLOR -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.host.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAIN_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                          <input colorpicker type="text" name="mainColor" placeholder="{{\'APPLICATION_MAIN_COLOR\' | translate}}" style="color:{{item.color}}" class="form-control" data-ng-model="item.color" required/>\n                                                              <span data-ng-show="(forms.formAppearance.mainColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.mainColor.$invalid && forms.formAppearance.mainColor.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAIN COLOR -->\n\n                                                     <!-- START FOCUS COLOR -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_FOCUS_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                         <input colorpicker type="text" name="focusColor" placeholder="{{\'APPLICATION_FOCUS_COLOR\' | translate}}" style="color:{{item.color_focus}}" class="form-control" data-ng-model="item.color_focus" required/>\n                                                                <span data-ng-show="(forms.formAppearance.focusColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.focusColor.$invalid && forms.formAppearance.focusColor.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FOCUS COLOR -->\n\n                                                    <!-- START BUTTON COLOR -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_BUTTON_COLOR\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input colorpicker type="text" name="buttonColor" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" style="color:{{item.color_button}}" class="form-control" data-ng-model="item.color_button" required/>\n                                                            <span data-ng-show="(forms.formAppearance.buttonColor.$touched || forms.formAppearance.$submitted) && forms.formAppearance.buttonColor.$invalid && forms.formAppearance.buttonColor.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END BUTTON COLOR -->\n\n                                                   <!-- START HEADER SHAPE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.headerShape.$touched || forms.formAppearance.$submitted) && forms.formAppearance.headerShape.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_HEADER_SHAPE\' | translate}}</label>\n                                                             <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="item.animation" required/> -->\n                                                              <ui-select data-ng-model="item.header_shape" name="headerShape" theme="bootstrap">\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant(\'APPLICATION_\' + $select.selected.toUpperCase())}}</ui-select-match>\n                                                                      <ui-select-choices repeat="headerShape in [\'rounded\',\'squared\'] | filter: $select.search">\n                                                                                <div ng-bind-html="$translate.instant(\'APPLICATION_\' + headerShape.toUpperCase()) | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END HEADER SHAPE -->\n\n                                                   <!-- START ANIMATION TOGGLE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formAppearance.animationToggle.$touched || forms.formAppearance.$submitted) && forms.formAppearance.animationToggle.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_ANIMATION\' | translate}}</label>\n                                                                <ui-select data-ng-model="item.animation" name="animationToggle" theme="bootstrap">\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected  ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                       <ui-select-choices repeat="filter in [true,false] | filter: $select.search">\n                                                                          <div ng-bind-html="filter ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END ANIMATION TOGGLE -->\n\n\n                                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_LABELS\' | translate}}" canexit="exitValidation(forms.formLabel.$valid)">\n                                             <form name="forms.formLabel" novalidate>\n\n                                                    <!-- START HEADER ONLINE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.headerOnline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_HEADER_ONLINE\' | translate}}</label>\n                                                            <input type="text" name="headerOnline" placeholder="{{\'APPLICATION_HEADER_ONLINE\' | translate}}" class="form-control" data-ng-model="item.header_online"/>\n                                                  </div>\n                                                        <!-- END HEADER ONLINE -->\n\n                                                  <!-- START ONLINE MESSAGE-->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.onlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}</label>\n                                                           <input type="text" name="onlineMessage" placeholder="{{\'APPLICATION_ONLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="item.online_message"/>\n                                                       </div>\n                                                        <!-- END HEADER ONLINE -->\n\n                                                  <!-- START USERNAME PLACEHOLDER -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.usernamePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.usernamePlaceholder.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}</label>\n                                                             <input type="text" name="usernamePlaceholder" placeholder="{{\'APPLICATION_USERNAME_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.username_placeholder"/>\n                                                     </div>\n                                                        <!-- END USERNAME PLACEHOLDER -->\n\n                                                   <!-- START EMAIL PLACEHOLDER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.emailPlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.emailPlaceholder.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}</label>\n                                                                <input type="text" name="emailPlaceholder" placeholder="{{\'APPLICATION_EMAIL_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.email_placeholder"/>\n                                                      </div>\n                                                        <!-- END EMAIL PLACEHOLDER -->\n\n                                                      <!-- START START CHAT BUTTON -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.startChatButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}</label>\n                                                                <input type="text" name="startChatButton" placeholder="{{\'APPLICATION_START_CHAT_BUTTON\' | translate}}" class="form-control" data-ng-model="item.start_chat_button"/>\n                                                       </div>\n                                                        <!-- END START CHAT BUTTON -->\n\n                                                      <!-- START HEADER OFFLINE -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.headerOffline.$touched || forms.formLabel.$submitted) && forms.formLabel.headerOnline.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_HEADER_OFFLINE\' | translate}}</label>\n                                                           <input type="text" name="headerOffline" placeholder="{{\'APPLICATION_HEADER_OFFLINE\' | translate}}" class="form-control" data-ng-model="item.header_offline"/>\n                                                       </div>\n                                                        <!-- END HEADER OFFLINE -->\n\n                                                 <!-- START OFFLINE MESSAGE-->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.offlineMessage.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}</label>\n                                                          <input type="text" name="offlineMessage" placeholder="{{\'APPLICATION_OFFLINE_MESSAGE\' | translate}}" class="form-control" data-ng-model="item.offline_message"/>\n                                                    </div>\n                                                        <!-- END OFFLINE MESSAGE -->\n\n                                                        <!-- START ENQUIRY MESSAGE PLACEHOLDER-->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.enquiryMessagePlaceholder.$touched || forms.formLabel.$submitted) && forms.formLabel.onlineMessage.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}</label>\n                                                              <input type="text" name="enquiryMessagePlaceholder" placeholder="{{\'APPLICATION_ENQUIRY_MESSAGE_PLACEHOLDER\' | translate}}" class="form-control" data-ng-model="item.enquiry_message_placeholder"/>\n                                                 </div>\n                                                        <!-- END ENQUIRY MESSAGE PLACEHOLDER -->\n\n                                                    <!-- START ENQUIRY BUTTON -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.formLabel.enquiryButton.$touched || forms.formLabel.$submitted) && forms.formLabel.startChatButton.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}</label>\n                                                           <input type="text" name="enquiryButton" placeholder="{{\'APPLICATION_ENQUIRY_BUTTON\' | translate}}" class="form-control" data-ng-model="item.enquiry_button"/>\n                                                       </div>\n                                                        <!-- END ENQUIRY BUTTON -->\n\n                                                 <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_FORMS\' | translate}}" canexit="exitValidation(forms.formAppearance.$valid)">\n                                         <form name="forms.formFunctionality" novalidate>\n\n                                                    <!-- START DOWNLOAD TRANSCRIPT -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.formFunctionality.animationToggle.$touched || forms.formFunctionality.$submitted) && forms.formFunctionality.animationToggle.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_DOWNLOAD_TRANSCRIPT\' | translate}}</label>\n                                                              <ui-select data-ng-model="item.download_transcript" name="downloadTranscript" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected ? \'On\' : \'Off\'}}</ui-select-match>\n                                                                        <ui-select-choices repeat="downloadTranscript in [true, false] | filter: $select.search">\n                                                                             <div ng-bind-html="downloadTranscript ? \'On\' : \'Off\' | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                        <!-- END DOWNLOAD TRANSCRIPT -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="fa fa-users"></i>\n                                   <a href="/contactmanager/list">{{ \'APPLICATION_CONTACT_MANAGER\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="fa fa-users font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_CONTACTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="contacts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONTACT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/contactmanager/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getContacts([\'mailbox\', \'fullname\', \'email\'])" csv-header="[\'name\', \'surname\', \'description\']" field-separator=";" filename="contacts.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedContacts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.contactsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="contactByPage in contactsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="contactByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(contact, checked)" checklist-model checklist-value="uniqueid"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="surname">{{ \'APPLICATION_SURNAME\' | translate }}</th>\n                                              <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th\n                                                               <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="contact in displayedContacts" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="contacts.checked" checklist-value="contact.uniqueid"></td>\n                                                             <td>{{contact.name}} {{}}</td>\n                <td>{{contact.surname}}</td>\n                                        <td>{{contact.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/contactmanager/view/{{contact.uniqueid}}/settings">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(contact.mailbox,contact.uniqueid)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedContacts.length">\n                                                          <td colspan="5" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CONTACTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="surname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SURNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.contactsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/view/view.history.html",'<div class="row" data-ng-init="getHistory()">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_HISTORY\' | translate}}</span>\n                         </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_CALLERID\' | translate }}</th>\n                                                   <th>{{ \'APPLICATION_DATE\' | translate }}</th>\n                                             </tr>\n                                         </thead>\n                                      <tbody data-ng-model="contactHistory">\n                                          <tr data-ng-repeat="history in contactHistory">\n                                                           <td>{{history.callerid}}</td>\n                                                         <td>{{history.name}}</td>\n                                         </tr>\n                                                     <tr data-ng-hide="contactHistory.length">\n                                                             <td colspan="2" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CONTACTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/contactmanager/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getContact()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="fa fa-users"></i>\n                                   <a href="/contactmanager/list">{{ \'APPLICATION_CONTACT\' | translate }}</a>\n                                  <i data-ng-show="contact" class="fa fa-angle-right"></i>\n                              </li>\n                         <li data-ng-show="contact">\n                                   <a href="#">{{contact.mailbox}}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/contact.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{contact.mailbox}}\n                                   </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.contactmanager.view.settings\')}">\n                                                       <a data-ng-href="/contactmanager/view/{{contact.uniqueid}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n            <li data-ng-class="{active: $state.is(\'main.contactmanager.view.history\')}">\n              <a data-ng-href="/contactmanager/view/{{contact.uniqueid}}/history">\n              <i class="icon-speech"></i>\n              {{ \'APPLICATION_HISTORY\' | translate}} </a>\n            </li>\n                                      </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/contactmanager/view/view.settings.html",'<div class="row" data-ng-init="getContexts()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONTACT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                             </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <!-- <li>\n                                             <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li> -->\n                             </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateContact()" novalidate>\n\n                                                     <!-- START MAILBOX -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.mailbox.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="contact.mailbox" required/>\n                                                               <span data-ng-show="forms.general.$submitted && forms.general.mailbox.$invalid" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAILBOX -->\n\n                                                        <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}</label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="contact.password" />\n                                                            <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START CONFIRM PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}</label>\n                                                         <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="contact.rpassword" nx-equal="contact.password"/>\n                                                           <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid || forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONFIRM PASSWORD -->\n\n                                                       <!-- START FULLNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.fullname.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="contact.fullname" required/>\n                                                            <span data-ng-show="forms.general.$submitted && forms.general.fullname.$invalid" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FULLNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.email.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="contact.email" required/>\n                                                            <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="contact.context" name="context" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <!-- <div class="tab-pane" id="tab_1_2">\n                                              <form name="forms.advanced" data-ng-submit="updateContact()" novalidate>\n\n\n                                                  <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div> -->\n                                    <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/contactmanager/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="fa fa-users"></i>\n                           <a href="/contactmanager/list">{{ \'APPLICATION_CONTACT_MANAGER\' | translate }}</a>\n                          <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-user-follow"></i>\n                              <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-envelope-letter font-green-sharp"></i>\n                         <span class="caption-subject">{{ \'APPLICATION_CONTACT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START MAILBOX -->\n                        <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.mailbox.$invalid}">\n                            <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}<span class="required" aria-required="true">*</span></label>\n                              <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="item.mailbox" required/>\n                                                  <span data-ng-show="forms.general.$submitted && forms.general.mailbox.$invalid" class="help-block help-block-error">\n                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END MAILBOX -->\n\n                                          <!-- START PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                 <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END PASSWORD -->\n\n                                               <!-- START CONFIRM PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                                        <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid || forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CONFIRM PASSWORD -->\n\n            <!-- START FULLNAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.fullname.$invalid}">\n              <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.fullname.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END FULLNAME -->\n\n            <!-- START EMAIL -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.email.$invalid}">\n              <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END EMAIL -->\n\n            <!-- START CONTEXT -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <ui-select data-ng-model="item.context" name="context" theme="bootstrap" required>\n                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                  <div ng-bind-html="context.name | highlight: $select.search"></div>\n                </ui-select-choices>\n              </ui-select>\n              <span class="help-block">\n                {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n              </span>\n              <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END CONTEXT -->\n\n                                          <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/dashboard/dashboard.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/dashboard/voice">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                                                                       <!-- <li dropdown>\n                                                                                    <a href="#" dropdown-toggle>\n                                                                                                  {{ \'APPLICATION_VOICE\' | translate }}\n                                                                                                       <b class=\'caret\'></b>\n                                                                                       </a>\n                                                                                  <tree tree=\'voice\'></tree>\n                                                                  </li>\n                                                                 <li dropdown>\n                                                                                 <a href="#" dropdown-toggle>\n                                                                                                  {{ \'APPLICATION_MAIL\' | translate }}\n                                                                                                        <b class=\'caret\'></b>\n                                                                                       </a>\n                                                                                  <tree tree=\'mail\'></tree>\n                                                                   </li> -->\n                             <li data-ng-class="{active: $state.is(\'main.dashboard.voice\')}">\n                                <a href="/dashboard/voice">\n                                                                                                       <b class=\'icon-earphones-alt\'></b>\n                                  {{ \'APPLICATION_VOICE\' | translate }}\n                                   </a>\n                                  <!-- <tree tree=\'voice\'></tree> -->\n                             </li>\n                                                                         <li data-ng-class="{active: $state.is(\'main.dashboard.mail\')}">\n                                 <a href="/dashboard/mail">\n                                                                                                        <b class=\'icon-envelope\'></b>\n                                       {{ \'APPLICATION_MAIL\' | translate }}\n                                    </a>\n                                  <!-- <tree tree=\'mail\'></tree> -->\n                              </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/dashboard/mail/mail.html",'<div class="col-md-12">\nThis is the mail view.\n</div>\n'),a.put("app/dashboard/voice/voice.html",'<div class="row" ng-init=\'getQueueStats()\'>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat red-intense">\n      <div class="visual">\n        <i class="fa fa-comments"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.abandonedCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_ABANDONED\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat green-haze">\n      <div class="visual">\n        <i class="fa fa-bar-chart-o"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.completedCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_COMPLETED\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat purple-plum">\n      <div class="visual">\n        <i class="fa fa-shopping-cart"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.waitCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_WAIT\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat blue-madison">\n      <div class="visual">\n        <i class="fa fa-globe"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.activeCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_ACTIVE\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n</div>\n'),a.put("app/fax/account/list/list.html",'<div class="row">\n   <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="fax_accounts.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/accounts/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxAccounts([\'name\', \'description\', \'phone\'])" csv-header="[\'Name\', \'Description\', \'Phone\']" field-separator=";" filename="fax_accounts.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                     <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.faxAccountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="faxAccountByPage in faxAccountsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="faxAccountByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(faxAccount, checked)" checklist-model checklist-value="id"></th>\n                                               <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="phone">{{ \'APPLICATION_PHONE\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="faxAccount in displayedFaxAccounts" class="animate-repeat">\n                                                           <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="fax_accounts.checked" checklist-value="faxAccount.id"></td>\n                                          <td>{{faxAccount.name}}</td>\n                                                            <td>{{faxAccount.description}}</td>\n                                                           <td>{{faxAccount.phone}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/accounts/view/{{faxAccount.id}}/settings">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(faxAccount.name,faxAccount.id)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxAccounts.length">\n                                                               <td colspan="5" style="text-align:center;">\n                                                                   <i>No fax account available</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td></td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="phone" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_PHONE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxAccountsByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/view/view.applications.html",'<div class="row" data-ng-init="initApplication()">\n  <div class="col-md-12">\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                                        <form name="forms.info" novalidate>\n                                                           <!-- START APP -->\n                                                            <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.app.$touched || forms.info.$submitted) && forms.info.app.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_APPLICATION\' | translate}}</label>\n                                                                      <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                         <ui-select-match placeholder="{{\'APPLICATION_APPLICATION\' | translate}}">{{$select.selected | uppercase}}</ui-select-match>\n                                         <ui-select-choices repeat="filter in [\'queue\', \'agent\'] | filter: $select.search">\n                                          <div ng-bind-html="filter | uppercase | highlight: $select.search"></div>\n                                           </ui-select-choices>\n                                        </ui-select>\n                                                                        <span data-ng-show="(forms.info.app.$touched || forms.info.$submitted) && forms.info.app.$invalid && forms.info.app.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END APP -->\n\n                                                            <!-- START APPADATA -->\n                                                               <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_ARGUMENTS\' | translate}}</label>\n                                                                        <ui-select data-ng-model="application.appdata" name="appdata" theme="bootstrap" required>\n                                         <ui-select-match placeholder="{{\'APPLICATION_ARGUMENTS\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                          <ui-select-choices repeat="item in items | filter: $select.search">\n                                             <div data-ng-bind-html="item.name | highlight: $select.search"></div>\n                                       </ui-select-choices>\n                                        </ui-select>\n                                                                        <span data-ng-show="(forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid && forms.info.appdata.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END APPADATA -->\n\n                                                               <!-- START TIMEOUT -->\n                                                                <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.timeout.$touched || forms.info.$submitted) && forms.info.timeout.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                                                  <input type="text" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" required>\n                                                                    <span data-ng-show="(forms.info.timeout.$touched || forms.info.$submitted) && forms.info.timeout.$invalid && forms.info.timeout.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END TIMEOUT -->\n\n                                                                <!-- START INTERVAL -->\n                                                               <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.info.interval.$touched || forms.info.$submitted) && forms.info.interval.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_INTERVAL\' | translate}}</label>\n                                                                 <input type="text" name="interval" placeholder="*|*|*|*" class="form-control" data-ng-model="application.interval">\n                                                                   <span data-ng-show="(forms.info.info.interval.$touched || forms.info.$submitted) && forms.info.interval.$invalid && forms.info.interval.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div> -->\n                                                            <!-- END INTERVAL -->\n\n                                                               <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-paper-plane"></i>\n                                      <a href="/">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   <i class="fa fa-angle-right" data-ng-show="account"></i>\n                              </li>\n                         <li data-ng-show="account">\n                                   <a href="#">{{ account.name || account.description }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/account.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ account.name || account.description }}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ account.phone }}\n                                   </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.accounts.view.settings\')}">\n                                                 <a href="/fax/accounts/view/{{account.id}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                         <li data-ng-class="{active: $state.is(\'main.fax.accounts.view.routes\') || $state.is(\'main.fax.accounts.view.applications\')}">\n                                                     <a href="/fax/accounts/view/{{account.id}}/routes">\n                                                   <i class="icon-directions"></i>\n                                                       {{\'APPLICATION_ROUTES\' | translate}} </a>\n                                           </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/view/view.routes.html",'<div class="row" data-ng-init="getFaxApplications()">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ROUTES\' | translate}}</span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/fax/accounts/view/{{account.id}}/applications" data-toggle="dropdown">\n                                                    <i class="icon-plus"></i> {{ \'APPLICATION_NEW_APPLICATION\' | translate }}\n                                           </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                                <!-- <th width="5%">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                 <th>{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                  <th>{{\'APPLICATION_ARGUMENTS\' | translate}}</th>\n                                                                <th>{{\'APPLICATION_TIMEOUT\' | translate}}</th>\n                                                  <!-- <th>{{\'APPLICATION_INTERVAL\' | translate}}</th> -->\n                                                                <th width="5%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                           </tr>\n                                         </thead>\n                                            <tbody ui-sortable="sortableOptions" data-ng-model="faxApplications">\n                                     <tr data-ng-repeat="application in faxApplications | orderBy:\'priority\'">\n                                                               <td><span data-ng-class="{\'label-info\': application.app == \'agent\', \'label-success\': application.app == \'queue\'}" class="label label-sm"> {{application.app}} </span></td>\n                                                            <td>{{getAppdata(application.app, application.appdata)}}</td>\n                                                         <td>{{application.timeout}}</td>\n                                                              <!-- <td>{{application.interval}}</td> -->\n                                          <td>\n                                            <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app,application.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="faxApplications.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/account/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItemFaxAccount()" novalidate>\n                                                        <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TRUNKS -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.trunk.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TRUNK\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="account.TrunkId" name="trunk" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_TRUNK\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="trunk.id as trunk in trunks | filter: $select.search">\n                                                                             <div data-ng-bind="trunk.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.trunk.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START TRUNKS -->\n\n                                                       <!-- START PHONE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.phone.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PHONE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="phone" placeholder="{{\'APPLICATION_PHONE\' | translate}}" class="form-control" data-ng-model="account.phone" required/>\n                                                             <span data-ng-show="forms.formSetting.phone.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PHONE -->\n\n                                                  <!-- START ECM -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_ECM\' | translate}}<span class="required" aria-required="true">*</span></label><br>\n                                                              <!-- <button type="button" name="ecm" class="btn btn-default form-control" data-ng-model="account.ecm" bs-checkbox>{{account.ecm ? \'ENABLED\' : \'DISABLED\'}}</button> -->\n                                                          <input\n                                                                        bs-switch\n                                                                     ng-model="account.ecm"\n                                                                        type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END ECM -->\n\n                                                    <!-- START FAXHEADER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.faxheader.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_FAXHEADER\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="faxheader" placeholder="{{\'APPLICATION_FAXHEADER\' | translate}}" class="form-control" data-ng-model="account.faxheader" required/>\n                                                         <span data-ng-show="forms.formSetting.faxheader.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FAXHEADER -->\n\n                                                      <!-- START LOCALID -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.localid.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_LOCALID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="localid" placeholder="{{\'APPLICATION_LOCALID\' | translate}}" class="form-control" data-ng-model="account.localid" required/>\n                                                               <span data-ng-show="forms.formSetting.localid.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LOCALID -->\n\n                                                        <!-- START MAXRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.maxrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAXRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="account.maxrate" name="maxrate" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="maxrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="maxrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.maxrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MAXRATE -->\n\n                                                      <!-- START MINRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.minrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MINRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="account.minrate" name="minrate" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="minrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="minrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.minrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MINRATE -->\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/fax/account/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TRUNKS -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.trunk.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TRUNK\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="item.TrunkId" name="trunk" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_TRUNK\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="trunk.id as trunk in trunks | filter: $select.search">\n                                                                             <div data-ng-bind="trunk.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.trunk.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START TRUNKS -->\n\n                                                       <!-- START PHONE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.phone.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PHONE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="phone" placeholder="{{\'APPLICATION_PHONE\' | translate}}" class="form-control" data-ng-model="item.phone" required/>\n                                                                <span data-ng-show="forms.formSetting.phone.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PHONE -->\n\n                                                  <!-- START ECM -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_ECM\' | translate}}<span class="required" aria-required="true">*</span></label><br>\n                                                              <!-- <button type="button" name="ecm" class="btn btn-default form-control" data-ng-model="item.ecm" bs-checkbox>{{item.ecm ? \'ENABLED\' : \'DISABLED\'}}</button> -->\n                                                                <input\n                                                                        bs-switch\n                                                                     ng-model="item.ecm"\n                                                                   type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END ECM -->\n\n                                                    <!-- START FAXHEADER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.faxheader.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_FAXHEADER\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="faxheader" placeholder="{{\'APPLICATION_FAXHEADER\' | translate}}" class="form-control" data-ng-model="item.faxheader" required/>\n                                                            <span data-ng-show="forms.formSetting.faxheader.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FAXHEADER -->\n\n                                                      <!-- START LOCALID -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.localid.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_LOCALID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="localid" placeholder="{{\'APPLICATION_LOCALID\' | translate}}" class="form-control" data-ng-model="item.localid" required/>\n                                                          <span data-ng-show="forms.formSetting.localid.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LOCALID -->\n\n                                                        <!-- START MAXRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.maxrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAXRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="item.maxrate" name="maxrate" theme="bootstrap" required>\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="maxrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="maxrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.maxrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MAXRATE -->\n\n                                                      <!-- START MINRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.minrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MINRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="item.minrate" name="minrate" theme="bootstrap" required>\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="minrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="minrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.minrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MINRATE -->\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/list/list.html",'<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-settings"></i>\n                                         <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="faxAutomations.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/automations/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="fax_automations.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.faxAutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="faxAutomationByPage in faxAutomationsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="faxAutomationByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(faxAutomation, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="faxAutomation in displayedFaxAutomations">\n                                                            <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="faxAutomations.checked" checklist-value="faxAutomation.id"></td>\n                                             <td>{{faxAutomation.name}}</td>\n                                                         <td>{{faxAutomation.description}}</td>\n                                                                <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(faxAutomation.id, faxAutomation.status)",\n                                                              bs-switch\n                                                             ng-model="faxAutomation.status"\n                                                               type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/automations/view/{{faxAutomation.id}}/settings">\n                                                                         {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(faxAutomation.name, faxAutomation.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxAutomations.length">\n                                                            <td colspan="6" class="text-center">\n                                                                  <i>{{\'MESSAGE_NO_AVAILABLE_AUTOMATIONS\' | translate}}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxAutomationsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/fax/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                     <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{automation.description}}\n                                    </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.automations.view.settings\')}">\n                                                      <a href="/fax/automations/view/{{automation.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/view/view.settings.html",'<div class="row">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">OR {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">AND {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="forms.info.$valid && updateAutomation()" novalidate>\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'or\')">\n                                                                  <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'or\'}">\n                                                        <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                                <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                                <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <div class="tab-pane" id="tab_1_3">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'and\')">\n                                                                 <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'and\'}">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" name="conditionAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                          <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" name="operatorAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                             <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" name="attributeAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" data-ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                                       <span data-ng-show="forms.and.attributeAnd{{$index}}.$invalid && forms.and.attributeAnd{{$index}}.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n\n                                      <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_4">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewAction()">\n                                                                   <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="action in automation.BusinessActions">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="action.condition" theme="bootstrap" on-select="updateAction(action.id, \'condition\', $item.key)" required>\n                                                                                         <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="action.key as action in automations.actions | filter: $select.search">\n                                                                                                     <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3" data-ng-switch="action.condition">\n                                                                              <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="action.attribute" theme="bootstrap" on-select="updateAction(action.id, \'attribute\', $item.key)" required>\n                                                                                         <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(action.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" data-ng-model="action.attribute" data-ng-blur="updateAction(action.id, \'attribute\', action.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                         </div>\n                                                                        </div>\n                                                                        <div class="col-md-4">\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeAction(action.id)">\n                                                                                  <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessActions.length">\n                                                    <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n\n                                      </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/automation/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n     <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/fax/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_NEW_AUTOMATION\' | translate}}" canexit="formValidation(forms.automation.$valid && forms.automation.$valid)">\n                                         <form name="forms.automation" novalidate>\n                                                     <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.automation.name.$invalid && forms.automation.$submitted}">\n                                                                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                         <input class="form-control" type="text" name="name" value="" data-ng-model="automations.name" required>\n                                                                               <span data-ng-show="forms.automation.name.$invalid && forms.automation.name.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n\n                                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.automation.description.$invalid && forms.automation.$submitted}">\n                                                                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                              <input class="form-control" type="text" name="description" value="" data-ng-model="automations.description">\n                                                                          <span data-ng-show="forms.automation.description.$invalid && forms.automation.description.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <hr>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'or\')">\n                                                                             <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-user"></i>\n                                                                     <span class="caption-subject">Meet <strong>any</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.or">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionOr{{$index}}.$invalid && forms.automation.$submitted && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].condition" name="conditionOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.or[$index].conditions | filter: $select.search">\n                                                                                                          <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionOr{{$index}}.$invalid && forms.automation.conditionOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorOr{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].operator" name="operatorOr{{$index}}" theme="bootstrap" required>\n                                                                                                    <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.or[$index].condition.operators | filter: $select.search">\n                                                                                                          <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorOr{{$index}}.$invalid && forms.automation.operatorOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.or[$index].condition.input">\n                                                                                        <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted}">\n                                                                                            <ui-select data-ng-model="automations.or[$index].attribute" name="attributeOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.or[$index].condition.attributes | filter: $select.search">\n                                                                                                               <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeOr{{$index}}" value="" data-ng-model="automations.or[$index].attribute" required>\n                                                                                              <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'or\', $index)">\n                                                                                             <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.or.length">\n                                                                <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'and\')">\n                                                                            <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-people"></i>\n                                                                   <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.and">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].condition" name="conditionAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.and[$index].conditions | filter: $select.search">\n                                                                                                         <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.conditionAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                              <ui-select data-ng-model="automations.and[$index].operator" name="operatorAnd{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.and[$index].condition.operators | filter: $select.search">\n                                                                                                         <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.operatorAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.and[$index].condition.input">\n                                                                                       <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].attribute" name="attributeAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.and[$index].condition.attributes | filter: $select.search">\n                                                                                                              <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeAnd{{$index}}" value="" data-ng-model="automations.and[$index].attribute" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid}" required>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'and\', $index)">\n                                                                                            <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.and.length">\n                                                               <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'actions\')">\n                                                                                <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-magic-wand"></i>\n                                                                       <span class="caption-subject">Perform these actions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.actions">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.actions.conditionAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].condition" name="conditionAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="action in automations.actions[$index].actions | filter: $select.search">\n                                                                                                           <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                                   </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.conditionAction{{$index}}.$invalid && forms.actions.conditionAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3" data-ng-switch="automations.actions[$index].condition.input">\n                                                                                   <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].attribute" name="attributeAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.actions[$index].condition.attributes | filter: $select.search">\n                                                                                                          <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid}">\n                                                                                               <input class="form-control" type="text" min="0" name="attributeAction{{$index}}" value="" data-ng-model="automations.actions[$index].attribute" required>\n                                                                                             <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4">\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'actions\', $index)">\n                                                                                                <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.actions.length">\n                                                           <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add action</i>\n                                                             </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                               </div>\n                                                        </div>\n                                                </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/fax/inbox/inbox.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-note"></i>\n                                             <a href="/fax/inbox/incoming">{{ \'APPLICATION_INBOX\' | translate }}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE CONTENT-->\n<div class="row inbox">\n     <div class="col-md-12" ui-view>\n       </div>\n</div>\n'),a.put("app/fax/inbox/incoming/incoming.html",'<!-- END PAGE HEADER-->\n<div data-ng-init="getRooms()">\n     <!-- <pre>\n            {{faxRooms | json}}\n   </pre> -->\n    <div class="inbox-header">\n            <h1 class="pull-left">Inbox</h1>\n      </div>\n        <div class="inbox-content">\n           <table class="table table-advance" st-table="displayedFaxRooms" st-safe-src="faxRooms">\n                       <thead>\n                               <tr>\n                                  <th colspan="8" style="background: #eef4f7; border: none; border-bottom: solid 5px #fff;">\n                                            <div class="row">\n                                                     <div class="col-md-6">\n                                                                <input type="checkbox" class="mail-checkbox mail-group-checkbox checker" data-ng-model="checked" data-ng-change="switchCheckbox(displayedFaxRooms, checked)">\n                                                         <div class="btn-group">\n                                                                       <a data-ng-href="/fax/inbox/compose" class="btn btn-sm blue">{{\'APPLICATION_NEW_MESSAGE\' | translate}} <i class="fa fa-plus"></i></a>\n                                                                       <!-- <a class="btn btn-sm blue dropdown-toggle" href="#" data-toggle="dropdown">\n                                                                              {{\'APPLICATION_MORE\' | translate}} <i class="fa fa-angle-down"></i>\n                                                                 </a> -->\n                                                                      <ul class="dropdown-menu">\n                                                                            <li>\n                                                                                  <a href="#" data-ng-click="markAsRead(true)">\n                                                                                 <i class="icon-paper-plane-open"></i> {{\'APPLICATION_MARK_AS_READ\' | translate}} </a>\n                                                                               </li>\n                                                                         <li>\n                                                                                  <a href="#" data-ng-click="markAsRead(false)">\n                                                                                        <i class="icon-paper-plane"></i> {{\'APPLICATION_MARK_AS_UNREAD\' | translate}} </a>\n                                                                          </li>\n                                                                         <li class="divider">\n                                                                          </li>\n                                                                         <li>\n                                                                                  <a href="#" data-ng-click="deleteMessage()">\n                                                                                  <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}} </a>\n                                                                                </li>\n                                                                 </ul>\n                                                         </div>\n                                                        </div>\n                                                        <div class="col-md-6">\n                                                                <div class="input-group input-medium pull-right">\n                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                 <span class="input-group-addon btn green" style="cursor: default;">\n                                                                           <i class="icon-magnifier" style="color: white;"></i>\n                                                                  </span>\n                                                               </div>\n                                                                <ui-select data-ng-model="conf.faxRoomsByPage" theme="bootstrap" style="width: 100px;" class="pull-right margin-right-10">\n                                                                    <ui-select-match placeholder="{{ \'APPLICATION_SEARCH\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                                        <ui-select-choices repeat="p in [10, 20, 35, 50] | filter: $select.search">\n                                                                           <span ng-bind-html="p | highlight: $select.search"></span>\n                                                                    </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                        </th>\n                         </tr>\n                 </thead>\n                      <tbody>\n                               <tr data-ng-repeat="faxRoom in displayedFaxRooms | orderBy:\'-updatedAt\'" data-ng-class="{unread: !faxRoom.read}" data-ng-click="go(\'/fax/inbox/room/\' + faxRoom.id, faxRoom.id, \'OPEN\')" class="animate-repeat">\n                                        <td class="inbox-small-cells" style="border: none;">\n                                          <input type="checkbox" class="checker" checklist-model="checkedMailMessages.id" checklist-value="faxRoom.id">\n                                 </td>\n                                 <!-- <td class="inbox-small-cells" style="border: none;">\n                                             <i class="fa fa-star" data-ng-class="{\'inbox-started\': faxRoom.favorite}" data-ng-click="markAsFavorite(faxRoom.id, faxRoom.favorite)"></i>\n                                 </td> -->\n                                     <td class="view-message hidden-xs" style="cursor:pointer; border:none;">\n                                              #{{faxRoom.id}}\n                                       </td>\n                                 <!-- <td class="inbox-small-cells" style="border: none;">\n                                             <i class="fa fa-star" data-ng-class="{\'inbox-started\': faxRoom.favorite}" data-ng-click="markAsFavorite(faxRoom.id, faxRoom.favorite)"></i>\n                                 </td> -->\n                                     <!-- <td class="view-message hidden-xs" style="cursor:pointer; border:none;">\n                                         {{faxRoom.subject}}\n                                   </td> -->\n                                     <td class="view-message" style="cursor:pointer; border:none;">\n                                                {{faxRoom.from}}\n                                      </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;">\n                                                {{faxRoom.MailAccount.description ? faxRoom.MailAccount.description : faxRoom.MailAccount.name}}\n                                      </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;" data-ng-switch="faxRoom.status">\n                                                <span class="badge badge-default" data-ng-class="{\n                                            \'badge-danger\': faxRoom.status == \'NEW\',\n                                          \'badge-warning\': faxRoom.status == \'OPEN\',\n                                                \'badge-info\': faxRoom.status == \'PENDING\',\n                                                \'badge-success\': faxRoom.status == \'CLOSED\'}"> {{faxRoom.status | uppercase}} </span>\n                                     </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;">\n                                                <span class="badge badge-success badge-roundless" data-ng-show="faxRoom.User.fullname"> {{faxRoom.User.fullname}} </span>\n                                             <span class="badge badge-default badge-roundless" data-ng-hide="faxRoom.User.fullname"> {{\'APPLICATION_UNASSIGNED\' | translate}} </span>\n                                    </td>\n                                 <td class="view-message text-right" context-menu="menuOptions" style="border: none;">\n                                         <time is="relative-time" datetime="{{faxRoom.updatedAt}}">\n                                                    April 1, 2014\n                                         </time>\n                                       </td>\n                         </tr>\n                         <tr data-ng-hide="faxRooms.length">\n                                   <td colspan="6" class="text-center">\n                                          <i>{{\'MESSAGE_NO_AVAILABLE_MESSAGES\' | translate}}</i>\n                                      </td>\n                         </tr>\n                         <tr>\n                                  <td colspan="8" class="text-center" style="border: none;">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxRoomsByPage" st-displayed-pages="7"></div>\n                                    </td>\n                         </tr>\n                 </tbody>\n              </table>\n      </div>\n</div>\n'),a.put("app/fax/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n        <div class="portlet light">\n           <!-- PROJECT HEAD -->\n         <div class="portlet-title">\n                   <div class="caption" data-ng-show="faxRoom">\n                          <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': faxRoom.status == \'NEW\',\n                         \'badge-warning\': faxRoom.status == \'OPEN\',\n                                \'badge-info\': faxRoom.status == \'PENDING\',\n                                \'badge-success\': faxRoom.status == \'CLOSED\'}"> {{faxRoom.status | uppercase}} </span>\n                     </div>\n                        <div class="actions" data-ng-show="faxRoom">\n                          <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                 <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgent(agent.id)">\n                                                    {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_STATUS\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'PENDING\')">\n                                                        {{\'STATUS_PENING\' | translate}} <span class="badge badge-danger">\n                                                   P </span>\n                                                     </a>\n                                          </li>\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'CLOSED\')">\n                                                 {{\'STATUS_CLOSED\' | translate}} <span class="badge badge-success">\n                                                  C </span>\n                                                     </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                        </div>\n                </div>\n                <!-- end PROJECT HEAD -->\n             <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="faxRoom" data-ng-class="{\'col-md-7 col-sm-7\': faxRoom}">\n                                 <div class="scroller" id="faxMessages" style="height: 500px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                           <ul class="chats">\n                                                    <li data-ng-class="{\'in\': faxMessage.status == \'RECEIVED\', \'out\': (faxMessage.status == \'SENT\' || faxMessage.status == \'SENDING\' || faxMessage.status == \'FAILED\' || faxMessage.status == \'NOT SENT\')}" data-ng-repeat="faxMessage in faxRoom.FaxMessages | orderBy:\'createdAt\'">\n                                                     <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && faxMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                     <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <span class="bold">{{\'APPLICATION_FROM\' | translate}}: </span>\n                                                              <span>{{faxMessage.From.fullname}} </span>\n                                                            <span> &#60;{{faxMessage.From.phone}}&#62; </span>\n                                                            <br>\n                                                          <span class="bold">{{\'APPLICATION_TO\' | translate}}: </span>\n                                                                <span>{{faxMessage.To.fullname}} </span>\n                                                              <span> &#60;{{faxMessage.To.phone}}&#62; </span>\n                                                              <br>\n                                                          <span class="todo-tasklist-date">\n                                                                     <i class="fa fa-calendar"></i>\n                                                                        <time is="relative-time" datetime="{{faxMessage.createdAt}}">\n                                                                         April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <span data-ng-show="faxMessage.status == \'FAILED\' || faxMessage.status == \'SENDING\'" class="badge badge-default" data-ng-class="{\'badge-error\': faxMessage.status == \'FAILED\', \'badge-warning\': faxMessage.status == \'SENDING\'}"> {{faxMessage.status | uppercase}} </span>\n                                                               <br>\n                                                          <br>\n                                                          <span class="body">\n                                                                   <div class="wrapper" ng-controller="FaxInboxRoomCtrl" style="max-height:600px; overflow:auto;">\n                                                 <ng-pdf pdf-url="/api/fax/messages/{{faxMessage.id}}/content" template-url="/assets/plugins/angular-pdf/example/partials/viewer.html" scale="0.5" page=1></ng-pdf>\n                                          </div>\n                                                                </span>\n                                                               <br>\n                                                  </div>\n                                                </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': faxRoom, \'col-md-12 col-sm-12\': !faxRoom}">\n                                     <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendFax()" class="form-horizontal" novalidate>\n                                             <!-- TASK HEAD -->\n                                            <div class="form">\n                                                    <div class="form-group">\n                                                              <div class="col-md-12 col-sm-12">\n                                                                     <div class="todo-taskbody-user">\n                                                                              <img class="todo-userpic pull-left" data-ng-src="api/users/avatar/{{getCurrentUser().userpic ? getCurrentUser().userpic : \'unknown_avatar\'}}" width="50px" height="50px">\n                                                                           <span class="todo-username pull-left">{{ getCurrentUser().fullname }}</span>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TASK HEAD -->\n\n                                                      <!-- FAX FROM -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_FROM\' | translate}}:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_FROM\' | translate}}...">{{$select.selected.name}} - {{$select.selected.phone}}</ui-select-match>\n                                                                                               <ui-select-choices repeat="faxAccount in faxAccounts | filter: $select.search">\n                                                                                                       <div ng-bind-html="faxAccount.name | highlight: $select.search"></div>\n                                                                                                        <small ng-bind-html="faxAccount.phone | highlight: $select.search"></small>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_TO\' | translate}}:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_TO\' | translate}}...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- TASK DESC -->\n                                                    <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                           </div>\n                                                        </div>\n                                                        <!-- END TASK DESC -->\n\n                                                      <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n\n                                         </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),a.put("app/fax/queue/list/list.html",'<div class="row">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="/fax/queues/lis">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                        </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="faxQueues.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/queues/wizard">\n                                                         <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="fax_queues.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                                <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate}}</th>\n                                                         <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedFaxQueues" class="animate-repeat">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="faxQueues.checked" checklist-value="queue.id"></td>\n                                          <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/queues/view/{{queue.id}}/settings">\n                                                                              {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxQueues.length">\n                                                         <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body" style="width: 50%; margin: 0 auto;">\n                                <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-paper-plane"></i>\n                                      <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/fax/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                       <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.queues.view.settings\')}">\n                                                   <a data-ng-href="/fax/queues/view/{{queue.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.fax.queues.view.agents\')}">\n                                                     <a data-ng-href="/fax/queues/view/{{queue.id}}/agents">\n                                                       <i class="icon-people"></i>\n                                                   {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/queue/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateFaxQueue()" novalidate>\n                                      <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                          <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                               <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-paper-plane"></i>\n                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                      </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/fax/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                       </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                                        <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
-a.put("app/fax/timeline/list/list.html",'<div class="row">\n   <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/fax/timeline/list"> {{\'APPLICATION_TIMELINE\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          {{\'APPLICATION_TIMELINE\' | translate}}\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-paper-plane font-green-haze"></i>\n                                              </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">{{\'APPLICATION_AT\' | translate}} {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/fax/inbox/room/{{event.FaxRoomId}}">{{\'APPLICATION_GO_TO\' | translate}} {{\'APPLICATION_FAX\' | translate}}</a>\n                                                         </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.FaxRoom.subject ? event.FaxRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                 </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/integration/list/list.html",'\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-game-controller"></i>\n                                  <a href="/integrations/list">{{ \'APPLICATION_INTEGRATIONS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered" data-ng-init="initList()">\n                        <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-eye font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_INTEGRATIONS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                           <span class="btn green-jungle btn-file">\n            <span> <i class="icon-plus"></i> New App </span>\n            <input type="file" accept=".zip" nv-file-select="" uploader="uploader"/>\n          </span>\n          <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedIntegrations" filename="integrations.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedIntegrations" st-safe-src="integrations" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <select class="form-control input-small select2me" data-ng-model="integrationsByPage">\n                                                                                                <option value="10">10</option>\n                                                                                                <option value="25">25</option>\n                                                                                                <option value="50">50</option>\n                                                                                                <option value="{{integrations.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                                        </select>\n                                                                             </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th>\n                                                   <th st-sort="fullname">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                <th st-sort="name">{{ \'APPLICATION_FILENAME\' | translate }}</th>\n                                                            <th st-sort="name">{{ \'APPLICATION_VERSION\' | translate }}</th>\n                                                 <th st-sort="name">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="integration in displayedIntegrations">\n                                                                <td>{{integration.id}}</td>\n                                                           <td>{{integration.name}}</td>\n                                                         <td>{{integration.filename}}</td>\n                                                             <td>{{integration.version}}</td>\n                                            <td>{{integration.description}}</td>\n                                                            <td>\n                                                                  <span class="btn default btn-xs blue-stripe btn-file">\n                                            <span> {{ \'APPLICATION_UPDATE\' | translate }} </span>\n                                       <input type="file" accept=".zip" nv-file-select="" uploader="uploader"/>\n                                    </span>\n                                             <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(integration.name, integration.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="integrations.length">\n                                                               <td colspan="6" style="text-align:center;">\n                                                                   <i>No integrations available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="id" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="filename" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FILENAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                              </td>\n                                                             <td>\n                                              </td>\n                                                             <td>\n                                              </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="integrationsByPage" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-clock"></i>\n                                    <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-clock font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_INTERVALS\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="intervals.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_INTERVAL\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/intervals/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getIntervals([\'name\'])" csv-header="[\'Name\']" field-separator=";" filename="intervals.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedIntervals" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="3">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.intervalsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="intervalByPage in intervalsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="intervalByPage.name | highlight: $select.search"></div>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(interval, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="interval in displayedIntervals">\n                                                              <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="intervals.checked" checklist-value="interval.id"></td>\n                                                         <td>{{interval.name}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/intervals/view/{{interval.id}}/settings">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(interval.name,interval.id)">\n                                                                               {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedIntervals.length">\n                                                         <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_INTERVALS_AVAILABLE\' | translate }}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="3" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.intervalsByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getInterval()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-clock"></i>\n                                    <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                                     <i data-ng-show="interval" class="fa fa-angle-right"></i>\n                             </li>\n                         <li data-ng-show="interval">\n                                  <a href="#">{{interval.name}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/interval.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{interval.name}}\n                                     </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.intervals.view.settings\')}">\n                                                    <a data-ng-href="/intervals/view/{{interval.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.intervals.view.subintervals\') || $state.is(\'main.intervals.view.subinterval\') || $state.is(\'main.intervals.view.subintervals.settings\')}">\n                                                  <a data-ng-href="/intervals/view/{{interval.id}}/subintervals">\n                                                       <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_SUBINTERVALS\' | translate}} </a>\n                                            </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.settings.html",'<div class="row">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_INTERVAL\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateInterval()" novalidate>\n\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="interval.name" required/>\n                                                               <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/interval/view/view.subinterval.html",'\n<div class="row" data-ng-init="initSubInterval()">\n      <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_NEW_SUBINTERVAL\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.subinterval.name.$valid)">\n            <form name="forms.subinterval" novalidate>\n\n              <!-- START NAME -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$invalid}">\n                <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="subinterval.name" required/>\n                <span data-ng-show="(forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END NAME -->\n\n                                                       <!-- START TIME -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                <div class="input-group input-large">\n                                                                       <fieldset class="pull-left" ng-disabled="splittedInterval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="splittedInterval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                  <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                        <fieldset ng-disabled="splittedInterval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="splittedInterval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                       <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="splittedInterval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                </div>\n              </div>\n              <!-- END TIME -->\n\n              <!-- START WEEKDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.wd_from" theme="bootstrap" name="wd_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.wd_to" theme="bootstrap" name="wd_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END WEEKDAY -->\n\n              <!-- START MONTHDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.md_from" theme="bootstrap" name="md_from">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.md_to" theme="bootstrap" name="md_to">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTHDAY -->\n\n              <!-- START MONTH -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.m_from" theme="bootstrap" name="m_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.m_to" theme="bootstrap" name="m_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTH -->\n\n\n\n                                                       <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n            </form>\n          </wz-step>\n\n\n                                             <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.subintervalSettings.html",'\n<div class="row" data-ng-init="getSubInterval()">\n     <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_SUBINTERVAL_SETTINGS\' | translate }} WIZARD</a> </span>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="updateItem()">\n                                     <div class="profile-usertitle-name">\n                                          {{subinterval.name}}\n                                  </div>\n          <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.subinterval.name.$valid)">\n            <form name="forms.subinterval" novalidate>\n\n              <!-- START NAME -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$invalid}">\n                <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="subinterval.name" required/>\n                <span data-ng-show="(forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END NAME -->\n\n              <!-- START TIME -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                <div class="input-group input-large">\n                                                                   <fieldset class="pull-left" ng-disabled="splittedInterval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="splittedInterval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                  <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                        <fieldset ng-disabled="splittedInterval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="splittedInterval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                       <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="splittedInterval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                </div>\n              </div>\n              <!-- END TIME -->\n\n              <!-- START WEEKDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.wd_from" theme="bootstrap" name="wd_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.wd_to" theme="bootstrap" name="wd_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END WEEKDAY -->\n\n              <!-- START MONTHDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.md_from" theme="bootstrap" name="md_from">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.md_to" theme="bootstrap" name="md_to">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTHDAY -->\n\n              <!-- START MONTH -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.m_from" theme="bootstrap" name="m_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.m_to" theme="bootstrap" name="m_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTH -->\n\n\n\n                                                       <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n            </form>\n          </wz-step>\n\n\n                                             <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.subintervals.html",'<div ui-view class="profile-content">\n<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SUBINTERVALS\' | translate}}</span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/intervals/view/{{interval.id}}/subinterval" data-toggle="dropdown">\n                                                       <i class="icon-plus"></i> {{ \'APPLICATION_NEW_SUBINTERVAL\' | translate }}\n                                           </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_NAME\' | translate }}</th>\n                                               <th>{{ \'APPLICATION_TIME\' | translate }}</th>\n                                                           <th width="20%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="subIntervals">\n                                            <tr data-ng-repeat="subinterval in subIntervals">\n                                                         <td>{{subinterval.name}}</td>\n                                                         <td>{{subinterval.interval}}</td>\n                                           <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/intervals/view/{{interval.id}}/subintervals/settings/{{subinterval.id}}">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(subinterval.name+\' interval\',subinterval.id)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="subIntervals.length">\n                                                               <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_SUBINTERVALS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),
-a.put("app/interval/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n        <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-clock"></i>\n                            <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/intervals/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" data-ng-init="getContexts()">\n     <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-clock font-green-sharp"></i>\n                   <span class="caption-subject">{{ \'APPLICATION_INTERVAL\' | translate }} WIZARD</a> </span>\n           </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.interval.$valid)">\n                        <form name="forms.interval" novalidate>\n\n            <!-- START NAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$invalid}">\n              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n              <span data-ng-show="(forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END NAME -->\n\n                                              <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/login/login.html",'<!-- BEGIN LOGO -->\n<div class="logo">\n     <a href="index.html">\n <img src="assets/images/logo-big.png" alt=""/>\n        </a>\n</div>\n<!-- END LOGO -->\n<!-- BEGIN LOGIN -->\n<div class="content">\n  <!-- BEGIN LOGIN FORM -->\n     <form class="login-form" name="loginForm" data-ng-show="!flagLogin1" data-ng-submit="login(loginForm)" novalidate>\n            <h3 class="form-title">Sign In</h3>\n           <div class="alert alert-danger" data-ng-class="{\'display-hide\': !loginSubmitted || !errorLogin}">\n                   <button class="close" data-close="alert"></button>\n                    <span>{{ errorLog ? errorLog : \'Enter any username and password.\'}}</span>\n          </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.name.$invalid}">\n                   <label class="control-label">Username</label>\n      <div class="input-icon">\n        <i class="fa fa-user"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="name" ng-model="userLogin.name" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.name.$invalid" class="help-block">Username is required.</span>\n           </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.password.$invalid}">\n                       <label class="control-label">Password</label>\n      <div class="input-icon">\n        <i class="fa fa-lock"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" ng-model="userLogin.password" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.password.$invalid" class="help-block">Password is required.</span>\n           </div>\n                <div class="form-actions">\n                    <button type="submit" class="btn btn-success uppercase">Login</button>\n      <label class="rememberme check">\n        <input type="checkbox"> Remember me\n      </label>\n                   <!-- <label class="rememberme check">\n                 <input type="checkbox" name="remember" value="1"/>Remember </label> -->\n                       <!-- <a href="javascript:;" id="forget-password" class="forget-password">Forgot Password?</a> -->\n             </div>\n                <div class="login-options">\n                   <h4>Follow Us on</h4>\n                 <ul class="social-icons">\n                             <li>\n                                  <a class="social-icon-color facebook" data-original-title="facebook" href="https://www.facebook.com/xenialab"></a>\n                            </li>\n                         <li>\n                                  <a class="social-icon-color twitter" data-original-title="Twitter" href="https://twitter.com/xenialab"></a>\n                           </li>\n                         <li>\n                                  <a class="social-icon-color googleplus" data-original-title="Goole Plus" href="#"></a>\n                                </li>\n                         <li>\n                                  <a class="social-icon-color linkedin" data-original-title="Linkedin" href="#"></a>\n                            </li>\n                 </ul>\n         </div>\n        </form>\n</div>\n<div class="copyright">\n       2016 © xCALLY MOTION.\n</div>\n<!-- END LOGIN -->\n'),a.put("app/mail/account/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="#">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAccounts.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/accounts/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAccounts([\'name\', \'description\', {MailServerIn:\'username\'}])" csv-header="[\'Name\', \'Description\', \'Email Address\']" field-separator=";" filename="mail_accounts.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                              <thead>\n                                             <tr>\n                                                  <th colspan="6">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <ui-select class="input-xsmall" ng-model="conf.mailAccountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                     <ui-select-choices repeat="mailAccountByPage in mailAccountsByPage | filter: $select.search">\n                                                                                         <div ng-bind-html="mailAccountByPage.name | highlight: $select.search"></div>\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                   <tr>\n                                                        <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAccount, checked)" checklist-model checklist-value="id"></th>\n                                      <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                    <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                  <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="description"> IMAP</th>\n                                                  <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                      </tr>\n                                 </thead>\n                              <tbody>\n                                 <tr data-ng-repeat="mailAccount in displayedMailAccounts">\n                                                        <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAccounts.checked" checklist-value="mailAccount.id"></td>\n                                 <td>{{mailAccount.name}}</td>\n                                                   <td>{{mailAccount.description}}</td>\n                                                  <td><a ng-href="mailto:{{mailAccount.MailServerIn.username}}">{{mailAccount.MailServerIn.username}}</a></td>\n                                                  <td>\n                                                          <span class="label label-sm" data-ng-class="mailAccount.MailServerIn.state === \'CONNECTED\' ? \'label-success\' : \'label-danger\'">\n                                                                 {{ mailAccount.MailServerIn.state | uppercase }}\n                                                              </span>\n                                                       </td>\n                               <td>\n                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{mailAccount.id}}/settings">\n                                                                     {{ \'APPLICATION_PROFILE\' | translate }}\n                                     </a>\n                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAccount.name, mailAccount.id)">\n                                                                        {{ \'APPLICATION_DELETE\' | translate }}\n                                      </a>\n                                </td>\n                               </tr>\n                                             <tr data-ng-hide="displayedMailAccounts.length">\n                                                      <td colspan="6" class="text-center">\n                                                  <i>{{ \'MESSAGE_NO_AVAILABLE_ACCOUNTS\' | translate }}</i>\n                                                    </td>\n                                         </tr>\n                           </tbody>\n                              <tfoot>\n                                             <tr>\n                                                  <td/>\n                                     <td>\n                                                              <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                            </div>\n                                            </td>\n                                                     <td>\n                                                          <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                          </div>\n                                            </td>\n                                                     <!-- <td>\n                                                             <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="address" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                            </div>\n                                            </td> -->\n                                     <td/>\n                                                     <td/>\n                                   </tr>\n                                               <tr>\n                                                  <td colspan="6" class="text-center">\n                                                          <div class="pagination" st-pagination st-items-by-page="conf.mailAccountsByPage.value" st-displayed-pages="7"></div>\n                                                  </td>\n                                         </tr>\n                           </tfoot>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/mail/accounts/view/{{account.id}}/actions/wizard" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n                                                </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th class="input-small" align="center">{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                           <th class="input-small" align="center">{{\'APPLICATION_TIMEOUT\' | translate}} [s]</th>\n                                                   <th align="center">{{ \'APPLICATION_INTERVAL\' | translate }}</th>\n                                                                <th class="input-small">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="mailApplications">\n                                          <tr data-ng-repeat="application in mailApplications">\n                                                             <!-- <td><span data-ng-class="{\'label-info\': application.app == \'agent\', \'label-success\': application.app == \'queue\'}" class="label label-sm"> {{application.app}} </span></td> -->\n                                                           <td align="center">\n                                                                   <span>\n                                                                                <i data-ng-class="application.User ? \'icon-user\' : \'icon-docs\'"></i>\n                                                                      </span>\n                                                               </td>\n                                                         <td align="center">{{application.timeout}}</td>\n                                                               <td align="center">{{application.Interval ? application.Interval.name : application.interval}}</td>\n                                                           <td>\n                                                                  <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{account.id}}/actions/view/{{application.id}}">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app, application.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="mailApplications.length">\n                                                           <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/account/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n       <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.settings" ng-submit="updateItem()" novalidate>\n                                      <!-- START APP -->\n                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                       </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END APP -->\n\n                                    <!-- START HOST -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                           <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                         <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END HOST -->\n\n                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                          <!-- START QUEUE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END QUEUE -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                          <!-- START AGENT -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END AGENT -->\n                                    </div>\n\n                                      <!-- START INTERVAL_TYPE -->\n                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n                                           <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                               {{ intType.name | translate }}\n                                                        </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END INTERVAL_TYPE -->\n\n                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                <!-- START TIME -->\n                                           <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                   <div class="input-group input-large">\n                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                             </fieldset>\n                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                     </div>\n                                                </div>\n                                                <!-- END TIME -->\n\n                                           <!-- START ALWAYS -->\n                                         <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                 <div class="input-group input-large">\n                                                         <label class="control-label pointer-cursor">\n                                                                  <input\n                                                                                bs-switch\n                                                                             data-ng-model="application.alwaysTime"\n                                                                                type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                               </label>\n                                                      </div>\n                                                </div>\n                                                <!-- END ALWAYS -->\n\n                                         <!-- START WEEKDAY -->\n                                                <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                        <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate}}\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END WEEKDAY -->\n\n                                                <!-- START MONTHDAY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                       <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTHDAY -->\n\n                                               <!-- START MONTH -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                  <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTH -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                          <!-- START INTERVALS -->\n                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                    {{ interval.name}}\n                                                            </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVALS -->\n\n                                      </div>\n                                        <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n                          </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n                                           <form name="forms.action" novalidate>\n                                                 <!-- START APP -->\n                                                    <div class="form-group"  data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n                                                               <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APP -->\n\n                                                    <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                                         <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                                          <!-- START QUEUE -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                                          <!-- START AGENT -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENT -->\n                                                    </div>\n\n                                                      <!-- START INTERVAL_TYPE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n                                                         <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                               {{ intType.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERVAL_TYPE -->\n\n                                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                                             </fieldset>\n                                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                                     </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START ALWAYS -->\n                                                         <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                                 <div class="input-group input-large">\n                                                                         <label class="control-label pointer-cursor">\n                                                                                  <input\n                                                                                                bs-switch\n                                                                                             data-ng-model="application.alwaysTime"\n                                                                                                type="checkbox"\n                                                                                               switch-active="{{ isActive }}"\n                                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                                switch-on-color="{{ onColor }}"\n                                                                                               switch-off-color="{{ offColor }}"\n                                                                                             switch-animate="{{ animate }}"\n                                                                                                switch-size="{{ size }}"\n                                                                                              switch-label="{{ label }}"\n                                                                                            switch-icon="{{ icon }}"\n                                                                                              switch-radio-off="{{ radioOff }}"\n                                                                                             switch-label-width="{{ labelWidth }}"\n                                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                                               </label>\n                                                                      </div>\n                                                                </div>\n                                                                <!-- END ALWAYS -->\n\n                                                         <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate}}\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate }}\n                                                                                        </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                                          <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                                    {{ interval.name}}\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n\n                                                      <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n                                         </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <!-- <button class="btn green-haze" type="button" wz-previous><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button> -->\n                                              <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                  </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/mail/account/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                  <i class="fa fa-angle-right" data-ng-show="account"></i>\n                              </li>\n                         <li data-ng-show="account">\n                                   <a href="#">{{ account.description || account.name }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/account.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ account.description || account.name }}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.email}}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li ng-class="{active: $state.is(\'main.mail.accounts.view.settings\')}">\n                                                     <a href="/mail/accounts/view/{{account.id}}/settings">\n                                                        <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                         <li ng-class="{active: $state.includes(\'main.mail.accounts.view.actions\')}">\n                                                        <a href="/mail/accounts/view/{{account.id}}/actions/list">\n                                                    <i class="icon-directions"></i>\n                                                       {{\'APPLICATION_ACTIONS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">IMAP</a>\n                                 </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">SMTP</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formInfo" data-ng-submit="forms.formInfo.$valid && updateItemMailAccount()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="(forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid && forms.formInfo.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START EMAIL -->\n                                                  <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.formInfo.address.$touched || forms.formInfo.$submitted) && forms.formInfo.address.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="address" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="account.address" required/>\n                                                         <span data-ng-show="(forms.formInfo.infoEmail.$touched || forms.formInfo.$submitted) && forms.formInfo.address.$invalid && forms.formInfo.address.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div> -->\n                                                    <!-- END EMAIL -->\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.formIn" data-ng-submit="forms.formIn.$valid && updateItemMailServerIn()" novalidate>\n                                                        <!-- START PROTOCOL -->\n                                                       <!-- <div class="form-group">\n                                                         <label class="control-label">IMAP/POP3</label>\n                                                                <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="account.MailServerIn.protocol" bs-checkbox>{{account.MailServerIn.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                 </div> -->\n                                                    <!-- END PROTOCOL -->\n\n                                                       <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.host" required/>\n                                                           <span data-ng-show="(forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid && forms.formIn.host.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.username" name="username" required/>\n                                                               <span data-ng-show="(forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid && forms.formIn.username.$error.required"  class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.password" required/>\n                                                           <span data-ng-show="(forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid && forms.formIn.password.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.port" required/>\n                                                         <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.number" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START MAILBOX -->\n                                                        <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                          <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.mailbox"/>\n                                                   </div>\n                                                        <!-- END MAILBOX -->\n\n                                                        <!-- START SEARCH FILTER -->\n                                                  <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                            <ui-select data-ng-model="account.MailServerIn.filter" name="filter" theme="bootstrap">\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                                                          <div ng-bind-html="filter | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <!-- <input type="text" name="filter" placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}" class="form-control" data-ng-model="forms.formIn.form.filter"/> -->\n                                                 </div>\n                                                        <!-- START SEARCH FILTER -->\n\n                                                        <!-- START DELETE -->\n                                                 <div class="form-group" data-ng-show="account.MailServerIn.protocol">\n                                                         <label class="control-label">{{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}</label><br>\n                                                              <!-- <button type="button" name="delete"  class="btn btn-default form-control" data-ng-model="account.MailServerIn.delete" btn-checkbox> {{account.MailServerIn.delete ? $translate.instant(\'APPLICATION_YES\') : $translate.instant(\'APPLICATION_NO\') | uppercase}} </button> -->\n                                                         <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerIn.delete"\n                                                                        type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                        switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                        switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END DELETE -->\n\n                                                 <!-- START SSL -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">SSL</label><br>\n                                                          <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="account.MailServerIn.ssl" btn-checkbox> {{account.MailServerIn.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerIn.ssl"\n                                                                   type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END SSL -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_3">\n                                           <form name="forms.formOut" data-ng-submit="forms.formOut.$valid && updateItemMailServerOut()" novalidate>\n\n                                                   <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.host" required/>\n                                                          <span data-ng-show="(forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid && forms.formOut.host.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.username" required/>\n                                                              <span data-ng-show="(forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid && forms.formOut.username.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.password" required/>\n                                                          <span data-ng-show="(forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid && forms.formOut.password.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.port.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.port" required/>\n                                                                <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.number" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START SSL -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">SSL</label><br>\n                                                          <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="account.MailServerOut.ssl" btn-checkbox> {{account.MailServerOut.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                              <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerOut.ssl"\n                                                                  type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END SSL -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/account/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                                    <form name="forms.info" novalidate>\n                                                           <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="info.name" required/>\n                                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n\n                                                           <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="info.description"/>\n                                                               </div>\n                                                                <!-- END DESCRIPTION -->\n\n                                                            <!-- START EMAIL -->\n                                                          <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.info.address.$touched || forms.info.$submitted) && forms.info.address.$invalid}">\n                                                                  <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <input type="email" name="address" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="info.address" required/>\n                                                                   <span data-ng-show="(forms.info.address.$touched || forms.info.$submitted) && forms.info.address.$invalid && forms.info.address.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div> -->\n                                                            <!-- END EMAIL -->\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="IMAP" canexit="formValidation(forms.in.$valid)">\n                                                      <form name="forms.in" novalidate>\n                                                             <!-- START PROTOCOL -->\n                                                               <!-- <div class="form-group">\n                                                                 <label class="control-label">IMAP/POP3</label>\n                                                                        <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="in.protocol" bs-checkbox>{{in.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                             </div> -->\n                                                            <!-- END PROTOCOL -->\n\n                                                               <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="in.host" required/>\n                                                                     <span data-ng-show="(forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid && forms.in.host.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="in.username" name="username" required/>\n                                                                 <span data-ng-show="(forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid && forms.in.username.$error.required"  class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="in.password" required/>\n                                                                     <span data-ng-show="(forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid && forms.in.password.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="in.port" required/>\n                                                                   <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.number" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START MAILBOX -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                                  <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="in.mailbox"/>\n                                                             </div>\n                                                                <!-- END MAILBOX -->\n\n                                                                <!-- START SEARCH FILTER -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                                    <ui-select data-ng-model="in.filter" name="filter" theme="bootstrap">\n                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                           <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                            <div data-ng-bind="filter | highlight: $select.search"></div>\n                                       </ui-select-choices>\n                                        </ui-select>\n                                                                        <!-- <input type="text" name="filter" placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}" class="form-control" data-ng-model="in.filter"/> -->\n                                                                </div>\n                                                                <!-- START SEARCH FILTER -->\n\n                                                                <!-- START DELETE -->\n                                                         <div class="form-group" data-ng-show="in.protocol">\n                                                                   <label class="control-label">{{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}</label><br>\n                                                                      <!-- <button type="button" name="delete"  class="btn btn-default form-control" data-ng-model="in.delete" btn-checkbox> {{in.delete ? $translate.instant(\'APPLICATION_YES\') : $translate.instant(\'APPLICATION_NO\') | uppercase}} </button> -->\n                                                                     <input\n                                                                                bs-switch\n                                                                             ng-model="in.delete"\n                                                                          type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END DELETE -->\n\n                                                         <!-- START SSL -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">SSL</label><br>\n                                                                  <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="in.ssl" btn-checkbox> {{in.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                    <input\n                                                                                bs-switch\n                                                                             ng-model="in.ssl"\n                                                                             type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                            switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                          switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END SSL -->\n                                                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                    </form>\n                                               </wz-step>\n                                            <wz-step title="SMTP" canexit="formValidation(forms.out.$valid)">\n                                                     <form name="forms.out" novalidate>\n\n                                                          <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="out.host" required/>\n                                                                    <span data-ng-show="(forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid && forms.out.host.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="out.username" required/>\n                                                                        <span data-ng-show="(forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid && forms.out.username.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="out.password" required/>\n                                                                    <span data-ng-show="(forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid && forms.out.password.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.port.$touched || forms.out.$submitted) && forms.out.port.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="out.port" required/>\n                                                                  <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.number" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START SSL -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">SSL</label><br>\n                                                                  <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="out.ssl" btn-checkbox> {{out.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                  <input\n                                                                                bs-switch\n                                                                             ng-model="out.ssl"\n                                                                            type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                            switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                          switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END SSL -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                            <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                                   </form>\n                                               </wz-step>\n                                            <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/mail/automation/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-settings"></i>\n                                         <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAutomations.checked.length">\n                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/automations/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="mail_automations.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                 <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.mailAutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="mailAutomationByPage in mailAutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="mailAutomationByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAutomation, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="mailAutomation in displayedMailAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAutomations.checked" checklist-value="mailAutomation.id"></td>\n                                           <td>{{mailAutomation.name}}</td>\n                                                                <td>{{mailAutomation.description}}</td>\n                                                               <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(mailAutomation.id, mailAutomation.status)",\n                                                                    bs-switch\n                                                             ng-model="mailAutomation.status"\n                                                              type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/automations/view/{{mailAutomation.id}}/settings">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAutomation.name, mailAutomation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailAutomations.length">\n                                                           <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.mailAutomationsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                    <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{automation.description}}\n                                    </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.automations.view.settings\')}">\n                                                     <a href="/mail/automations/view/{{automation.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">OR {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">AND {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="forms.info.$valid && updateAutomation()" novalidate>\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'or\')">\n                                                                  <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'or\'}">\n                                                        <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                                <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                                <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <div class="tab-pane" id="tab_1_3">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'and\')">\n                                                                 <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'and\'}">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" name="conditionAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                          <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" name="operatorAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                             <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" name="attributeAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" data-ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                                       <span data-ng-show="forms.and.attributeAnd{{$index}}.$invalid && forms.and.attributeAnd{{$index}}.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n\n                                      <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_4">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewAction()">\n                                                                   <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="action in automation.BusinessActions">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="action.condition" theme="bootstrap" on-select="updateAction(action.id, \'condition\', $item.key)" required>\n                                                                                         <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="action.key as action in automations.actions | filter: $select.search">\n                                                                                                     <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3" data-ng-switch="action.condition">\n                                                                              <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="action.attribute" theme="bootstrap" on-select="updateAction(action.id, \'attribute\', $item.key)" required>\n                                                                                         <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(action.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" data-ng-model="action.attribute" data-ng-blur="updateAction(action.id, \'attribute\', action.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                         </div>\n                                                                        </div>\n                                                                        <div class="col-md-4">\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeAction(action.id)">\n                                                                                  <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessActions.length">\n                                                    <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n\n                                      </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/automation/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n    <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_NEW_AUTOMATION\' | translate}}" canexit="formValidation(forms.automation.$valid)">\n                                            <form name="forms.automation" novalidate>\n                                                     <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.automation.name.$invalid && forms.automation.$submitted}">\n                                                                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                         <input class="form-control" type="text" name="name" value="" data-ng-model="automations.name" required>\n                                                                               <span data-ng-show="forms.automation.name.$invalid && forms.automation.name.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n\n                                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.automation.description.$invalid && forms.automation.$submitted}">\n                                                                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                              <input class="form-control" type="text" name="description" value="" data-ng-model="automations.description">\n                                                                          <span data-ng-show="forms.automation.description.$invalid && forms.automation.description.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <hr>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'or\')">\n                                                                             <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-user"></i>\n                                                                     <span class="caption-subject">Meet <strong>any</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.or">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionOr{{$index}}.$invalid && forms.automation.$submitted && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].condition" name="conditionOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.or[$index].conditions | filter: $select.search">\n                                                                                                          <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionOr{{$index}}.$invalid && forms.automation.conditionOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorOr{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].operator" name="operatorOr{{$index}}" theme="bootstrap" required>\n                                                                                                    <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.or[$index].condition.operators | filter: $select.search">\n                                                                                                          <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorOr{{$index}}.$invalid && forms.automation.operatorOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.or[$index].condition.input">\n                                                                                        <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted}">\n                                                                                            <ui-select data-ng-model="automations.or[$index].attribute" name="attributeOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.or[$index].condition.attributes | filter: $select.search">\n                                                                                                               <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeOr{{$index}}" value="" data-ng-model="automations.or[$index].attribute" required>\n                                                                                              <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'or\', $index)">\n                                                                                             <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.or.length">\n                                                                <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'and\')">\n                                                                            <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-people"></i>\n                                                                   <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.and">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].condition" name="conditionAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.and[$index].conditions | filter: $select.search">\n                                                                                                         <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.conditionAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                              <ui-select data-ng-model="automations.and[$index].operator" name="operatorAnd{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.and[$index].condition.operators | filter: $select.search">\n                                                                                                         <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.operatorAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.and[$index].condition.input">\n                                                                                       <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].attribute" name="attributeAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.and[$index].condition.attributes | filter: $select.search">\n                                                                                                              <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeAnd{{$index}}" value="" data-ng-model="automations.and[$index].attribute" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid}" required>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'and\', $index)">\n                                                                                            <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.and.length">\n                                                               <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'actions\')">\n                                                                                <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-magic-wand"></i>\n                                                                       <span class="caption-subject">Perform these actions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.actions">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.actions.conditionAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].condition" name="conditionAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="action in automations.actions[$index].actions | filter: $select.search">\n                                                                                                           <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                                   </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.conditionAction{{$index}}.$invalid && forms.actions.conditionAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3" data-ng-switch="automations.actions[$index].condition.input">\n                                                                                   <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].attribute" name="attributeAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.actions[$index].condition.attributes | filter: $select.search">\n                                                                                                          <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid}">\n                                                                                               <input class="form-control" type="text" min="0" name="attributeAction{{$index}}" value="" data-ng-model="automations.actions[$index].attribute" required>\n                                                                                             <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4">\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'actions\', $index)">\n                                                                                                <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.actions.length">\n                                                           <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add action</i>\n                                                             </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                               </div>\n                                                        </div>\n                                                </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/mail/inbox/compose/compose.html",'<form class="inbox-compose form-horizontal" id="fileupload" enctype="multipart/form-data" data-ng-init="getMessage()">\n  <pre>\n         {{mailAccounts | json}}\n       </pre>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn inbox-discard-btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n              <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_SAVE_AS_DRAFT\' | translate}}</button>\n               <span class="message-info"><i>{{form.message}}</i></span>\n     </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_FROM\' | translate}}: </label>\n           <div class="controls">\n                        <ui-select data-ng-model="form.body.from" theme="bootstrap">\n        <ui-select-match placeholder="Select an account">{{$select.selected.name}} <{{$select.selected.address}}></ui-select-match>\n        <ui-select-choices repeat="account in mailAccounts | filter: $select.search">\n          <div ng-bind-html="account.name | highlight: $select.search"></div>\n          <small ng-bind-html="account.address | highlight: $select.search"></small>\n        </ui-select-choices>\n      </ui-select>\n               </div>\n        </div>\n        <div class="inbox-form-group mail-to">\n                <label class="control-label">{{\'APPLICATION_TO\' | translate}}: </label>\n             <div class="controls controls-to">\n                    <input type="text" class="form-control" name="to" data-ng-model="form.body.to.address">\n                       <span class="inbox-cc-bcc">\n                   <span class="inbox-cc" data-ng-show="!flagCC" data-ng-click="switchFlagCC()">\n                 Cc </span>\n                    <span class="inbox-bcc" data-ng-show="!flagBCC" data-ng-click="switchFlagBCC()">\n                      {{\'APPLICATION_BCC\' | translate}} </span>\n                   </span>\n               </div>\n        </div>\n        <div class="inbox-form-group input-cc" data-ng-class="{\'display-hide\': !flagCC}">\n           <a href="javascript:;" class="close" data-ng-click="switchFlagCC()">\n          </a>\n          <label class="control-label">Cc:</label>\n              <div class="controls controls-cc">\n                    <input type="text" name="cc" class="form-control" data-ng-model="form.body.cc.address">\n               </div>\n        </div>\n        <div class="inbox-form-group input-bcc" data-ng-class="{\'display-hide\': !flagBCC}">\n         <a href="javascript:;" class="close" data-ng-click="switchFlagBCC()">\n         </a>\n          <label class="control-label">{{\'APPLICATION_BCC\' | translate}}:</label>\n             <div class="controls controls-bcc">\n                   <input type="text" name="bcc" class="form-control" data-ng-model="form.body.bcc.address">\n             </div>\n        </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}: </label>\n                <div class="controls">\n                        <input type="text" class="form-control" name="subject" data-ng-model="form.subject">\n          </div>\n        </div>\n        <div class="inbox-form-group">\n                <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html"></div>\n       </div>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n                <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_DRAFT\' | translate}}</button>\n       </div>\n</form>\n'),a.put("app/mail/inbox/inbox.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                                       <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-note"></i>\n                                     <a href="/mail/inbox/incoming">{{ \'APPLICATION_INBOX\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n        </div>\n</div>\n<!-- END PAGE CONTENT-->\n<div class="row inbox">\n     <div class="col-md-12" ui-view>\n       </div>\n</div>\n'),a.put("app/mail/inbox/incoming/incoming.html",'<div class="row inbox">\n     <div class="col-md-12">\n               <div class="inbox-header">\n                    <h1 class="pull-left">Inbox</h1>\n                      <form class="form-inline pull-right" action="#">\n                              <!-- <div class="input-group input-medium">\n                                   <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search">\n                                   <span class="input-group-btn">\n                                        <button type="submit" class="btn green"><i class="fa fa-search"></i></button>\n                                 </span>\n                               </div> -->\n                    </form>\n               </div>\n                <div class="inbox-content">\n                   <table class="table table-striped table-advance table-hover" st-table="displayedMailRooms" st-pipe="initList">\n                                <thead>\n                                       <tr>\n                                          <th colspan="9">\n                                                      <input type="checkbox" ng-change="check(null, checked)" checklist-model checklist-value="id">\n                                                 <div class="btn-group">\n                                                               <a data-ng-href="/mail/inbox/compose" class="btn btn-sm blue">\n                                                                        <i class="icon-plus"></i> {{\'APPLICATION_NEW_MESSAGE\' | translate}}\n                                                         </a>\n                                                  </div>\n                                                        <div class="btn-group" data-ng-show="mailRooms.checked.length">\n                                                               <a href="#" class="btn btn-sm red" data-ng-click="deleteItems()">\n                                                                     <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}}\n                                                             </a>\n                                                  </div>\n                                                        <div class="input-group input-medium pull-right">\n                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                         <span class="input-group-addon">\n                                                                      <i class="fa fa-search"></i>\n                                                          </span>\n                                                       </div>\n                                                </th>\n                                         <!-- <th class="pagination-control" colspan="7"> -->\n                                                  <!-- <span class="pagination-info">\n                                                   1-30 of 789 </span>\n                                                   <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-left"></i>\n                                                      </a>\n                                                  <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-right"></i>\n                                                     </a> -->\n                                              <!-- </th> -->\n                                        </tr>\n                         </thead>\n                              <tbody>\n                                       <tr data-messageid="1" data-ng-repeat="mailRoom in displayedMailRooms" class="animate-repeat">\n                                                <td class="inbox-small-cells">\n                                                        <input type="checkbox" checklist-model="mailRooms.checked" checklist-value="mailRoom.id">\n                                             </td>\n                                         <td class="inbox-small-cells" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                 #{{mailRoom.id}}\n                                              </td>\n                                         <td class="view-message hidden-xs" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                             {{mailRoom.subject}}\n                                         </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.from}}\n                                             </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.MailAccount.description ? mailRoom.MailAccount.description : mailRoom.MailAccount.name || \'APPLICATION_UNKNOWN\' | translate | uppercase}}\n                                                </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      <span class="badge badge-success badge-roundless" data-ng-show="mailRoom.User.fullname"> {{mailRoom.User.fullname}} </span>\n                                                   <span class="badge badge-default badge-roundless" data-ng-hide="mailRoom.User.fullname"> UNASSIGNED </span>\n                                           </td>\n                                         <td class="view-message" data-ng-switch="mailRoom.status" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                     <span class="badge badge-default" data-ng-class="{\n                                                    \'badge-danger\': mailRoom.status == \'NEW\',\n                                                 \'badge-warning\': mailRoom.status == \'OPEN\',\n                                                       \'badge-info\': mailRoom.status == \'PENDING\',\n                                                       \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span>\n                                           </td>\n                                         <td class="view-message inbox-small-cells">\n                                                   <i data-ng-show="mailRoom.attachment" class="fa fa-paperclip"></i>\n                                            </td>\n                                         <td class="view-message pull-right">\n                                                  <time is="relative-time" datetime="{{mailRoom.updatedAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                 </tr>\n                                 <tr data-ng-hide="displayedMailRooms.length">\n                                         <td colspan="9" style="text-align:center;">\n                                                   <i>{{ \'MESSAGE_NO_AVAILABLE_CONVERSATIONS\' | translate }}</i>\n                                               </td>\n                                 </tr>\n                         </tbody>\n                              <tfoot>\n                                       <tr>\n                                          <td colspan="9" class="text-center">\n                                                  <div class="pagination" st-pagination st-items-by-page="conf.mailRoomsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                 </tr>\n                         </tfoot>\n                      </table>\n              </div>\n        </div>\n</div>\n'),a.put("app/mail/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n       <div class="portlet light">\n           <!-- PROJECT HEAD -->\n         <div class="portlet-title">\n                   <div class="caption" data-ng-show="mailRoom">\n                         <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': mailRoom.status == \'NEW\',\n                                \'badge-warning\': mailRoom.status == \'OPEN\',\n                               \'badge-info\': mailRoom.status == \'PENDING\',\n                               \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span> -\n                         <span class="caption-subject font-green-sharp bold uppercase">{{mailRoom.subject}}</span>\n                     </div>\n                        <div class="actions" data-ng-show="mailRoom">\n                         <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                 <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgent(agent.id)">\n                                                    {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_SUBMIT\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'PENDING\')">\n                                                        {{ \'STATUS_NEW\' | translate | uppercase }} <span class="badge badge-danger">{{ \'STATUS_NEW\' | translate | uppercase | limitTo : 1 }} </span>\n                                                      </a>\n                                          </li>\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'CLOSED\')">\n                                                 {{ \'STATUS_CLOSED\' | translate | uppercase }} <span class="badge badge-success">{{ \'STATUS_CLOSED\' | translate | uppercase | limitTo : 1 }} </span>\n                                                       </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                        </div>\n                </div>\n                <!-- end PROJECT HEAD -->\n             <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="mailRoom" data-ng-class="{\'col-md-7 col-sm-7\': mailRoom}">\n                                       <div class="scroller" id="mailMessages" style="height: 500px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                          <ul class="chats">\n                                                    <li data-ng-class="{\'in\': mailMessage.status == \'RECEIVED\', \'out\': mailMessage.status == \'SENT\' || mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\'}" data-ng-repeat="mailMessage in mailRoom.MailMessages | orderBy:\'createdAt\'">\n                                                     <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && mailMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                    <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <span class="bold">From: </span>\n                                                              <!-- <span>{{mailMessage.From.fullname}} </span> -->\n                                                          <span>{{mailMessage.from}}</span>\n                                                             <br>\n                                                          <span class="bold">To: </span>\n                                                                <span>{{mailMessage.to}} </span>\n                                                              <br>\n                                                          <span data-ng-show="mailMessage.cc" class="bold">Cc: </span>\n                                                          <span data-ng-show="mailMessage.cc">{{mailMessage.cc}} </span>\n                                                                <br data-ng-show="mailMessage.cc">\n                                                            <span class="todo-tasklist-date">\n                                                                     <i class="fa fa-calendar"></i>\n                                                                        <time is="relative-time" datetime="{{mailMessage.createdAt}}">\n                                                                                April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <!-- <p data-ng-class="{\'text-danger\': mailMessage.status === \'FAILED\'}">{{mailMessage.status}}</p> -->\n                                                           <br><br>\n                                                              <span class="body" data-ng-bind-html="mailMessage.html || mailMessage.text" style="white-space: pre-wrap;">\n                                                           </span>\n                                                               <br>\n                                                          <div data-ng-repeat="mailAttachment in mailMessage.MailAttachments">\n                                                                  <strong>{{mailAttachment.fileName}}</strong>\n                                                                  <span>\n                                                                        {{mailAttachment.length}}B </span>\n                                                                    <a target="_self" download="{{mailAttachment.fileName}}" href="api/mail/attachments/{{mailAttachment.id}}">\n                                                                           {{ \'APPLICATION_DOWNLOAD\' | translate }}\n                                                                    </a>\n                                                          </div>\n                                                        </div>\n                                                </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': mailRoom, \'col-md-12 col-sm-12\': !mailRoom}">\n                                   <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendMail()" class="form-horizontal" novalidate>\n                                            <!-- START HEAD -->\n                                           <div class="form">\n                                                    <div class="form-group">\n                                                              <div class="col-md-12 col-sm-12">\n                                                                     <div class="todo-taskbody-user">\n                                                                              <img class="todo-userpic pull-left" data-ng-src="api/users/avatar/{{getCurrentUser().userpic ? getCurrentUser().userpic : \'unknown_avatar\'}}" width="50px" height="50px">\n                                                                           <span class="todo-username pull-left">{{ getCurrentUser().fullname }}</span>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <!-- <ui-select-match placeholder="From...">{{$select.selected.name}} - {{$select.selected.address}}</ui-select-match> -->\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div data-ng-hide="mailRoom" class="form-group" data-ng-class="{\'has-error\': forms.compose.subject.$invalid && forms.compose.$submitted}">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Subject:</label>\n                                                                         </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="Subject..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.compose.subject.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.text.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.compose.text.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n\n                                         </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),a.put("app/mail/queue/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="#">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_queues.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedMailQueues">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailQueues.checked" checklist-value="queue.id"></td>\n                                         <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailQueues.length">\n                                                                <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.queues.view.settings\')}">\n                                                  <a data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.mail.queues.view.agents\')}">\n                                                    <a data-ng-href="/mail/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMailQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">Agent Timeout</label>\n                                            <input type="number" name="timeout" placeholder="Timeout" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/mail/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/mail/realtime/view/agent/agent.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n        <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="agentcalledAt" st-sort-default="reverse">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                                <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentringnoanswerAt">{{ \'APPLICATION_UNASWER_AT\' | translate }}</th>\n                                           <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': agent.lastevent === \'called\',\n                                                         \'icon-user-following font-green\': agent.lastevent === \'agent\',\n                                                            \'icon-user-unfollow font-red\': agent.lastevent === \'timeout\',\n                                                             \'icon-user-unfollow font-blue\': agent.lastevent === \'answered_elsewhere\'}"></i>\n                                                   </span>\n                                               </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.mailqueuename}}</td>\n                                              <td>{{agent.fullname}}</td>\n                                           <td>{{agent.subject}}</td>\n                                            <td>{{agent.from}}</td>\n                                               <td>{{agent.accountname}}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectedAt}}" data-ng-show="agent.agentconnectedAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentringnoanswerAt}}" data-ng-show="agent.agentringnoanswerAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initMails()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedMails" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedMails">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.mailqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.subject}}</td>\n                                          <td>{{session.from}}</td>\n                                             <td>{{session.accountname}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.mailjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailleaveAt}}" data-ng-show="session.mailleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailunmanagedAt}}" data-ng-show="session.mailunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedMails.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/mail/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/agent">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                          </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/statistics.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.statistics.summary\')}">\n                                                    <a data-ng-href="/mail/statistics/summary">\n                                                   <i class="icon-bar-chart"></i>\n                                                        {{ \'APPLICATION_SUMMARY\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.summary.html",'<div class="row">\n   <div class="col-md-12">\n               <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_INBOX\' | translate }} <i class="fa fa-img-up"></i>\n                                                                          </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'INBOX\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_SENT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                         </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'SENT\' }).length }} </span>\n                                                                   </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_OUTGOING\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'NOT SENT\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_DRAFT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'DRAFT\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_TRASH\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'TRASH\' }).length }} </span>\n                                                                  </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ directory:\'INBOX\' }).length,\n                                               (mailMessages | filter:{ directory:\'SENT\' }).length,\n                                                (mailMessages | filter:{ directory:\'NOT SENT\' }).length,\n                                            (mailMessages | filter:{ directory:\'DRAFT\' }).length,\n                                               (mailMessages | filter:{ directory:\'TRASH\' }).length]" labels="[\n                                            $translate.instant(\'APPLICATION_INBOX\'),\n                                            $translate.instant(\'APPLICATION_SENT\'),\n                                             $translate.instant(\'APPLICATION_OUTGOING\'),\n                                         $translate.instant(\'APPLICATION_DRAFT\'),\n                                            $translate.instant(\'APPLICATION_TRASH\')]" legend="true"></canvas>\n                                   </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n\n         <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pencil font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_OTHER_INFO\' | translate }}</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_READ\' | translate }} <i class="fa fa-img-up"></i>\n                                                                           </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'true\' }).length }} </span>\n                                                                        </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_UNREAD\' | translate }} <i class="fa fa-img-down"></i>\n                                                                               </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'false\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_FAVORITE\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ favorite:\'true\' }).length }} </span>\n                                                                    </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ read:\'true\' }).length,\n                                             (mailMessages | filter:{ read:\'false\' }).length]" labels="[\n                                         $translate.instant(\'APPLICATION_READ\'),\n                                             $translate.instant(\'APPLICATION_UNREAD\')]" legend="true"></canvas>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n'),a.put("app/mail/template/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-docs"></i>\n                                             <a href="#">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailTemplates.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEMPLATE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/templates/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailTemplates([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_templates.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailTemplates" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.templatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in templatesByPage | filter: $select.search">\n                                                                                                  <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(template, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <!-- <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                           <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th> -->\n                                                    <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="template in displayedMailTemplates">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailTemplates.checked" checklist-value="template.id"></td>\n                                           <td>{{template.name}}</td>\n                                                              <td>{{template.description}}</td>\n                                                             <!-- <td>{{template.strategy | uppercase}}</td>\n                                                               <td>{{template.timeout}}</td> -->\n                                           <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/templates/view/{{template.id}}/settings">\n                                                                               {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(template.name, template.id)">\n                                                                              {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailTemplates.length">\n                                                             <td colspan="6" class="text-center">\n                                                                  <i>No available templates</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <!-- <td>\n                                                                     <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/> -->\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.templatesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/mail/template/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/template/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initItem()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                        <i data-ng-show="item" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="item">\n                                      <a href="#">{{item.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n\n                       <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/template.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{item.name}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.templates.view.settings\')}">\n                                                       <a data-ng-href="/mail/templates/view/{{item.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/template/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.template" data-ng-submit="forms.template.$valid && updateItem()" class="form-horizontal" novalidate>\n                                        <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.name.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." rows="8" data-ng-model="item.name">\n                                                                  <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group" data-ng-class="{\'has-error\': forms.template.description.$invalid && forms.template.$submitted}">\n                                            <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="item.description">\n                                                                    <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START FROM -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.from.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">From:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select data-ng-model="item.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="forms.template.from.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                               </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END FROM -->\n\n                                   <!-- FAX TO -->\n                                       <div class="form-group" data-ng-class="{\'has-error\': forms.template.to.$invalid && forms.template.$submitted}">\n                                             <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">To:<span class="required" aria-required="true">*</span></label>\n                                                          </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="item.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                              <ui-select-choices repeat="to in item.to | filter:$select.search">\n                                                                                    {{to}}\n                                                                                </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="forms.template.to.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                               </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END TO -->\n\n                                     <!-- START CC -->\n                                     <div class="form-group">\n                                              <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">Cc:</label>\n                                                              </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="item.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                              <ui-select-choices repeat="cc in item.cc">\n                                                                                    {{cc}}\n                                                                                </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CC -->\n\n                                     <!-- START SUBJECT -->\n                                        <div class="form-group" data-ng-class="{\'has-error\': forms.template.subject.$invalid && forms.template.$submitted}">\n                                                <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="item.subject">\n                                                                 <span data-ng-show="forms.template.subject.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END SUJBECT -->\n\n                                        <!-- START HTML -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.text.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="item.html" name="html"></div>\n                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                               <span data-ng-show="forms.template.text.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                               </div>\n                                        </div>\n                                        <!-- END HTML -->\n\n                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/template/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-docs"></i>\n                             <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }} WIZARD</a> </span>\n                  </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.template" data-ng-submit="forms.template.$valid && saveTemplate()" class="form-horizontal" novalidate>\n                                              <!-- START HEAD -->\n                                           <div class="form">\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.name.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                                </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." rows="8" data-ng-model="form.name">\n                                                                                  <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': forms.template.description.$invalid && forms.template.$submitted}">\n                                                            <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                                             </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="form.description">\n                                                                                    <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.from.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:<span class="required" aria-required="true">*</span></label>\n                                                                                </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <!-- <ui-select-match placeholder="From...">{{$select.selected.name}} - {{$select.selected.address}}</ui-select-match> -->\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.template.from.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.template.to.$invalid && forms.template.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:<span class="required" aria-required="true">*</span></label>\n                                                                          </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.template.to.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.template.subject.$invalid && forms.template.$submitted}">\n                                                                <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                             </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.template.subject.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.text.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.template.text.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <!-- <div class="form-group">\n                                                         <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div> -->\n                                                    <!-- END ATTACH -->\n                                           </div>\n                                                <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                    </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/mail/timeline/list/list.html",'<div class="row">\n       <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/main/main.html",'<!-- BEGIN HEADER -->\n<div data-ng-include="\'components/header/header.html\'" data-ng-controller="HeaderController" class="page-header navbar navbar-fixed-top">\n</div>\n<!-- END HEADER -->\n\n<div class="clearfix">\n</div>\n<!-- BEGIN CONTAINER -->\n<div class="page-container" data-ng-init="initMain()">\n\n  <!-- BEGIN SIDEBAR -->\n  <div data-ng-include="\'components/sidebar/sidebar.html\'" data-ng-controller="SidebarController" class="page-sidebar-wrapper">\n  </div>\n  <!-- END SIDEBAR -->\n\n  <!-- BEGIN CONTENT -->\n  <div class="page-content-wrapper">\n    <div class="page-content">\n\n      <!-- BEGIN PAGE CONTENT -->\n      <!-- <toaster-container></toaster-container> -->\n      <uib-tabset>\n        <uib-tab select="addWorkspace()" active="mainTab.active">\n          <uib-tab-heading>\n            Motion <i class="icon-plus-sign"></i>\n          </uib-tab-heading>\n          <div ui-view class=""></div>\n        </uib-tab>\n        <uib-tab data-ng-repeat="workspace in workspaces" heading="{{workspace.name}}" active="workspace.active" data-ng-switch="workspace.type">\n          <div class="">\n\n          </div>\n        </uib-tab>\n        <uib-tab select="addWorkspace()">\n          <uib-tab-heading>\n            <i class="icon-plus"></i>\n          </uib-tab-heading>\n        </uib-tab>\n      </uib-tabset>\n      <!-- END PAGE CONTENT  -->\n\n    </div>\n  </div>\n  <!-- END CONTENT -->\n\n  <!-- BEGIN QUICK SIDEBAR -->\n  <a href="javascript:;" class="page-quick-sidebar-toggler"><i class="icon-close"></i></a>\n  <div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper">\n  </div>\n  <!-- END QUICK SIDEBAR -->\n\n</div>\n<!-- END CONTAINER -->\n\n<!-- BEGIN FOOTER -->\n<div data-ng-include="\'components/footer/footer.html\'" data-ng-controller="FooterController" class="page-footer">\n</div>\n<!-- END FOOTER -->\n\n<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->\n<!-- BEGIN CORE PLUGINS -->\n<!--[if lt IE 9]>\n<script src="../../assets/global/plugins/respond.min.js"></script>\n<script src="../../assets/global/plugins/excanvas.min.js"></script>\n<![endif]-->\n\n<!-- END JAVASCRIPTS -->\n'),a.put("app/main/template.queryBuilderView.html",'\n             <div class="alert alert-warning alert-group">\n                         <div class="row">\n                                             <ui-select data-ng-model="group.boolean" theme="bootstrap" class="col-md-2" data-ng-if="group.type == \'CONDITION\'">\n                                                 <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                       <ui-select-choices repeat="bool.name as bool in booleans| filter: $select.search">\n                                                            <div ng-bind-html="bool.name | highlight: $select.search"></div>\n                                                      </ui-select-choices>\n                                          </ui-select>\n                                          <button ng-click="addCondition(group.type)" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_\'+group.type | translate}}</button>\n                                               <button ng-click="addGroup(group.type)" data-ng-if="group.type == \'CONDITION\' && group.main" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_GROUP\' | translate}}</button>\n                                          <button ng-click="removeGroup()" data-ng-if="group.type == \'CONDITION\' && !group.main" class="btn btn-danger col-md-2 left-margin" ><span class="glyphicon glyphicon-minus-sign"></span> {{\'APPLICATION_REMOVE_GROUP\' | translate}}</button>\n                              </div>\n                                <div class="group-conditions">\n                                        <!-- <pre>\n                                            {{group | json}}\n                                      </pre> -->\n                                            <div ng-repeat="rule in group.rules | orderBy:\'index\'" class="condition">\n                                                           <div ng-switch="rule.hasOwnProperty(\'group\')">\n                                                                              <div ng-switch-when="true">\n                                                                                           <query-builder group="rule.group" fields="fields" operators="operators" properties="properties"></query-builder>\n                                                                              </div>\n                                                                                <div ng-switch-default="ng-switch-default">\n                                                                                           <div class="row">\n                                                                                                                     <ui-select data-ng-model="rule.field" theme="bootstrap" class="col-md-2">\n                                                                                                                             <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="field in fields | filter: $select.search">\n                                                                                                                                 <div ng-bind-html="field.name | translate | highlight: $select.search"></div>\n                                                                                                                         </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <ui-select data-ng-model="rule.operator" theme="bootstrap" class="col-md-2 left-margin" data-ng-if="group.type == \'CONDITION\' && rule.field">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="operator.value as operator in operators[rule.field.operators]| filter: $select.search">\n                                                                                                                                    <div ng-bind-html="operator.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'input\'">\n                                                                                                                          <input type="text" ng-model="rule.data" class="form-control"/>\n                                                                                                                        </div>\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'number\'">\n                                                                                                                         <input type="number" ng-model="rule.data" class="form-control"/>\n                                                                                                                      </div>\n                                                                                                                        <ui-select ng-if="rule.field && rule.field.propertyField==\'select\'" data-ng-model="rule.data" class="col-md-2 left-margin" theme="bootstrap">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="property.value as property in properties[rule.field.value]| filter: $select.search">\n                                                                                                                                       <div ng-bind-html="property.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <button ng-click="removeCondition($index)" class="btn btn-danger remove-condition col-md-1 left-margin"><span class="glyphicon glyphicon-minus-sign"></span></button>\n                                                                                         </div>\n                                                                                </div>\n                                                                </div>\n                                                </div>\n                                </div>\n                </div>\n'),a.put("app/market/market.html",'<div class="row" data-ng-init="getProject()">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/market">Market Place</a>\n          </li>\n        </ul>\n                    </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n    <!-- Our Integration -->\n    <div class="headline">\n      <h3>Our Integrations</h3>\n    </div>\n    <div class="row thumbnails">\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> Zendesk <small> Xenialab s.r.l</small></h3>\n          <img src="https://d3kjp0zrek7zit.cloudfront.net/uploads/product/image/574/large_detail_1406764757.png" alt="Zendesk" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               Allows your customer care to manage professional Asterisk call center solutions...\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                      Install 1.0.0 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> SalesForce <small> Xenialab s.r.l</small></h3>\n          <img src="http://501partners.com/wp-content/uploads/SF-300x300.png" alt="Salesforce" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               xCALLY provides a new seamless CTI integration with Salesforce, CRM leader solution....\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                      Install 1.0.1 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> Desk.com <small> Xenialab s.r.l</small></h3>\n          <img src="http://a470.phobos.apple.com/us/r1000/088/Purple/v4/d5/5a/f3/d55af305-cbb5-fc52-dd09-5b69f979b551/mzl.fiyydcmj.png" alt="desk.com" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               The new xCALLY – Desk Integration ensures a proper Case will be displayed on the....\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                 Install 1.1.4 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!--/thumbnails-->\n    <!-- //End Meer Our Team -->\n  </div>\n</div>\n'),
-a.put("app/motionbar/motionbar.chat.html",'<div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper" style="margin-top: -92px;"></div>\n'),a.put("app/sound/list/list.html",'<div class="page-bar">\n  <ul class="page-breadcrumb">\n    <li>\n      <i class="icon-rocket"></i>\n      <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n      <i class="fa fa-angle-right"></i>\n    </li>\n    <li>\n      <i class="icon-music-tone-alt"></i>\n      <a href="#">{{ \'APPLICATION_SOUNDS\' | translate }}</a>\n    </li>\n  </ul>\n  <div class="page-toolbar">\n  </div>\n</div>\n<!-- END PAGE HEADER-->\n<!-- BEGIN PAGE CONTENT-->\n<!-- Audio Portlets -->\n<div class="headline">\n  <h3><i class="icon-music-tone-alt sounds-title-icon"></i> {{ \'APPLICATION_SOUNDS\' | translate }}</h3>\n</div>\n<div class="portlet light bg-inverse">\n  <div class="portlet-title collapsible" ng-click="isCollapsed = !isCollapsed">\n    <div class="caption">\n      <i class="icon-puzzle font-red-flamingo"></i>\n      <span class="caption-subject bold font-red-flamingo uppercase">\n      {{\'APPLICATION_FILE_UPLOAD\' | translate}} </span>\n    </div>\n    <div class="tools">\n      <a href="" ng-class="{\'collapse\': !isCollapsed, \'expand\' : isCollapsed}">\n      </a>\n      <a href="" class="fullscreen">\n      </a>\n    </div>\n  </div>\n  <div class="portlet-body" ng-slide-down="!isCollapsed">\n    <div class="row" nv-file-drop="" uploader="uploader" filters="queueLimit, customFilter">\n        <div class="col-md-4">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_SELECT_FILES\' | translate}}</span>\n                                      <span class="caption-helper hide"></span>\n                             </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div ng-show="uploader.isHTML5">\n                                      <div class="file-drop-zone margin-bottom-20" nv-file-over="" uploader="uploader" over-class="file-drop-zone-over">\n                                                    Base drop zone\n                                        </div>\n                                </div>\n                                <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_FILE_UPLOAD\' | translate}}</span>\n                                    <input type="file" nv-file-select="" uploader="uploader" />\n                                   </span>\n                               <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_MULTI_FILE_UPLOAD\' | translate}}</span>\n                              <input type="file" nv-file-select="" uploader="uploader" multiple  /><br/>\n          </span>\n          <p>\n            </br>\n            {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>wav, mp3, gsm, ogg</b>.\n          </p>\n          <p>\n            {{ \'MESSAGE_MAXIMUM_SOUND_UPLOAD_SIZE\' | translate }} <b>15 Mb</b>.\n          </p>\n                     </div>\n                </div>\n        </div>\n        <div class="col-md-8">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_UPLOAD_QUEUE\' | translate}}</span>\n                                      <span class="caption-helper">{{\'APPLICATION_QUEUE_LENGTH\' | translate}}: {{ uploader.queue.length }}</span>\n                                 </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div class="table-scrollable table-scrollable-borderless">\n                                            <table class="table table-hover table-light">\n                                                 <thead>\n                                                       <tr class="uppercase">\n                                                                <th width="50%">{{\'APPLICATION_NAME\' | translate}}</th>\n                                                             <th ng-show="uploader.isHTML5">{{\'APPLICATION_SIZE\' | translate}}</th>\n                                                              <th ng-show="uploader.isHTML5">{{\'APPLICATION_PROGRESS\' | translate}}</th>\n                                                                  <th>{{\'APPLICATION_STATUS\' | translate}}</th>\n                                                               <th>{{\'APPLICATION_MESSAGE\' | translate}}</th>\n                                                              <th>{{\'APPLICATION_ACTIONS\' | translate}}</th>\n                                                      </tr>\n                                                 </thead>\n                                              <tbody>\n                                                       <tr ng-repeat="item in uploader.queue">\n                                                               <td><strong>{{ item.file.name }}</strong></td>\n                                                                <td ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>\n                                                                 <td ng-show="uploader.isHTML5">\n                                                                       <div class="progress progress-sm" style="margin-bottom: 0;">\n                                                                                  <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': item.progress + \'%\' }"></div>\n                                                                         </div>\n                                                                </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.isSuccess" class="text-success"><i class="glyphicon glyphicon-ok"></i></span>\n                                                                     <span ng-show="item.isCancel" class="text-info"><i class="glyphicon glyphicon-ban-circle"></i></span>\n                                                                         <span ng-show="item.isError" class="text-danger"><i class="glyphicon glyphicon-remove"></i></span>\n                                                                            <span ng-show="item.isUploading" class="text-info"><i class="glyphicon glyphicon-upload"></i></span>\n                                                                  </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.responseMessage" class="text-danger">{{item.responseMessage}}</span>\n                                                              </td>\n                                                                 <td nowrap>\n                                                                           <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" ng-disabled="item.isReady || item.isUploading || item.isSuccess">\n                                                                       <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD\' | translate}}\n                                                                       </button>\n                                                                     <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" ng-disabled="!item.isUploading">\n                                                                        <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL\' | translate}}\n                                                                           </button>\n                                                                     <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()">\n                                                                         <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE\' | translate}}\n                                                                        </button>\n                                                             </td>\n                                                         </tr>\n                                                 </tbody>\n                                      </table>\n                              </div>\n                                <div>\n                                         <p>{{\'APPLICATION_UPLOAD_QUEUE_PROGRESS\' | translate}}:</p>\n                                         <div class="progress progress-sm" style="">\n                                                   <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': uploader.progress + \'%\' }"></div>\n                                     </div>\n                                </div>\n                                <button type="button" class="btn btn-success btn-s" ng-click="uploader.uploadAll()" ng-disabled="!uploader.getNotUploadedItems().length">\n                             <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD_ALL\' | translate}}\n                                   </button>\n                             <button type="button" class="btn btn-warning btn-s" ng-click="uploader.cancelAll()" ng-disabled="!uploader.isUploading">\n                              <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL_ALL\' | translate}}\n                               </button>\n                             <button type="button" class="btn btn-danger btn-s" ng-click="uploader.clearQueue()" ng-disabled="!uploader.queue.length">\n                             <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE_ALL\' | translate}}\n                                    </button>\n                     </div>\n                </div>\n        </div>\n    </div>\n  </div>\n</div>\n<div class="row thumbnails" data-ng-init="initList()">\n  <div class="row" ng-show="sounds.length == 0">\n    <div class="col-md-12 page-404">\n      <div class="details">\n        <h3>{{ \'MESSAGE_NO_SOUNDS\' | translate }}</h3>\n        <p>\n          <a href="/">\n          {{ \'MESSAGE_RETURN_HOME\' | translate }} </a>\n          {{ \'MESSAGE_OR_UPLOAD_SOUND_FILE\' | translate }}\n        </p>\n      </div>\n    </div>\n  </div>\n  <div class="audio-portlet-wrapper animate-repeat" ng-repeat="sound in sounds">\n    <div class="audio-portlet">\n      <div class="audio-portlet-title"><a href="#" editable-text="sound.display_name" onbeforesave="updateAudio(sound.id,{display_name : $data})">{{ sound.display_name || "Empty" }}</a></div>\n      <img src="../assets/images/note_placeholder.png" alt="" class="img-responsive"/>\n      <div class="file-info">\n        <div class="audio-tag-wrapper">\n          <audio controls ng-src="{{getSecureSrc(audioSources[sound.id])}}" preload="none">\n            {{ \'MESSAGE_AUDIO_NOT_SUPPORTED\' | translate }}\n          </audio>\n        </div>\n        <p id="description_div">\n          <a href="#" editable-text="sound.description" onbeforesave="updateAudio(sound.id,{description : $data})">{{ sound.description || "Empty" }}</a>\n        </p>\n        <p class="float-right">\n            <button class="btn btn-xs green-meadow" tooltip-html-unsafe="<ul class=\'list-unstyled\'><li><b>Format : </b>{{sound.original_format}}</li><li><b>Duration : </b>{{sound.original_duration | date: \'mm:ss\'}}</li><li><b>Channels : </b>{{sound.original_channelCount}}</li><li><b>Bitrate : </b>{{sound.original_bitRate/1024}} kbs</li><li><b>Sample Rate : </b>{{sound.original_sampleRate/1000}} KHz</li></ul>"><i class="icon-list"></i></button>\n            <a class="btn btn-xs blue-hoki" href="{{getSecureDownloadSrc(audioSources[sound.id])}}" download="{{sound.name+\'.\'+sound.original_format}}" target="_self" tooltip="Download"><i class="icon-cloud-download"></i></a>\n            <button class="btn btn-xs red-sunglo" ng-click="delete(sound.display_name, sound.id)" tooltip="Delete"><i class="icon-close" ></i></button>\n        </p>\n      </div>\n    </div>\n  </div>\n</div>\n<!-- End Audio Portlets -->\n'),a.put("app/sound/sound.html","<!-- BEGIN PAGE CONTENT-->\n<div ui-view></div>\n<!-- END PAGE CONTENT-->\n"),a.put("app/square/odbc/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_ODBCS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Odbcs.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ODBC\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/odbcs/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getOdbcs([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_odbcs.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedOdbcs" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.odbcsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="odbcByPage in odbcsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="odbcByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(odbc, checked)" checklist-model checklist-value="id"></th>\n                                             <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="odbc in displayedOdbcs" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="odbc.defaultEntry" type="checkbox" checklist-model="Odbcs.checked" checklist-value="odbc.id"></td>\n                                                                <td>{{odbc.name}}</td>\n                                              <td>{{odbc.description}}</td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/odbcs/view/{{odbc.id}}/settings" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(odbc.name,odbc.id)" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedOdbcs.length">\n                                                             <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_ODBCS_AVAILABLE\' | translate }}</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.odbcsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getOdbc()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                                      <i data-ng-show="odbc" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="odbc">\n                                      <a href="#">{{odbc.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/odbc.png" class="img-responsive">\n                               </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{odbc.name}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.square.odbcs.view.settings\')}">\n                                                 <a data-ng-href="/square/odbcs/view/{{odbc.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_ODBC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateOdbc()" novalidate>\n\n                                                        <!-- START NAME -->\n                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="odbc.name" required/>\n                                                           <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                       </span>\n                                     </div>\n                                <!-- END NAME -->\n\n                                                     <!-- START DSN -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="odbc.dsn" required/>\n                                                              <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DSN -->\n\n                                                    <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="odbc.description"></textarea>\n                                                  </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/square/odbc/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n   <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/odbcs/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                   </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_ODBC\' | translate }} WIZARD</a> </span>\n               </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.odbc.$valid)">\n                            <form name="forms.odbc" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DSN -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                         <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="item.dsn" required/>\n                                                      <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END DSN -->\n\n                                              <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/square/project/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n        <li>\n          <i class="fa fa-slack"></i>\n          <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n        </li>\n                   </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_PROJECTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Projects.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_PROJECT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/projects/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getProjects([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_projects.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedProjects" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.projectsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="projectByPage in projectsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="projectByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="project in displayedProjects" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="project.defaultEntry" type="checkbox" checklist-model="Projects.checked" checklist-value="project.id"></td>\n                                                               <td>{{project.name}}</td>\n                                           <td>{{project.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/projects/view/{{project.id}}" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(project.name,project.id)" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedProjects.length">\n                                                          <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_PROJECTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.projectsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/project/view/view.html",'<div class="row" data-ng-init="getProject()">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-superscript"></i>\n                                             <a href="/square/projects">{{ \'APPLICATION_CALLYSQUARE\' | translate }}</a>\n                                          <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-slack"></i>\n                                           <a href="/square/projects">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                      </li>\n          <li>\n                                         <a ng-href="/square/projects/view/{{squareProject.id}}">{{squareProject.name}}</a>\n          </li>\n                           </ul>\n                 </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n              <div id="geEditor" class="geEditor"></div>\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n<script>\n\n\n</script>\n'),a.put("app/square/project/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n                                <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/projects/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_PROJECT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.project.$valid)">\n                         <form name="forms.project" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$invalid}">\n                              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$error.required" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
-a.put("app/tag/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_TAG\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.tag" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.tag.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/tag/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TAGS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Tags.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TAG\' | translate }}\n                                           </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTags([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="tags.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTags" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.tagsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="tagByPage in tagsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="tagByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(tag, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="tag in displayedTags" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="tag.defaultEntry" type="checkbox" checklist-model="Tags.checked" checklist-value="tag.id"></td>\n                                                           <td>{{tag.name}}</td>\n                                       <td>{{tag.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/tags/view/{{tag.id}}/settings" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                             {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(tag.name,tag.id)" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTags.length">\n                                                              <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_TAGS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.tagsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTag()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                                       <i data-ng-show="tag" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="tag">\n                                       <a href="#">{{tag.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/tag.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{tag.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.tags.view.settings\')}">\n                                                 <a data-ng-href="/tags/view/{{tag.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_TAG\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTag()" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="tag.name" required/>\n                                                            <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="tag.description"></textarea>\n                                                   </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/list/list.html",'<div class="row">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-shield"></i>\n                                           <a href="#">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-shield font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_TEAMS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="teams.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEAM\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/teams/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTeams([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="teams.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTeams" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.teamsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="teamByPage in teamsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="teamByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="team in displayedTeams" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="teams.checked" checklist-value="team.id"></td>\n                                       <td>{{team.name}}</td>\n                                                          <td>{{team.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/teams/view/{{team.id}}/settings" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                          {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(team.name, team.id)" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n              <tr data-ng-hide="displayedTeams.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No teams available</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.teamsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.agents.html",'<div class="row" data-ng-init="initAgents()">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                    <!-- GENERAL TAB -->\n                          <!-- BEGIN PORTLET-->\n                                 <!-- BEGIN FORM-->\n                                    <form action="index.html" class="form-horizontal form-row-seperated">\n                                         <div class="form-body">\n                                                       <div class="form-group last">\n                                                         <div class="col-md-9" id="multi-select-team">\n                                                         </div>\n                                                        </div>\n                                                </div>\n                                        </form>\n                                       <!-- END FORM-->\n                              <!-- END PORTLET-->\n                   <!-- END GENERAL TAB -->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-shield"></i>\n                                   <a href="/teams/list">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{team.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/team.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{team.name}}\n                                 </div>\n\n                              </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.teams.view.settings\')}">\n                                                        <a data-ng-href="/teams/view/{{team.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.teams.view.agents\')}">\n                                                  <a data-ng-href="/teams/view/{{team.id}}/agents">\n                                                     <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                        </div>\n\n                      <div class="portlet-body">\n                            <!-- PERSONAL INFO TAB -->\n                            <div>\n\n                                       <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                             <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="team.name" required/>\n                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="team.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </form>\n                               </div>\n                                <!-- END PERSONAL INFO TAB -->\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                    </li>\n                                 <li>\n                                          <i class="icon-shield"></i>\n                                           <a href="/teams/list">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                      </li>\n          <li>\n                                         <i class="icon-user-following"></i>\n                                           <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div id="team" class="row" data-ng-init="getAgents()">\n <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_TEAM\' | translate }} WIZARD</a> </span>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_TEAM_INFO\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                          <form name="forms.info" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                            </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trigger/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bulb"></i>\n                                             <a href="#">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRIGGERS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Triggers.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TRIGGER\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/triggers/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTriggers([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="triggers.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTriggers" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.TriggersByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="TriggerByPage in TriggersByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="TriggerByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(Trigger, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="channel">{{ \'APPLICATION_CHANNEL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="Trigger in displayedTriggers">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Triggers.checked" checklist-value="Trigger.id"></td>\n                                         <td>{{Trigger.name}}</td>\n                                                               <td>{{Trigger.description}}</td>\n                                                              <td>{{Trigger.channel | capitalize}}</td>\n                                                             <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(Trigger.id, Trigger.status)",\n                                                                  bs-switch\n                                                             ng-model="Trigger.status"\n                                                             type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/triggers/view/{{Trigger.id}}/settings">\n                                                                              {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(Trigger.name, Trigger.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTriggers.length">\n                                                          <td colspan="6" class="text-center">\n                                                                  <i>No available triggers</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="channel" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CHANNEL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                                         <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.TriggersByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/trigger/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView();getProperties();">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bulb"></i>\n                                     <a href="/triggers/list">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                                       <i class="fa fa-angle-right" data-ng-show="trigger"></i>\n                              </li>\n                         <li data-ng-show="trigger">\n                                   <a href="#">{{ trigger.description || trigger.name }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/trigger.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ trigger.name }}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ trigger.description }}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.triggers.view.settings\')}">\n                                                     <a href="/triggers/view/{{trigger.id}}/settings">\n                                                     <i class="icon-bulb"></i>\n                                                     {{ \'APPLICATION_SETTINGS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trigger/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_CONDITIONS\' | translate}} & {{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <!-- <pre>\n                                    {{conditionsData.query | json}}\n                               </pre>\n                                <pre>\n                                 {{actionsData.query | json}}\n                          </pre> -->\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTrigger()" novalidate>\n                                                       <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="trigger.name" required/>\n                                                                <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="trigger.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- <pre>\n                                            {{conditionsFilter | json}}\n                                   </pre> -->\n\n                                          <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$triggers.operators"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[trigger.channel]"></query-builder>\n                                                  </div>\n                                                </div>\n\n                                              <input class="btn green-haze" type="button" value="{{\'APPLICATION_UPDATE\' | translate}}" data-ng-click="updateTrigger()"/>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/trigger/wizard/wizard.html",'\n<div class="row" data-ng-init="getProperties()">\n <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bulb"></i>\n                                     <a href="/triggers/list">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRIGGERS\' | translate }} WIZARD</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                              <form name="forms.general" novalidate>\n                                                        <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name"/ required>\n                                                           <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                            </form>\n                                       </wz-step>\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}">\n                                            <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CHANNEL\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <div class="form-group"  >\n                                                                    <label class="control-label">{{ \'APPLICATION_CHANNEL\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="item.channel" name="channel" theme="bootstrap" required>\n                                                                            <ui-select-match placeholder="{{ \'APPLICATION_CHANNEL\' | translate }}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                          <ui-select-choices repeat="channel in $triggers.channels | filter: $select.search">\n                                                                                   <div ng-bind-html="channel | highlight: $select.search | capitalize"></div>\n                                                                           </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$triggers.operators"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[item.channel]"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trunk/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-link"></i>\n                                     <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-link font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRUNKS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="trunks.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TRUNK\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/trunks/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTrunks([\'name\', \'host\', \'context\', \'description\'])" csv-header="[\'Name\', \'Host\', \'Context\', \'Description\']" field-separator=";" filename="trunks.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTrunks" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.trunksByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="trunkByPage in trunksByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="trunkByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(trunk, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="host">{{ \'APPLICATION_HOST\' | translate }}</th>\n                                                            <th st-sort="context">{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                              <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="trunk in displayedTrunks" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="trunks.checked" checklist-value="trunk.id"></td>\n                                                               <td>{{trunk.name}}</td>\n                <td>{{trunk.host}}</td>\n                                                              <td>{{trunk.context}}</td>\n                                          <td>{{trunk.description}}</td>\n                                        <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/trunks/view/{{trunk.id}}/settings">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(trunk.name,trunk.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTrunks.length">\n                                                            <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_TRUNKS_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="host" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_HOST\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="context" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CONTEXT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.trunksByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trunk/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrunk()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-link"></i>\n                                     <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                                   <i data-ng-show="trunk" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="trunk">\n                                     <a href="#">{{trunk.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/trunk.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{trunk.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.trunks.view.settings\')}">\n                                                       <a data-ng-href="/trunks/view/{{trunk.id}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trunk/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_TRUNK\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();">\n                              <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTrunk()" novalidate>\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="trunk.name" required/>\n                                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n\n                                                      <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.host.$touched || forms.general.$submitted) && forms.general.host.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="trunk.host" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_HOST\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.general.host.$touched || forms.general.$submitted) && forms.general.host.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START SECRET -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.secret.$touched || forms.general.$submitted) && forms.general.secret.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_SECRET\' | translate}}</label>\n                                                               <input type="password" name="secret" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="trunk.secret">\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_SECRET\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.secret.$touched || forms.general.$submitted) && forms.general.secret.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SECRET -->\n\n                                                 <!-- START CONFIRM SECRET -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rsecret.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_CONFIRM_SECRET\' | translate}}</label>\n                                                           <input type="password" name="rsecret" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="trunk.rsecret" nx-equal="trunk.secret"/>\n                                                             <span data-ng-show="forms.general.$submitted && (forms.general.rsecret.$invalid || forms.general.rsecret.$invalid)" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONFIRM SECRET -->\n\n                                                 <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="trunk.context" name="context" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_VOICE_CONTEXT\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <!-- START CALLERID -->\n                                                       <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.callerid.$touched || forms.general.$submitted) && forms.general.callerid.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_CALLERID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="callerid" placeholder="{{\'APPLICATION_CALLERID\' | translate}}" class="form-control" data-ng-model="trunk.callerid" required/>\n                                                              <span data-ng-show="(forms.general.callerid.$touched || forms.general.$submitted) && forms.general.callerid.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div> -->\n                                                    <!-- END CALLERID -->\n\n                                                       <!-- START TYPE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.type.$touched || forms.general.$submitted) && forms.general.type.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="trunk.type" name="type" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'user\',\'peer\',\'friend\'] | filter: $select.search">\n                                                                          <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TYPE\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.general.type.$touched || forms.general.$submitted) && forms.general.type.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TYPE -->\n\n                                                   <!-- START DTMFMODE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.dtmfmode.$touched || forms.general.$submitted) && forms.general.dtmfmode.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_DTMFMODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="trunk.dtmfmode" name="dtmfmode" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="item in [\'rfc2833\', \'info\', \'shortinfo\', \'inband\',\'auto\'] | filter: $select.search">\n                                                                             <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DTMFMODE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.dtmfmode.$touched || forms.general.$submitted) && forms.general.dtmfmode.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DTMFMODE -->\n\n                                               </div>\n                                                <div class="col-md-6">\n\n                                                      <!-- START DEFAULT USER -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.defaultuser.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_DEFAULT_USER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="defaultuser" placeholder="{{\'APPLICATION_DEFAULT_USER\' | translate}}" class="form-control" data-ng-model="trunk.defaultuser" required/>\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DEFAULT_USER\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="forms.general.$submitted && (forms.general.defaultuser.$invalid)" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DEFAULT USER -->\n\n                                                   <!-- START NAT -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.general.nat.$touched || forms.general.$submitted) && forms.general.nat.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_NAT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select multiple data-ng-model="trunk.nat" name="nat" theme="bootstrap" required>\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_NAT\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.general.nat.$touched || forms.general.$submitted) && forms.general.nat.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAT -->\n\n                                                    <!-- START QUALIFY -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.qualify.$touched || forms.general.$submitted) && forms.general.qualify.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_QUALIFY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="trunk.qualify" name="qualify" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_QUALIFY\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.qualify.$touched || forms.general.$submitted) && forms.general.qualify.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUALIFY -->\n\n                                                        <!-- START ALLOW -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.allow.$touched || forms.general.$submitted) && forms.general.allow.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_ALLOW_CODEC\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select multiple data-ng-model="trunk.allow" name="allow" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'g723\',\'gsm\',\'ulaw\',\'alaw\',\'g726\',\'g722\',\'g729\',\'ilbc\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_ALLOW_CODEC\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.general.allow.$touched || forms.general.$submitted) && forms.general.allow.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ALLOW -->\n\n                                                  <!-- START INSECURE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.insecure.$touched || forms.general.$submitted) && forms.general.insecure.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_INSECURE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select multiple data-ng-model="trunk.insecure" name="insecure" theme="bootstrap" required>\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'port\',\'invite\',\'very\'] | filter: $select.search">\n                                                                          <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_INSECURE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.insecure.$touched || forms.general.$submitted) && forms.general.insecure.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INSECURE -->\n\n                                                       <!-- START CALLLIMIT -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.general.call-limit.$touched || forms.general.$submitted) && forms.general.call-limit.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_CALLLIMIT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <input type="number" min="0" name="call-limit" placeholder="{{\'APPLICATION_CALLLIMIT\' | translate}}" class="form-control" data-ng-model="trunk[\'call-limit\']"/>\n                                                           <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_CALLLIMIT\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.call-limit.$touched || forms.general.$submitted) && forms.general.call-limit.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CALLLIMIT -->\n\n                                              </div>\n                                        </div>\n\n                                                      <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="trunk.description"></textarea>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.advanced" data-ng-submit="forms.advanced.$valid && updateTrunk()" novalidate>\n                                                       <div class="row">\n                                                             <div class="col-md-6">\n                                                        <!-- START LIMITONPEERS -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.limitonpeers.$touched || forms.advanced.$submitted) && forms.advanced.limitonpeers.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_LIMITONPEERS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="trunk.limitonpeers" name="limitonpeers" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_LIMITONPEERS\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.limitonpeers.$touched || forms.advanced.$submitted) && forms.advanced.limitonpeers.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LIMITONPEERS -->\n\n                                                   <!-- START REGISTRY -->\n                                                       <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_REGISTRY\' | translate}}</label>\n                                                         <input type="text" name="registry" placeholder="{{\'APPLICATION_REGISTRY\' | translate}}" class="form-control" data-ng-model="trunk.registry"/>\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_REGISTRY\' | translate }}\n                                                              </span>\n                                                       </div>\n                                                        <!-- END REGISTRY -->\n\n                                                       <!-- START DIRECTMEDIA -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.directmedia.$touched || forms.advanced.$submitted) && forms.advanced.directmedia.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_DIRECTMEDIA\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.directmedia" name="directmedia" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\', \'no\', \'nonat\', \'update\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DIRECTMEDIA\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.directmedia.$touched || forms.advanced.$submitted) && forms.advanced.directmedia.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DIRECTMEDIA -->\n\n                                                    <!-- START CALLCOUNTER -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.callcounter.$touched || forms.advanced.$submitted) && forms.advanced.callcounter.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CALLCOUNTER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.callcounter" name="callcounter" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_CALLCOUNTER\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.callcounter.$touched || forms.advanced.$submitted) && forms.advanced.callcounter.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CALLCOUNTER -->\n\n                                                    <!-- START FROMDOMAIN -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.fromdomain.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_FROMDOMAIN\' | translate}}</label>\n                                                               <input type="text" name="fromdomain" placeholder="{{\'APPLICATION_FROMDOMAIN\' | translate}}" class="form-control" data-ng-model="trunk.fromdomain" />\n                                                                <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_FROMDOMAIN\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.fromdomain.$invalid)" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FROMDOMAIN -->\n\n                                                     <!-- START FROMUSER -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.fromuser.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_FROMUSER\' | translate}}</label>\n                                                         <input type="text" name="fromuser" placeholder="{{\'APPLICATION_FROMUSER\' | translate}}" class="form-control" data-ng-model="trunk.fromuser" />\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_FROMUSER\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.fromuser.$invalid)" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FROMUSER -->\n\n                                               </div>\n                                                <div class="col-md-6">\n\n                                                      <!-- START OUTBOUNDPROXY -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.outboundproxy.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_OUTBOUNDPROXY\' | translate}}</label>\n                                                            <input type="text" name="outboundproxy" placeholder="{{\'APPLICATION_OUTBOUNDPROXY\' | translate}}" class="form-control" data-ng-model="trunk.outboundproxy" />\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_OUTBOUNDPROXY\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.outboundproxy.$invalid)" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END OUTBOUNDPROXY -->\n\n                                                  <!-- START USEREQPHONE -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.usereqphone.$touched || forms.advanced.$submitted) && forms.advanced.usereqphone.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_USEREQPHONE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.usereqphone" name="usereqphone" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_USEREQPHONE\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.usereqphone.$touched || forms.advanced.$submitted) && forms.advanced.usereqphone.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USEREQPHONE -->\n\n                                                    <!-- START TRUSTRPID -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.trustrpid.$touched || forms.advanced.$submitted) && forms.advanced.trustrpid.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_TRUSTRPID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select data-ng-model="trunk.trustrpid" name="trustrpid" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TRUSTRPID\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.trustrpid.$touched || forms.advanced.$submitted) && forms.advanced.trustrpid.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TRUSTRPID -->\n\n                                                      <!-- START SENDRPID -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.sendrpid.$touched || forms.advanced.$submitted) && forms.advanced.sendrpid.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_SENDRPID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="trunk.sendrpid" name="sendrpid" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_SENDRPID\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.advanced.sendrpid.$touched || forms.advanced.$submitted) && forms.advanced.sendrpid.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SENDRPID -->\n\n                                                       <!-- START ENCRYPTION -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.encryption.$touched || forms.advanced.$submitted) && forms.advanced.encryption.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_ENCRYPTION\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                           <ui-select data-ng-model="trunk.encryption" name="encryption" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_ENCRYPTION\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.advanced.encryption.$touched || forms.advanced.$submitted) && forms.advanced.encryption.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ENCRYPTION -->\n\n                                                     <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.port.$touched || forms.advanced.$submitted) && forms.advanced.port.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PORT\' | translate}}</label>\n                                                             <input type="number" min="0" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="trunk.port"/>\n                                                         <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_PORT\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.port.$touched || forms.advanced.$submitted) && forms.advanced.port.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START TRANSPORT -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.transport.$touched || forms.advanced.$submitted) && forms.advanced.transport.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_TRANSPORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select multiple data-ng-model="trunk.transport" name="transport" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'udp\',\'wss\',\'ws\',\'tcp\',\'tls\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TRANSPORT\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.transport.$touched || forms.advanced.$submitted) && forms.advanced.transport.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TRANSPORT -->\n\n                                              </div>\n                                        </div>\n                                        <!-- START OTHER FIELDS-->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_OTHER_FIELDS\' | translate}}</label>\n                                             <textarea type="text" name="otherFields" placeholder="{{\'APPLICATION_OTHER_FIELDS\' | translate}}" class="form-control" data-ng-model="trunk.otherFields"></textarea>\n                                                <span class="help-block">\n                                                     {{ \'DESCRIPTION_TRUNK_OTHER_FIELDS\' | translate }}\n                                          </span>\n                                       </div>\n                                        <!-- END OTHER FIELDS -->\n\n                                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/trunk/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-link"></i>\n                             <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-link font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_TRUNK\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.name.$invalid" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START ROLE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.role.$touched || forms.general.$submitted) && forms.general.role.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_USAGE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="item.role" name="role" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.value}}</ui-select-match>\n                                                             <ui-select-choices repeat="type.key as type in types | filter: $select.search">\n                                                                       <div ng-bind-html="type.value | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_ROLE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.general.role.$touched || forms.general.$submitted) && forms.general.role.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ROLE -->\n\n                                           <!-- START HOST -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END HOST -->\n\n                                           <!-- START PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                 <label class="control-label">{{\'APPLICATION_SECRET\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                       <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.secret" required/>\n                                                     <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_SECRET\' | translate }}\n                                                        </span>\n                                                       <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END PASSWORD -->\n\n                                               <!-- START CONFIRM PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_CONFIRM_SECRET\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                       <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.secret" required/>\n                                                  <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CONFIRM PASSWORD -->\n\n                                               <!-- START DEFAULT USER -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.defaultuser.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_DEFAULT_USER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="defaultuser" placeholder="{{\'APPLICATION_DEFAULT\' | translate}} {{\'APPLICATION_USER\' | translate}}" class="form-control" data-ng-model="item.defaultuser" required/>\n                                                     <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_DEFAULT_USER\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="forms.general.$submitted && (forms.general.defaultuser.$invalid)" class="help-block help-block-error">\n                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END DEFAULT USER -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <button class="btn green-haze" type="submit" ng-click="next(true)">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_ADVANCED\' | translate}}" canexit="exitValidation(forms.advanced.$valid)">\n                                    <form name="forms.advanced" novalidate>\n\n                                             <!-- START REGISTRY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_REGISTRY\' | translate}}</label>\n                                                 <input type="text" name="registry" placeholder="{{\'APPLICATION_REGISTRY\' | translate}}" class="form-control" data-ng-model="item.registry"/>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_REGISTRY\' | translate }}\n                                                      </span>\n                                               </div>\n                                                <!-- END REGISTRY -->\n                                         <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/update/list/checkout/checkout.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text"></p>\n  <div ng-if="modal.html" ng-bind-html="modal.html"></div>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button>\n</div>\n'),a.put("app/update/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-cloud-download"></i>\n                                   <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-cloud-download font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_UPDATES\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <a class="btn btn-default" href="#" data-ng-click="pull()">\n                                           <i class="icon-cloud-download"></i> {{ \'APPLICATION_UPDATE\' | translate }}\n                                  </a>\n                          </div>\n                        </div>\n                        <div class="portlet-body" data-ng-init="initList()">\n                          <!-- BEGIN TABLE -->\n                                  <table st-table="displayedUpdates" st-safe-src="updates" class="table table-striped table-bordered table-hover">\n                                              <div class="table-responsive">\n                                                  <thead>\n                                                             <tr>\n                                                                  <th colspan="3">\n                                                                              <div class="row">\n                                                                                     <div class="col-md-12">\n                                                                                               <ui-select class="input-xsmall" ng-model="conf.updatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                                     <ui-select-choices repeat="updateByPage in updatesByPage | filter: $select.search">\n                                                                                                           <div ng-bind-html="updateByPage.name | highlight: $select.search"></div>\n                                                                                                      </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                  </div>\n                                                                                </div>\n                                                                        </th>\n                                                         </tr>\n                                                         <tr>\n                                                                  <th st-sort="message">{{ \'APPLICATION_MESSAGE\' | translate }}</th>\n                                                                  <th>{{ \'APPLICATION_DATE\' | translate }}</th>\n                                                                       <!-- <th class="small-cells"></th> -->\n                                                          </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="update in displayedUpdates">\n                                                                  <td>\n                                                                          {{update.message | truncate: 30 : \'...\': true}}\n                                                                     </td>\n                                                                 <td>\n                                                                          <time is="relative-time" datetime="{{update.date}}">\n                                                                                  April 1, 2014\n                                                                         </time>\n                                                                       </td>\n                                                                 <!-- <td>\n                                                     <a class="btn default btn-xs green-stripe" href="#" data-ng-click="checkout(update.hash)">\n                                                                                    <i class="icon-cloud-download"></i> {{ \'APPLICATION_CHECKOUT\' | translate }}\n                                                        </a>\n                                                </td> -->\n                                                   </tr>\n                                                             <tr data-ng-hide="displayedUpdates.length">\n                                                                   <td colspan="9" style="text-align:center;">\n                                                                           <i>{{\'MESSAGE_NO_AVAILABLE_UPDATES\' | translate}}</i>\n                                                                       </td>\n                                                         </tr>\n                                           </tbody>\n                                              <tfoot>\n                                                             <tr>\n                                                                  <td colspan="1">\n                                                                              <div class="input-icon right">\n                                                                                        <i class="fa fa-search"></i>\n                                                                                  <input st-search="message" placeholder="{{ \'APPLICATION_MESSAGE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                            </div>\n                                                                        <td colspan="9"></td>\n                                                   </tr>\n                                                   <tr>\n                                                    <td colspan="10" class="text-center">\n                                                                           <div class="pagination" st-pagination st-items-by-page="conf.updatesByPage.value" st-displayed-pages="7"></div>\n                                                     </td>\n                                               </tr>\n                                               </tfoot>\n                                            </div>\n                                        </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/update/view/view.account.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || update.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && update.id === Auth.getCurrentUser().id}">\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="update.fullname" required/>\n                                                         <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="update.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="update.email" required/>\n                                                             <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="update.internal" required disabled/>\n                                                             <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || update.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && update.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                           <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.currentPwd" required/>\n                                                            <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.newPwd" required/>\n                                                                <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.reNewPwd" nx-equal="update.newPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/update/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{update.fullname}}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{update.userpic ? update.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                               </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{update.fullname}}\n                                   </div>\n                                        <div class="profile-usertitle-job">\n                                           {{update.role}}\n                                       </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.updates.view.account\')}">\n                                                       <a data-ng-href="/updates/view/{{update.id}}/account">\n                                                        <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/update/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/updates/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_UPDATE\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/updates/validate/name"/>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/updates/validate/email"/>\n                              <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/updates/validate/internal"/>\n                                                  <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
-a.put("app/user/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-eye font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_USERS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="users.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_USER\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/users/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getUsers([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="users.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table id="table" st-table="displayedUsers" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.usersByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="userByPage in usersByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="userByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(user, checked)" checklist-model checklist-value="id"></th>\n                                             <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th st-sort="role">{{ \'APPLICATION_ROLE\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="user in displayedUsers" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="users.checked" checklist-value="user.id"></td>\n                                                         <td>{{user.fullname}}</td>\n                                          <td>{{user.name}}</td>\n                                        <td><a ng-href="mailto:{{user.email}}">{{user.email}}</a></td>\n                                                          <td>{{user.role}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/users/view/{{user.id}}/account">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(user.fullname, user.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedUsers.length">\n                                                             <td colspan="6" style="text-align:center;">\n                                                                   <i>No users available</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="role" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_ROLE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                                </td>\n                                             <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.usersByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/user/view/view.account.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-ng-show="Auth.isAdmin() || user.id === getCurrentUser().id" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="user.fullname" required/>\n                                                           <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="user.name" required/>\n                                                               <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="user.email" required/>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" id="tab_1_2">\n                                           <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    <span> {{ \'APPLICATION_REMOVE\' | translate }} </span>\n                                                                               </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     <span> {{ \'APPLICATION_CONFIRM\' | translate }} </span>\n                                                                              </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" id="tab_1_3" data-ng-show="Auth.isAdmin() || user.id === getCurrentUser().id">\n                                          <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.currentPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.newPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.reNewPwd" nx-equal="user.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                               <!-- <form action="#">\n                                                        <div class="form-group">\n                                                              <label class="control-label">Current Password</label>\n                                                         <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="form-group">\n                                                              <label class="control-label">New Password</label>\n                                                             <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="form-group">\n                                                              <label class="control-label">Re-type New Password</label>\n                                                             <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="margin-top-10">\n                                                           <a href="#" class="btn green-haze">Change Password </a>\n                                                               <a href="#" class="btn default">Cancel </a>\n                                                   </div>\n                                                </form> -->\n                                   </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/user/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{user.fullname}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{user.fullname}}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{user.role}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.users.view.account\')}">\n                                                 <a data-ng-href="/users/view/{{user.id}}/account">\n                                                    <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/user/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n        <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-eye"></i>\n                              <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/users/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                  </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_USER\' | translate }} WIZARD</a> </span>\n               </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/users/validate/name"/>\n                                                 <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/users/validate/email"/>\n                                <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/variable/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_VARIABLE\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.variable" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.variable.name.$touched || forms.variable.$submitted) && forms.variable.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.variable.name.$touched || forms.variable.$submitted) && forms.variable.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.variable.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/variable/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/variables/list">{{ \'APPLICATION_VARIABLES\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VARIABLES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Variables.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_VARIABLE\' | translate }}\n                                              </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getVariables([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="variables.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedVariables" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.variablesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="variableByPage in variablesByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="variableByPage.name | highlight: $select.search"></div>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(variable, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="variable in displayedVariables" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="variable.defaultEntry" type="checkbox" checklist-model="Variables.checked" checklist-value="variable.id"></td>\n                                                            <td>{{variable.name}}</td>\n                                          <td>{{variable.description}}</td>\n                                             <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/variables/view/{{variable.id}}/settings" data-ng-class="{\'disabled\': variable.defaultEntry}">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(variable.name,variable.id)" data-ng-class="{\'disabled\': variable.defaultEntry}">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedVariables.length">\n                                                         <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_VARIABLES_AVAILABLE\' | translate }}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.variablesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("app/variable/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getVariable()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/variables/list">{{ \'APPLICATION_VARIABLES\' | translate }}</a>\n                                     <i data-ng-show="variable" class="fa fa-angle-right"></i>\n                             </li>\n                         <li data-ng-show="variable">\n                                  <a href="#">{{variable.name}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/variable.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{variable.name}}\n                                     </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.variables.view.settings\')}">\n                                                    <a data-ng-href="/variables/view/{{variable.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/variable/view/view.settings.html",'<div class="row">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_VARIABLE\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVariable()" novalidate>\n\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="variable.name" required/>\n                                                               <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="variable.description"></textarea>\n                                                      </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/context/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_CONTEXTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="voiceContexts.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONTEXT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/contexts/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getVoiceContexts([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="voice_contexts.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedContexts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.contextsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="contextByPage in contextsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="contextByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(context, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="context in displayedVoiceContexts" class="animate-repeat">\n                                                            <td style="text-align: center; vertical-align: middle"><input data-ng-hide="context.defaultEntry" type="checkbox" checklist-model="voiceContexts.checked" checklist-value="context.id"></td>\n                                                          <td>{{context.name}}</td>\n                                           <td>{{context.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/contexts/view/{{context.id}}/settings" data-ng-class="{\'disabled\': context.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(context.name,context.id)" data-ng-class="{\'disabled\': context.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedVoiceContexts.length">\n                                                             <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CONTEXTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.contextsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/context/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getContext()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                                 <i data-ng-show="context" class="fa fa-angle-right"></i>\n                              </li>\n                         <li data-ng-show="context">\n                                   <a href="#">{{context.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/context.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{context.name}}\n                                      </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.contexts.view.settings\')}">\n                                                       <a data-ng-href="/voice/contexts/view/{{context.id}}/settings">\n                                                       <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/context/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONTEXT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                             </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceContext()" novalidate>\n\n                                                        <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="context.description"></textarea>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/context/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/voice/contexts/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                 </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_CONTEXT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.context.$valid)">\n                         <form name="forms.context" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.context.name.$touched || forms.context.$submitted) && forms.context.name.$invalid}">\n                              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.context.name.$touched || forms.context.$submitted) && forms.context.name.$error.required" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/moh/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-music-tone"></i>\n                                       <a href="/voice/mohs/list">{{ \'APPLICATION_MOHS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-music-tone font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_MOHS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mohs.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_MOH_CLASS\' | translate }} <i class="fa fa-angle-down"></i>\n                                            </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/mohs/wizard">\n                                                         <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMohs([\'name\', \'directory\', \'sort\', \'description\'])" csv-header="[\'Name\', \'Directory\', \'Sort\', \'Description\']" field-separator=";" filename="musiconholds_classes.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMohs" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.mohsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="mohByPage in mohsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="mohByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(moh, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                <th st-sort="directory">{{ \'APPLICATION_PATH\' | translate }}</th>\n                <th st-sort="sort">{{ \'APPLICATION_SORT\' | translate }}</th>\n                                                   <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="moh in displayedMohs" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mohs.checked" checklist-value="moh.id" data-ng-hide="moh.defaultEntry"></td>\n                                                           <td>{{moh.name}}</td>\n                <td>{{moh.directory}}</td>\n                                                             <td>{{moh.sort | capitalize}}</td>\n                                          <td>{{moh.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-class="{\'disabled\': moh.defaultEntry}" data-ng-href="/voice/mohs/view/{{moh.id}}/settings">\n                                                                               {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-class="{\'disabled\': moh.defaultEntry}" data-ng-click="deleteItem(moh.name,moh.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMohs.length">\n                                                              <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_MOHS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="directory" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_PATH\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                   </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="sort" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SORT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.mohsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.addFiles.html",'\n<div class="row" data-ng-init="getSounds()">\n    <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_MOH\' | translate }} {{ \'APPLICATION_ADD_FILES\' | translate }}</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="soundList.length">\n                                       <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_SOUNDS_AVAILABLE\' | translate }}\n                                    </p>\n                          </div>\n            <form name="forms.general" data-ng-submit="(item.sounds.length > 0) && addMohs()" data-ng-show="soundList.length" novalidate>\n\n              <!-- START SOUNDS -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sounds.$touched || forms.general.$submitted) && item.sounds.length == 0}">\n                <label class="control-label">{{\'APPLICATION_SOUNDS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <ui-select multiple data-ng-model="item.sounds" theme="bootstrap" name="sounds" required>\n                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item.display_name}}</ui-select-match>\n                  <ui-select-choices repeat="sound.id as sound in soundList | filter: $select.search">\n                    {{sound.display_name}}\n                  </ui-select-choices>\n                </ui-select>\n                <span data-ng-show="(forms.general.sounds.$touched || forms.general.$submitted) && item.sounds.length == 0" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END OPTIONS -->\n\n                                                       <input type="submit" class="btn green-haze" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.audios.html",'<div ui-view class="profile-content">\n<div class="row" data-ng-init="getAudioFiles()">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AUDIOS\' | translate}}</span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="audioFiles">\n                                             <a class="btn green-jungle " href="/voice/mohs/view/{{moh.id}}/add" data-toggle="dropdown">\n                                                   <i class="icon-plus"></i> {{ \'APPLICATION_ADD_FILES\' | translate }}\n                                         </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="audioFiles">\n                                     <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_FOLDER_DOES_NOT_EXIST\' | translate }}\n                                  </p>\n                          </div>\n                                <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover" data-ng-show="audioFiles">\n                                        <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                           <th width="30%">{{ \'APPLICATION_PREVIEW\' | translate }}</th>\n                                                                <th width="10%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="audioFiles">\n                                      <tr data-ng-repeat="audiofile in audioFiles">\n                                                             <td>{{audiofile}}</td>\n                                                                <td>\n                                                                  <audio controls ng-src="{{getSecureSrc(audioSources[audiofile])}}" preload="none">\n                                        Your browser does not support the audio tag.\n                                        </audio></td>\n                                             <td>\n                                            <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(audiofile,audiofile)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="audioFiles.length">\n                                                         <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_AUDIOFILES_AVAILABLE\' | translate }}</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),a.put("app/voice/moh/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMoh()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-music-tone"></i>\n                                       <a href="/voice/mohs/list">{{ \'APPLICATION_MOH_CLASS\' | translate }}</a>\n                                    <i data-ng-show="moh" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="moh">\n                                       <a href="#">{{moh.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/moh.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{moh.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.mohs.view.settings\')}">\n                                                   <a data-ng-href="/voice/mohs/view/{{moh.id}}/settings">\n                                                       <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.voice.mohs.view.audios\') || $state.is(\'main.voice.mohs.view.add\')}">\n                                                  <a data-ng-href="/voice/mohs/view/{{moh.id}}/audios">\n                                                 <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_AUDIOS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_MOH_CLASS\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                           </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();">\n                              <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceMoh()" novalidate>\n\n                <!-- START PATH -->\n                   <div class="form-group" >\n               <label class="control-label">{{\'APPLICATION_PATH\' | translate}}</label>\n                     <input type="text" name="path" class="form-control" data-ng-model="moh.directory" disabled/>\n                </div>\n                <!-- END PATH -->\n\n                   <!-- START SORT -->\n                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$invalid}">\n                      <label class="control-label">{{\'APPLICATION_SORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                 <ui-select data-ng-model="moh.sort" theme="bootstrap" name="sort" required>\n                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                  <ui-select-choices repeat="sort.value as sort in sortOptions | filter: $select.search">\n                         {{$translate.instant(sort.name)}}\n                   </ui-select-choices>\n                </ui-select>\n                  <span data-ng-show="(forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$error.required" class="help-block help-block-error">\n                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n               </span>\n             </div>\n                <!-- END SORT -->\n\n                   <!-- START DESCRIPTION -->\n                                      <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.description.$invalid}">\n                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                      <textarea type="text" name="description" class="form-control" data-ng-model="moh.description"/></textarea>\n                                                            <span data-ng-show="forms.general.$submitted && forms.general.description.$invalid" class="help-block help-block-error">\n                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                       </span>\n                                     </div>\n                                <!-- END DESCRIPTION -->\n\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
-a.put("app/voice/moh/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard();getContexts();">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-music-tone"></i>\n                               <a href="/voice/mohs/list">{{ \'APPLICATION_MOHS\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-music-tone font-green-sharp"></i>\n                      <span class="caption-subject">{{ \'APPLICATION_MOH_CLASS\' | translate }} WIZARD</a> </span>\n                  </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.name.$invalid" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n            <!-- START SORT -->\n            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$invalid}">\n              <label class="control-label">{{\'APPLICATION_SORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <ui-select data-ng-model="item.sort" theme="bootstrap" name="sort" required>\n                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                <ui-select-choices repeat="sort.value as sort in sortOptions | filter: $select.search">\n                  {{$translate.instant(sort.name)}}\n                </ui-select-choices>\n              </ui-select>\n              <span data-ng-show="(forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div> -->\n            <!-- END SORT -->\n\n            <!-- START DESCRIPTION -->\n                              <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.description.$invalid}">\n                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                              <textarea type="text" name="description" class="form-control" data-ng-model="item.description"/></textarea>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.description.$invalid" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END DESCRIPTION -->\n\n\n                                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/queue/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/voice/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="queues.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/queues/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getQueues([\'name\', \'description\', \'strategy\', \'context\'])" csv-header="[\'Name\', \'Description\', \'Strategy\', \'Context\']" field-separator=";" filename="queues.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.voiceQueuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="voiceQueueByPage in voiceQueuesByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="voiceQueueByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="name"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                  <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                            <th st-sort="context">{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedQueues" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="queues.checked" checklist-value="queue.name"></td>\n                                                             <td>{{queue.name}}</td>\n                                             <td>{{queue.description}}</td>\n                                        <td>{{queue.strategy}}</td>\n                                                             <td>{{queue.context}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/queues/view/{{queue.name}}/settings">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name,queue.name)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedQueues.length">\n                                                            <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="context" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CONTEXT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div class="pagination" st-pagination st-items-by-page="conf.voiceQueuesByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="note note-warning" data-ng-hide="teams.length">\n                           <h4 class="block">Warning!</h4>\n                               <p>\n                                    {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                             </p>\n                  </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/voice/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                     <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.queues.view.settings\')}">\n                                                 <a data-ng-href="/voice/queues/view/{{queue.name}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.voice.queues.view.agents\')}">\n                                                   <a data-ng-href="/voice/queues/view/{{queue.name}}/agents">\n                                                   <i class="icon-people"></i>\n                                                   {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/queue/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_QUEUE_SETTINGS\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_PERIODIC_ANNOUNCE\' | translate}}</a>\n                                   </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();getMohs();getSounds();">\n                                <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceQueue()" novalidate>\n                                                    <div class="row">\n                                                             <div class="col-md-6">\n                                                        <!-- START STRATEGY -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                                     <ui-select-choices repeat="strategy in [\'ringall\', \'leastrecent\', \'fewestcalls\', \'random\', \'rrmemory\', \'linear\', \'wrandom\', \'rrordered\'] | filter: $select.search">\n                                                                           <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_STRATEGY\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                      <!-- END STRATEGY -->\n\n                                                 <!-- START MOH -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.general.musiconhold.$touched || forms.general.$submitted) && forms.general.musiconhold.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_MOH\' | translate}}</label>\n                                                              <ui-select data-ng-model="queue.musiconhold" name="musiconhold" theme="bootstrap">\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="musiconhold.name as musiconhold in voiceMohs | filter: $select.search">\n                                                                            <div ng-bind-html="musiconhold.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_VOICE_MOH\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.musiconhold.$touched || forms.general.$submitted) && forms.general.musiconhold.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MOH -->\n\n                                                    <!-- START TIMEOUT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="number" min="0" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="queue.timeout" required/>\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_TIMEOUT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TIMEOUT -->\n\n                                                        <!-- START MAXLEN -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.maxlen.$touched || forms.general.$submitted) && forms.general.maxlen.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_MAXLEN\' | translate}}</label>\n                                                           <input type="number" min="0" name="maxlen" placeholder="{{\'APPLICATION_MAXLEN\' | translate}}" class="form-control" data-ng-model="queue.maxlen" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MAXLEN\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.maxlen.$touched || forms.general.$submitted) && forms.general.maxlen.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAXLEN -->\n\n                                                 <!-- START RETRY -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.retry.$touched || forms.general.$submitted) && forms.general.retry.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RETRY\' | translate}}</label>\n                                                            <input type="number" min="0" name="retry" placeholder="{{\'APPLICATION_RETRY\' | translate}}" class="form-control" data-ng-model="queue.retry" required/>\n                                                             <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RETRY\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.general.retry.$touched || forms.general.$submitted) && forms.general.retry.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RETRY -->\n\n                                          </div>\n                                                <div class="col-md-6">\n                                                        <!-- START WRAPUPTIME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.general.wrapuptime.$touched || forms.general.$submitted) && forms.general.wrapuptime.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_WRAPUPTIME\' | translate}}</label>\n                                                               <input type="number" min="0" name="wrapuptime" placeholder="{{\'APPLICATION_WRAPUPTIME\' | translate}}" class="form-control" data-ng-model="queue.wrapuptime" required/>\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_WRAPUPTIME\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.general.wrapuptime.$touched || forms.general.$submitted) && forms.general.wrapuptime.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END WRAPUPTIME -->\n\n                                                     <!-- START WEIGHT -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.weight.$touched || forms.general.$submitted) && forms.general.weight.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_WEIGHT\' | translate}}</label>\n                                                           <input type="number" min="0" name="weight" placeholder="{{\'APPLICATION_WEIGHT\' | translate}}" class="form-control" data-ng-model="queue.weight" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_WEIGHT\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.weight.$touched || forms.general.$submitted) && forms.general.weight.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END WEIGHT -->\n\n                                                 <!-- START JOINEMPTY -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.general.joinempty.$touched || forms.general.$submitted) && forms.general.joinempty.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_JOINEMPTY\' | translate}}</label>\n                                                                <ui-select multiple data-ng-model="queue.joinempty" name="joinempty" theme="bootstrap">\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'strict\',\'loose\',\'paused\',\'penalty\',\'inuse\',\'ringing\',\'unavailable\',\'invalid\',\'unknown\',\'wrapup\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_JOINEMPTY\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.joinempty.$touched || forms.general.$submitted) && forms.general.joinempty.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END JOINEMPTY -->\n\n                                                      <!-- START LEAVEWHENEMPTY -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.leavewhenempty.$touched || forms.general.$submitted) && forms.general.leavewhenempty.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_LEAVEWHENEMPTY\' | translate}}</label>\n                                                           <ui-select multiple data-ng-model="queue.leavewhenempty" name="leavewhenempty" theme="bootstrap">\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'strict\',\'loose\',\'paused\',\'penalty\',\'inuse\',\'ringing\',\'unavailable\',\'invalid\',\'unknown\',\'wrapup\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_LEAVEWHENEMPTY\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.leavewhenempty.$touched || forms.general.$submitted) && forms.general.leavewhenempty.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LEAVEWHENEMPTY -->\n\n                                                 <!-- START ANNOUNCE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.announce.$touched || forms.general.$submitted) && forms.general.announce.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_ANNOUNCE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="queue.announce" name="announce" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in sounds | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.announce.$touched || forms.general.$submitted) && forms.general.announce.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE -->\n                                         </div>\n                                        </div>\n                                        <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"></textarea>\n                                 </div>\n                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n\n                                      <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.announce" data-ng-submit="forms.announce.$valid && updateVoiceQueue()" novalidate>\n                                                  <div class="row">\n                                                             <div class="col-md-12">\n                                                       <!-- START PERIODIC_ANNOUNCE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.periodic_announce.$touched || forms.announce.$submitted) && forms.announce.periodic_announce.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PERIODIC_ANNOUNCE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select multiple data-ng-model="queue.periodic_announce" name="periodic_announce" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item.display_name}}</ui-select-match>\n                                                                 <ui-select-choices repeat="returnAnnouncePath(announce) as announce in periodicAnnounces | filter: $select.search">\n                                                                           <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_PERIODIC_ANNOUNCE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.periodic_announce.$touched || forms.announce.$submitted) && forms.announce.periodic_announce.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PERIODIC_ANNOUNCE -->\n                                                </div>\n                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-6">\n                                                        <p><h3>{{\'APPLICATION_SETTINGS\' | translate}}</h3></p>\n                                                      <!-- START ANNOUNCE_FREQUENCY -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_frequency.$touched || forms.announce.$submitted) && forms.announce.announce_frequency.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                               <input type="number" min="0" name="announce_frequency" placeholder="{{\'APPLICATION_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.announce_frequency" required/>\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_FREQUENCY\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.announce.announce_frequency.$touched || forms.announce.$submitted) && forms.announce.announce_frequency.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_FREQUENCY -->\n\n                                                     <!-- START MIN_ANNOUNCE_FREQUENCY -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.min_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.min_announce_frequency.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_MIN_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                           <input type="number" min="0" name="min_announce_frequency" placeholder="{{\'APPLICATION_MIN_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.min_announce_frequency" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MIN_ANNOUNCE_FREQUENCY\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.min_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.min_announce_frequency.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MIN_ANNOUNCE_FREQUENCY -->\n\n                                                 <!-- START PERIODIC_ANNOUNCE_FREQUENCY -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.periodic_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.periodic_announce_frequency.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_PERIODIC_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                              <input type="number" min="0" name="periodic_announce_frequency" placeholder="{{\'APPLICATION_PERIODIC_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.periodic_announce_frequency"/>\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_PERIODIC_ANNOUNCE_FREQUENCY\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.announce.periodic_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.periodic_announce_frequency.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PERIODIC_ANNOUNCE_FREQUENCY -->\n\n                                                    <!-- START RANDOM_PERIODIC_ANNOUNCE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.random_periodic_announce.$touched || forms.announce.$submitted) && forms.announce.random_periodic_announce.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_RANDOM_PERIODIC_ANNOUNCE\' | translate}}</label>\n                                                         <ui-select data-ng-model="queue.random_periodic_announce" name="random_periodic_announce" theme="bootstrap">\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RANDOM_PERIODIC_ANNOUNCE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.random_periodic_announce.$touched || forms.announce.$submitted) && forms.announce.random_periodic_announce.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RANDOM_PERIODIC_ANNOUNCE -->\n\n                                                       <!-- START ANNOUNCE_HOLDTIME -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_holdtime.$touched || forms.announce.$submitted) && forms.announce.announce_holdtime.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_ANNOUNCE_HOLDTIME\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.announce_holdtime" name="announce_holdtime" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'once\'] | filter: $select.search">\n                                                                               <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                                  </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_HOLDTIME\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.announce_holdtime.$touched || forms.announce.$submitted) && forms.announce.announce_holdtime.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_HOLDTIME -->\n\n                                                      <!-- START ANNOUNCE_POSITION -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_position.$touched || forms.announce.$submitted) && forms.announce.announce_position.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_ANNOUNCE_POSITION\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.announce_position" name="announce_position" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'limit\',\'more\'] | filter: $select.search">\n                                                                             <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_POSITION\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.announce_position.$touched || forms.announce.$submitted) && forms.announce.announce_position.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_POSITION -->\n\n                                                      <!-- START ANNOUNCE_POSITION_LIMIT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_position_limit.$touched || forms.announce.$submitted) && forms.announce.announce_position_limit.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_ANNOUNCE_POSITION_LIMIT\' | translate}}</label>\n                                                          <input type="number" min="0" name="announce_position_limit" placeholder="{{\'APPLICATION_ANNOUNCE_POSITION_LIMIT\' | translate}}" class="form-control" data-ng-model="queue.announce_position_limit"/>\n                                                                <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_POSITION_LIMIT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.announce_position_limit.$touched || forms.announce.$submitted) && forms.announce.announce_position_limit.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_POSITION_LIMIT -->\n\n                                                        <!-- START REPORTHOLDTIME -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.reportholdtime.$touched || forms.announce.$submitted) && forms.announce.reportholdtime.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_REPORTHOLDTIME\' | translate}}</label>\n                                                           <ui-select data-ng-model="queue.reportholdtime" name="reportholdtime" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_REPORTHOLDTIME\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.reportholdtime.$touched || forms.announce.$submitted) && forms.announce.reportholdtime.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END REPORTHOLDTIME -->\n\n                                         </div>\n                                                        <div class="col-md-6">\n                                                                <p><h3>{{\'APPLICATION_SOUNDS\' | translate}}</h3></p>\n                                                                <!-- START QUEUE_REPORTHOLD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_reporthold.$touched || forms.announce.$submitted) && forms.announce.queue_reporthold.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_QUEUE_REPORTHOLD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <ui-select data-ng-model="queue.queue_reporthold" name="queue_reporthold" theme="bootstrap" required>\n                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                                      <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                          </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span class="help-block">\n                                                                             {{ \'DESCRIPTION_QUEUE_REPORTHOLD\' | translate }}\n                                                                    </span>\n                                                                       <span data-ng-show="(forms.announce.queue_reporthold.$touched || forms.announce.$submitted) && forms.announce.queue_reporthold.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE_REPORTHOLD -->\n\n                                                               <!-- START QUEUE_YOUARENEXT -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_youarenext.$touched || forms.announce.$submitted) && forms.announce.queue_youarenext.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_QUEUE_YOUARENEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <ui-select data-ng-model="queue.queue_youarenext" name="queue_youarenext" theme="bootstrap" required>\n                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                                      <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                          </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span class="help-block">\n                                                                             {{ \'DESCRIPTION_QUEUE_YOUARENEXT\' | translate }}\n                                                                    </span>\n                                                                       <span data-ng-show="(forms.announce.queue_youarenext.$touched || forms.announce.$submitted) && forms.announce.queue_youarenext.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE_YOUARENEXT -->\n\n                                                       <!-- START QUEUE_THEREARE -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_thereare.$touched || forms.announce.$submitted) && forms.announce.queue_thereare.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_THEREARE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_thereare" name="queue_thereare" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_THEREARE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_thereare.$touched || forms.announce.$submitted) && forms.announce.queue_thereare.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_THEREARE -->\n\n                                                 <!-- START QUEUE_CALLSWAITING -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_callswaiting.$touched || forms.announce.$submitted) && forms.announce.queue_callswaiting.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_CALLSWAITING\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                           <ui-select data-ng-model="queue.queue_callswaiting" name="queue_callswaiting" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_CALLSWAITING\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.announce.queue_callswaiting.$touched || forms.announce.$submitted) && forms.announce.queue_callswaiting.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_CALLSWAITING -->\n\n                                                     <!-- START QUEUE_HOLDTIME -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_holdtime.$touched || forms.announce.$submitted) && forms.announce.queue_holdtime.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_HOLDTIME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_holdtime" name="queue_holdtime" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_HOLDTIME\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_holdtime.$touched || forms.announce.$submitted) && forms.announce.queue_holdtime.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_HOLDTIME -->\n\n                                                 <!-- START QUEUE_MINUTES -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_minutes.$touched || forms.announce.$submitted) && forms.announce.queue_minutes.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_QUEUE_MINUTES\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="queue.queue_minutes" name="queue_minutes" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MINUTES\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.queue_minutes.$touched || forms.announce.$submitted) && forms.announce.queue_minutes.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_MINUTES -->\n\n                                                  <!-- START QUEUE_MINUTE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_minute.$touched || forms.announce.$submitted) && forms.announce.queue_minute.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_QUEUE_MINUTE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="queue.queue_minute" name="queue_minute" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MINUTE\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.queue_minute.$touched || forms.announce.$submitted) && forms.announce.queue_minute.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_MINUTE -->\n\n                                                   <!-- START QUEUE_SECONDS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_seconds.$touched || forms.announce.$submitted) && forms.announce.queue_seconds.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_QUEUE_SECONDS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="queue.queue_seconds" name="queue_seconds" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_SECONDS\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.queue_seconds.$touched || forms.announce.$submitted) && forms.announce.queue_seconds.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_SECONDS -->\n\n                                                  <!-- START QUEUE_THANKYOU -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_thankyou.$touched || forms.announce.$submitted) && forms.announce.queue_thankyou.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_THANKYOU\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_thankyou" name="QUEUE_THANKYOU" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_THANKYOU\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_thankyou.$touched || forms.announce.$submitted) && forms.announce.queue_thankyou.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_THANKYOU -->\n\n                                         </div>\n                                        </div>\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <div class="tab-pane" id="tab_1_3">\n                                           <form name="forms.advanced" data-ng-submit="forms.advanced.$valid && updateVoiceQueue()" novalidate>\n\n                                                        <div class="row">\n                                                             <div class="col-md-6">\n\n                                                      <!-- START AUTOPAUSE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.autopause.$touched || forms.advanced.$submitted) && forms.advanced.autopause.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_AUTOPAUSE\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.autopause" name="autopause" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'all\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_AUTOPAUSE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.autopause.$touched || forms.advanced.$submitted) && forms.advanced.autopause.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END AUTOPAUSE -->\n\n                                                      <!-- START RINGINUSE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.ringinuse.$touched || forms.advanced.$submitted) && forms.advanced.ringinuse.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_RINGINUSE\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.ringinuse" name="ringinuse" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RINGINUSE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.ringinuse.$touched || forms.advanced.$submitted) && forms.advanced.ringinuse.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RINGINUSE -->\n\n                                                      <!-- START MEMBER_DELAY -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.memberdelay.$touched || forms.advanced.$submitted) && forms.advanced.memberdelay.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_MEMBER_DELAY\' | translate}}</label>\n                                                             <input type="number" min="0" name="memberdelay" placeholder="{{\'APPLICATION_MEMBER_DELAY\' | translate}}" class="form-control" data-ng-model="queue.memberdelay" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MEMBER_DELAY\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.memberdelay.$touched || forms.advanced.$submitted) && forms.advanced.memberdelay.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MEMBER_DELAY -->\n                                             </div>\n                                                        <div class="col-md-6">\n\n                                                      <!-- START TIMEOUTRESTART -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.timeoutrestart.$touched || forms.advanced.$submitted) && forms.advanced.timeoutrestart.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_TIMEOUTRESTART\' | translate}}</label>\n                                                           <ui-select data-ng-model="queue.timeoutrestart" name="timeoutrestart" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_TIMEOUTRESTART\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.advanced.timeoutrestart.$touched || forms.advanced.$submitted) && forms.advanced.timeoutrestart.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TIMEOUTRESTART -->\n\n                                                 <!-- START MONITOR_FORMAT -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.monitor_format.$touched || forms.advanced.$submitted) && forms.advanced.monitor_format.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_MONITOR_FORMAT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.monitor_format" name="monitor_format" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="monFormat.value as monFormat in monitorFormats | filter: $select.search">\n                                                                          <div ng-bind-html="monFormat.name | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MONITOR_FORMAT\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.advanced.monitor_format.$touched || forms.advanced.$submitted) && forms.advanced.monitor_format.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MONITOR_FORMAT -->\n\n                                                 <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.context.$touched || forms.advanced.$submitted) && forms.advanced.context.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}</label>\n                                                          <ui-select data-ng-model="queue.context" name="context" theme="bootstrap">\n                                                                    <ui-select-match allow-clear placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                  <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_VOICE_CONTEXT\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.advanced.context.$touched || forms.advanced.$submitted) && forms.advanced.context.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                </div>\n                                        </div>\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/contactmanager/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="fa fa-users"></i>\n                           <a href="/contactmanager/list">{{ \'APPLICATION_CONTACT_MANAGER\' | translate }}</a>\n                          <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-user-follow"></i>\n                              <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-envelope-letter font-green-sharp"></i>\n                         <span class="caption-subject">{{ \'APPLICATION_CONTACT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START MAILBOX -->\n                        <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.mailbox.$invalid}">\n                            <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}<span class="required" aria-required="true">*</span></label>\n                              <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="item.mailbox" required/>\n                                                  <span data-ng-show="forms.general.$submitted && forms.general.mailbox.$invalid" class="help-block help-block-error">\n                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END MAILBOX -->\n\n                                          <!-- START PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                 <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END PASSWORD -->\n\n                                               <!-- START CONFIRM PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                                        <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid || forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CONFIRM PASSWORD -->\n\n            <!-- START FULLNAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.fullname.$invalid}">\n              <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.fullname.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END FULLNAME -->\n\n            <!-- START EMAIL -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.email.$invalid}">\n              <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END EMAIL -->\n\n            <!-- START CONTEXT -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <ui-select data-ng-model="item.context" name="context" theme="bootstrap" required>\n                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                  <div ng-bind-html="context.name | highlight: $select.search"></div>\n                </ui-select-choices>\n              </ui-select>\n              <span class="help-block">\n                {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n              </span>\n              <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END CONTEXT -->\n\n                                          <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/dashboard/dashboard.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/dashboard/voice">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                                                                       <!-- <li dropdown>\n                                                                                    <a href="#" dropdown-toggle>\n                                                                                                  {{ \'APPLICATION_VOICE\' | translate }}\n                                                                                                       <b class=\'caret\'></b>\n                                                                                       </a>\n                                                                                  <tree tree=\'voice\'></tree>\n                                                                  </li>\n                                                                 <li dropdown>\n                                                                                 <a href="#" dropdown-toggle>\n                                                                                                  {{ \'APPLICATION_MAIL\' | translate }}\n                                                                                                        <b class=\'caret\'></b>\n                                                                                       </a>\n                                                                                  <tree tree=\'mail\'></tree>\n                                                                   </li> -->\n                             <li data-ng-class="{active: $state.is(\'main.dashboard.voice\')}">\n                                <a href="/dashboard/voice">\n                                                                                                       <b class=\'icon-earphones-alt\'></b>\n                                  {{ \'APPLICATION_VOICE\' | translate }}\n                                   </a>\n                                  <!-- <tree tree=\'voice\'></tree> -->\n                             </li>\n                                                                         <li data-ng-class="{active: $state.is(\'main.dashboard.mail\')}">\n                                 <a href="/dashboard/mail">\n                                                                                                        <b class=\'icon-envelope\'></b>\n                                       {{ \'APPLICATION_MAIL\' | translate }}\n                                    </a>\n                                  <!-- <tree tree=\'mail\'></tree> -->\n                              </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/dashboard/mail/mail.html",'<div class="col-md-12">\nThis is the mail view.\n</div>\n'),a.put("app/dashboard/voice/voice.html",'<div class="row" ng-init=\'getQueueStats()\'>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat red-intense">\n      <div class="visual">\n        <i class="fa fa-comments"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.abandonedCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_ABANDONED\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat green-haze">\n      <div class="visual">\n        <i class="fa fa-bar-chart-o"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.completedCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_COMPLETED\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat purple-plum">\n      <div class="visual">\n        <i class="fa fa-shopping-cart"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.waitCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_WAIT\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">\n    <div class="dashboard-stat blue-madison">\n      <div class="visual">\n        <i class="fa fa-globe"></i>\n      </div>\n      <div class="details">\n        <div class="number">\n          {{queueStats.activeCalls}}\n        </div>\n        <div class="desc">\n          {{\'APPLICATION_DASHBOARD_ACTIVE\' | translate}}\n        </div>\n      </div>\n      <a class="more" href="/voice/realtime/view/queues">\n      {{\'APPLICATION_VIEW_MORE\' | translate}} <i class="m-icon-swapright m-icon-white"></i>\n      </a>\n    </div>\n  </div>\n</div>\n'),a.put("app/desk/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-handbag"></i>\n                                  <a href="/desk/list">{{ \'APPLICATION_DESK_COM\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-handbag font-green-sharp"></i>\n                                 <span class="caption-subject">{{ \'APPLICATION_DESK_COM\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="accounts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/desk/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAccounts([\'name\',\'username\',\'remoteUri\',\'authType\',\'token\',\'password\'])" csv-header="[\'Name\', \'Username\', \'Remote Address\', \'Authentication Type\', \'Token\', \'Password\']" field-separator=";" filename="desk_accounts.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedDeskAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.accountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="accountByPage in accountsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="accountByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(account, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="username">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                               <th st-sort="remoteUri">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                         <th>{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="account in displayedDeskAccounts" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="accounts.checked" checklist-value="account.id"></td>\n                                         <td>{{account.name}}</td>\n                                             <td>{{account.username}}</td>\n                                                           <td>{{account.remoteUri}}</td>\n                                                                <td>{{account.description}}</td>\n                                            <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/desk/view/{{account.id}}/account">\n                                                                           {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="checkAccount(account.id)">\n                                                                          {{ \'APPLICATION_CHECK_CONNECTION\' | translate }}\n                                            </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(account.name,account.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedDeskAccounts.length">\n                                                              <td colspan="7" style="text-align:center;">\n                                                                   <i>No account available</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="remoteUri" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_REMOTE_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                 </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="7" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.accountsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="fax_accounts.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/accounts/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxAccounts([\'name\', \'description\', \'phone\'])" csv-header="[\'Name\', \'Description\', \'Phone\']" field-separator=";" filename="fax_accounts.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                     <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.faxAccountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="faxAccountByPage in faxAccountsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="faxAccountByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(faxAccount, checked)" checklist-model checklist-value="id"></th>\n                                               <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="phone">{{ \'APPLICATION_PHONE\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="faxAccount in displayedFaxAccounts" class="animate-repeat">\n                                                           <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="fax_accounts.checked" checklist-value="faxAccount.id"></td>\n                                          <td>{{faxAccount.name}}</td>\n                                                            <td>{{faxAccount.description}}</td>\n                                                           <td>{{faxAccount.phone}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/accounts/view/{{faxAccount.id}}/settings">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(faxAccount.name,faxAccount.id)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxAccounts.length">\n                                                               <td colspan="5" style="text-align:center;">\n                                                                   <i>No fax account available</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td></td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="phone" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_PHONE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxAccountsByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/view/view.applications.html",'<div class="row" data-ng-init="initApplication()">\n  <div class="col-md-12">\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                                        <form name="forms.info" novalidate>\n                                                           <!-- START APP -->\n                                                            <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.app.$touched || forms.info.$submitted) && forms.info.app.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_APPLICATION\' | translate}}</label>\n                                                                      <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                         <ui-select-match placeholder="{{\'APPLICATION_APPLICATION\' | translate}}">{{$select.selected | uppercase}}</ui-select-match>\n                                         <ui-select-choices repeat="filter in [\'queue\', \'agent\'] | filter: $select.search">\n                                          <div ng-bind-html="filter | uppercase | highlight: $select.search"></div>\n                                           </ui-select-choices>\n                                        </ui-select>\n                                                                        <span data-ng-show="(forms.info.app.$touched || forms.info.$submitted) && forms.info.app.$invalid && forms.info.app.$error.required" class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END APP -->\n\n                                                            <!-- START APPADATA -->\n                                                               <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_ARGUMENTS\' | translate}}</label>\n                                                                        <ui-select data-ng-model="application.appdata" name="appdata" theme="bootstrap" required>\n                                         <ui-select-match placeholder="{{\'APPLICATION_ARGUMENTS\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                          <ui-select-choices repeat="item in items | filter: $select.search">\n                                             <div data-ng-bind-html="item.name | highlight: $select.search"></div>\n                                       </ui-select-choices>\n                                        </ui-select>\n                                                                        <span data-ng-show="(forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid && forms.info.appdata.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END APPADATA -->\n\n                                                               <!-- START TIMEOUT -->\n                                                                <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.timeout.$touched || forms.info.$submitted) && forms.info.timeout.$invalid}">\n                                                                      <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                                                  <input type="text" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" required>\n                                                                    <span data-ng-show="(forms.info.timeout.$touched || forms.info.$submitted) && forms.info.timeout.$invalid && forms.info.timeout.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END TIMEOUT -->\n\n                                                                <!-- START INTERVAL -->\n                                                               <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.info.interval.$touched || forms.info.$submitted) && forms.info.interval.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_INTERVAL\' | translate}}</label>\n                                                                 <input type="text" name="interval" placeholder="*|*|*|*" class="form-control" data-ng-model="application.interval">\n                                                                   <span data-ng-show="(forms.info.info.interval.$touched || forms.info.$submitted) && forms.info.interval.$invalid && forms.info.interval.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div> -->\n                                                            <!-- END INTERVAL -->\n\n                                                               <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/account/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-paper-plane"></i>\n                                      <a href="/">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   <i class="fa fa-angle-right" data-ng-show="account"></i>\n                              </li>\n                         <li data-ng-show="account">\n                                   <a href="#">{{ account.name || account.description }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/account.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ account.name || account.description }}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ account.phone }}\n                                   </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.accounts.view.settings\')}">\n                                                 <a href="/fax/accounts/view/{{account.id}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                         <li data-ng-class="{active: $state.is(\'main.fax.accounts.view.routes\') || $state.is(\'main.fax.accounts.view.applications\')}">\n                                                     <a href="/fax/accounts/view/{{account.id}}/routes">\n                                                   <i class="icon-directions"></i>\n                                                       {{\'APPLICATION_ROUTES\' | translate}} </a>\n                                           </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/fax/account/view/view.routes.html",'<div class="row" data-ng-init="getFaxApplications()">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ROUTES\' | translate}}</span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/fax/accounts/view/{{account.id}}/applications" data-toggle="dropdown">\n                                                    <i class="icon-plus"></i> {{ \'APPLICATION_NEW_APPLICATION\' | translate }}\n                                           </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                                <!-- <th width="5%">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                 <th>{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                  <th>{{\'APPLICATION_ARGUMENTS\' | translate}}</th>\n                                                                <th>{{\'APPLICATION_TIMEOUT\' | translate}}</th>\n                                                  <!-- <th>{{\'APPLICATION_INTERVAL\' | translate}}</th> -->\n                                                                <th width="5%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                           </tr>\n                                         </thead>\n                                            <tbody ui-sortable="sortableOptions" data-ng-model="faxApplications">\n                                     <tr data-ng-repeat="application in faxApplications | orderBy:\'priority\'">\n                                                               <td><span data-ng-class="{\'label-info\': application.app == \'agent\', \'label-success\': application.app == \'queue\'}" class="label label-sm"> {{application.app}} </span></td>\n                                                            <td>{{getAppdata(application.app, application.appdata)}}</td>\n                                                         <td>{{application.timeout}}</td>\n                                                              <!-- <td>{{application.interval}}</td> -->\n                                          <td>\n                                            <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app,application.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="faxApplications.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/account/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItemFaxAccount()" novalidate>\n                                                        <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TRUNKS -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.trunk.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TRUNK\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="account.TrunkId" name="trunk" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_TRUNK\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="trunk.id as trunk in trunks | filter: $select.search">\n                                                                             <div data-ng-bind="trunk.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.trunk.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START TRUNKS -->\n\n                                                       <!-- START PHONE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.phone.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PHONE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="phone" placeholder="{{\'APPLICATION_PHONE\' | translate}}" class="form-control" data-ng-model="account.phone" required/>\n                                                             <span data-ng-show="forms.formSetting.phone.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PHONE -->\n\n                                                  <!-- START ECM -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_ECM\' | translate}}<span class="required" aria-required="true">*</span></label><br>\n                                                              <!-- <button type="button" name="ecm" class="btn btn-default form-control" data-ng-model="account.ecm" bs-checkbox>{{account.ecm ? \'ENABLED\' : \'DISABLED\'}}</button> -->\n                                                          <input\n                                                                        bs-switch\n                                                                     ng-model="account.ecm"\n                                                                        type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END ECM -->\n\n                                                    <!-- START FAXHEADER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.faxheader.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_FAXHEADER\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="faxheader" placeholder="{{\'APPLICATION_FAXHEADER\' | translate}}" class="form-control" data-ng-model="account.faxheader" required/>\n                                                         <span data-ng-show="forms.formSetting.faxheader.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FAXHEADER -->\n\n                                                      <!-- START LOCALID -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.localid.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_LOCALID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="localid" placeholder="{{\'APPLICATION_LOCALID\' | translate}}" class="form-control" data-ng-model="account.localid" required/>\n                                                               <span data-ng-show="forms.formSetting.localid.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LOCALID -->\n\n                                                        <!-- START MAXRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.maxrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAXRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="account.maxrate" name="maxrate" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="maxrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="maxrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.maxrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MAXRATE -->\n\n                                                      <!-- START MINRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.minrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MINRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="account.minrate" name="minrate" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="minrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="minrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.minrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MINRATE -->\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/account/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n   <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="/fax/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START TRUNKS -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.trunk.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TRUNK\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="item.TrunkId" name="trunk" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_TRUNK\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="trunk.id as trunk in trunks | filter: $select.search">\n                                                                             <div data-ng-bind="trunk.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.trunk.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START TRUNKS -->\n\n                                                       <!-- START PHONE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.phone.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PHONE\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="phone" placeholder="{{\'APPLICATION_PHONE\' | translate}}" class="form-control" data-ng-model="item.phone" required/>\n                                                                <span data-ng-show="forms.formSetting.phone.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PHONE -->\n\n                                                  <!-- START ECM -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_ECM\' | translate}}<span class="required" aria-required="true">*</span></label><br>\n                                                              <!-- <button type="button" name="ecm" class="btn btn-default form-control" data-ng-model="item.ecm" bs-checkbox>{{item.ecm ? \'ENABLED\' : \'DISABLED\'}}</button> -->\n                                                                <input\n                                                                        bs-switch\n                                                                     ng-model="item.ecm"\n                                                                   type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END ECM -->\n\n                                                    <!-- START FAXHEADER -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.faxheader.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_FAXHEADER\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                           <input type="text" name="faxheader" placeholder="{{\'APPLICATION_FAXHEADER\' | translate}}" class="form-control" data-ng-model="item.faxheader" required/>\n                                                            <span data-ng-show="forms.formSetting.faxheader.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FAXHEADER -->\n\n                                                      <!-- START LOCALID -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.localid.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_LOCALID\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="localid" placeholder="{{\'APPLICATION_LOCALID\' | translate}}" class="form-control" data-ng-model="item.localid" required/>\n                                                          <span data-ng-show="forms.formSetting.localid.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LOCALID -->\n\n                                                        <!-- START MAXRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.maxrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAXRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="item.maxrate" name="maxrate" theme="bootstrap" required>\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="maxrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="maxrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.maxrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MAXRATE -->\n\n                                                      <!-- START MINRATE -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.minrate.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MINRATE\' | translate}}</label>\n                                                          <ui-select data-ng-model="item.minrate" name="minrate" theme="bootstrap" required>\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_MAXRATE\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                 <ui-select-choices repeat="minrate in [\'9600\', \'14400\', \'33600\'] | filter: $select.search">\n                                                                             <div data-ng-bind="minrate | highlight: $select.search"></div>\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.minrate.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START MINRATE -->\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/list/list.html",'<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-settings"></i>\n                                         <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="faxAutomations.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/automations/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="fax_automations.csv">\n                                        <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.faxAutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="faxAutomationByPage in faxAutomationsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="faxAutomationByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(faxAutomation, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="faxAutomation in displayedFaxAutomations">\n                                                            <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="faxAutomations.checked" checklist-value="faxAutomation.id"></td>\n                                             <td>{{faxAutomation.name}}</td>\n                                                         <td>{{faxAutomation.description}}</td>\n                                                                <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(faxAutomation.id, faxAutomation.status)",\n                                                              bs-switch\n                                                             ng-model="faxAutomation.status"\n                                                               type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/automations/view/{{faxAutomation.id}}/settings">\n                                                                         {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(faxAutomation.name, faxAutomation.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxAutomations.length">\n                                                            <td colspan="6" class="text-center">\n                                                                  <i>{{\'MESSAGE_NO_AVAILABLE_AUTOMATIONS\' | translate}}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxAutomationsByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/fax/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                     <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{automation.description}}\n                                    </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.automations.view.settings\')}">\n                                                      <a href="/fax/automations/view/{{automation.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/automation/view/view.settings.html",'<div class="row">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">OR {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">AND {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="forms.info.$valid && updateAutomation()" novalidate>\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'or\')">\n                                                                  <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'or\'}">\n                                                        <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                                <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                                <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <div class="tab-pane" id="tab_1_3">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'and\')">\n                                                                 <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'and\'}">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" name="conditionAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                          <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" name="operatorAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                             <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" name="attributeAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" data-ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                                       <span data-ng-show="forms.and.attributeAnd{{$index}}.$invalid && forms.and.attributeAnd{{$index}}.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n\n                                      <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_4">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewAction()">\n                                                                   <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="action in automation.BusinessActions">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="action.condition" theme="bootstrap" on-select="updateAction(action.id, \'condition\', $item.key)" required>\n                                                                                         <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="action.key as action in automations.actions | filter: $select.search">\n                                                                                                     <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3" data-ng-switch="action.condition">\n                                                                              <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="action.attribute" theme="bootstrap" on-select="updateAction(action.id, \'attribute\', $item.key)" required>\n                                                                                         <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(action.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" data-ng-model="action.attribute" data-ng-blur="updateAction(action.id, \'attribute\', action.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                         </div>\n                                                                        </div>\n                                                                        <div class="col-md-4">\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeAction(action.id)">\n                                                                                  <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessActions.length">\n                                                    <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n\n                                      </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/fax/automation/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n       <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/fax/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_NEW_AUTOMATION\' | translate}}" canexit="formValidation(forms.automation.$valid && forms.automation.$valid)">\n                                         <form name="forms.automation" novalidate>\n                                                     <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.automation.name.$invalid && forms.automation.$submitted}">\n                                                                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                         <input class="form-control" type="text" name="name" value="" data-ng-model="automations.name" required>\n                                                                               <span data-ng-show="forms.automation.name.$invalid && forms.automation.name.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n\n                                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.automation.description.$invalid && forms.automation.$submitted}">\n                                                                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                              <input class="form-control" type="text" name="description" value="" data-ng-model="automations.description">\n                                                                          <span data-ng-show="forms.automation.description.$invalid && forms.automation.description.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <hr>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'or\')">\n                                                                             <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-user"></i>\n                                                                     <span class="caption-subject">Meet <strong>any</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.or">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionOr{{$index}}.$invalid && forms.automation.$submitted && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].condition" name="conditionOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.or[$index].conditions | filter: $select.search">\n                                                                                                          <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionOr{{$index}}.$invalid && forms.automation.conditionOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorOr{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].operator" name="operatorOr{{$index}}" theme="bootstrap" required>\n                                                                                                    <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.or[$index].condition.operators | filter: $select.search">\n                                                                                                          <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorOr{{$index}}.$invalid && forms.automation.operatorOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.or[$index].condition.input">\n                                                                                        <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted}">\n                                                                                            <ui-select data-ng-model="automations.or[$index].attribute" name="attributeOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.or[$index].condition.attributes | filter: $select.search">\n                                                                                                               <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeOr{{$index}}" value="" data-ng-model="automations.or[$index].attribute" required>\n                                                                                              <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'or\', $index)">\n                                                                                             <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.or.length">\n                                                                <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'and\')">\n                                                                            <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-people"></i>\n                                                                   <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.and">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].condition" name="conditionAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.and[$index].conditions | filter: $select.search">\n                                                                                                         <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.conditionAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                              <ui-select data-ng-model="automations.and[$index].operator" name="operatorAnd{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.and[$index].condition.operators | filter: $select.search">\n                                                                                                         <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.operatorAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.and[$index].condition.input">\n                                                                                       <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].attribute" name="attributeAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.and[$index].condition.attributes | filter: $select.search">\n                                                                                                              <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeAnd{{$index}}" value="" data-ng-model="automations.and[$index].attribute" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid}" required>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'and\', $index)">\n                                                                                            <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.and.length">\n                                                               <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'actions\')">\n                                                                                <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-magic-wand"></i>\n                                                                       <span class="caption-subject">Perform these actions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.actions">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.actions.conditionAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].condition" name="conditionAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="action in automations.actions[$index].actions | filter: $select.search">\n                                                                                                           <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                                   </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.conditionAction{{$index}}.$invalid && forms.actions.conditionAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3" data-ng-switch="automations.actions[$index].condition.input">\n                                                                                   <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].attribute" name="attributeAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.actions[$index].condition.attributes | filter: $select.search">\n                                                                                                          <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid}">\n                                                                                               <input class="form-control" type="text" min="0" name="attributeAction{{$index}}" value="" data-ng-model="automations.actions[$index].attribute" required>\n                                                                                             <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4">\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'actions\', $index)">\n                                                                                                <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.actions.length">\n                                                           <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add action</i>\n                                                             </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                               </div>\n                                                        </div>\n                                                </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/inbox/inbox.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-note"></i>\n                                             <a href="/fax/inbox/incoming">{{ \'APPLICATION_INBOX\' | translate }}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE CONTENT-->\n<div class="row inbox">\n     <div class="col-md-12" ui-view>\n       </div>\n</div>\n'),a.put("app/fax/inbox/incoming/incoming.html",'<!-- END PAGE HEADER-->\n<div data-ng-init="getRooms()">\n     <!-- <pre>\n            {{faxRooms | json}}\n   </pre> -->\n    <div class="inbox-header">\n            <h1 class="pull-left">Inbox</h1>\n      </div>\n        <div class="inbox-content">\n           <table class="table table-advance" st-table="displayedFaxRooms" st-safe-src="faxRooms">\n                       <thead>\n                               <tr>\n                                  <th colspan="8" style="background: #eef4f7; border: none; border-bottom: solid 5px #fff;">\n                                            <div class="row">\n                                                     <div class="col-md-6">\n                                                                <input type="checkbox" class="mail-checkbox mail-group-checkbox checker" data-ng-model="checked" data-ng-change="switchCheckbox(displayedFaxRooms, checked)">\n                                                         <div class="btn-group">\n                                                                       <a data-ng-href="/fax/inbox/compose" class="btn btn-sm blue">{{\'APPLICATION_NEW_MESSAGE\' | translate}} <i class="fa fa-plus"></i></a>\n                                                                       <!-- <a class="btn btn-sm blue dropdown-toggle" href="#" data-toggle="dropdown">\n                                                                              {{\'APPLICATION_MORE\' | translate}} <i class="fa fa-angle-down"></i>\n                                                                 </a> -->\n                                                                      <ul class="dropdown-menu">\n                                                                            <li>\n                                                                                  <a href="#" data-ng-click="markAsRead(true)">\n                                                                                 <i class="icon-paper-plane-open"></i> {{\'APPLICATION_MARK_AS_READ\' | translate}} </a>\n                                                                               </li>\n                                                                         <li>\n                                                                                  <a href="#" data-ng-click="markAsRead(false)">\n                                                                                        <i class="icon-paper-plane"></i> {{\'APPLICATION_MARK_AS_UNREAD\' | translate}} </a>\n                                                                          </li>\n                                                                         <li class="divider">\n                                                                          </li>\n                                                                         <li>\n                                                                                  <a href="#" data-ng-click="deleteMessage()">\n                                                                                  <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}} </a>\n                                                                                </li>\n                                                                 </ul>\n                                                         </div>\n                                                        </div>\n                                                        <div class="col-md-6">\n                                                                <div class="input-group input-medium pull-right">\n                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                 <span class="input-group-addon btn green" style="cursor: default;">\n                                                                           <i class="icon-magnifier" style="color: white;"></i>\n                                                                  </span>\n                                                               </div>\n                                                                <ui-select data-ng-model="conf.faxRoomsByPage" theme="bootstrap" style="width: 100px;" class="pull-right margin-right-10">\n                                                                    <ui-select-match placeholder="{{ \'APPLICATION_SEARCH\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                                        <ui-select-choices repeat="p in [10, 20, 35, 50] | filter: $select.search">\n                                                                           <span ng-bind-html="p | highlight: $select.search"></span>\n                                                                    </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                        </th>\n                         </tr>\n                 </thead>\n                      <tbody>\n                               <tr data-ng-repeat="faxRoom in displayedFaxRooms | orderBy:\'-updatedAt\'" data-ng-class="{unread: !faxRoom.read}" data-ng-click="go(\'/fax/inbox/room/\' + faxRoom.id, faxRoom.id, \'OPEN\')" class="animate-repeat">\n                                        <td class="inbox-small-cells" style="border: none;">\n                                          <input type="checkbox" class="checker" checklist-model="checkedMailMessages.id" checklist-value="faxRoom.id">\n                                 </td>\n                                 <!-- <td class="inbox-small-cells" style="border: none;">\n                                             <i class="fa fa-star" data-ng-class="{\'inbox-started\': faxRoom.favorite}" data-ng-click="markAsFavorite(faxRoom.id, faxRoom.favorite)"></i>\n                                 </td> -->\n                                     <td class="view-message hidden-xs" style="cursor:pointer; border:none;">\n                                              #{{faxRoom.id}}\n                                       </td>\n                                 <!-- <td class="inbox-small-cells" style="border: none;">\n                                             <i class="fa fa-star" data-ng-class="{\'inbox-started\': faxRoom.favorite}" data-ng-click="markAsFavorite(faxRoom.id, faxRoom.favorite)"></i>\n                                 </td> -->\n                                     <!-- <td class="view-message hidden-xs" style="cursor:pointer; border:none;">\n                                         {{faxRoom.subject}}\n                                   </td> -->\n                                     <td class="view-message" style="cursor:pointer; border:none;">\n                                                {{faxRoom.from}}\n                                      </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;">\n                                                {{faxRoom.MailAccount.description ? faxRoom.MailAccount.description : faxRoom.MailAccount.name}}\n                                      </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;" data-ng-switch="faxRoom.status">\n                                                <span class="badge badge-default" data-ng-class="{\n                                            \'badge-danger\': faxRoom.status == \'NEW\',\n                                          \'badge-warning\': faxRoom.status == \'OPEN\',\n                                                \'badge-info\': faxRoom.status == \'PENDING\',\n                                                \'badge-success\': faxRoom.status == \'CLOSED\'}"> {{faxRoom.status | uppercase}} </span>\n                                     </td>\n                                 <td class="view-message" style="cursor:pointer; border:none;">\n                                                <span class="badge badge-success badge-roundless" data-ng-show="faxRoom.User.fullname"> {{faxRoom.User.fullname}} </span>\n                                             <span class="badge badge-default badge-roundless" data-ng-hide="faxRoom.User.fullname"> {{\'APPLICATION_UNASSIGNED\' | translate}} </span>\n                                    </td>\n                                 <td class="view-message text-right" context-menu="menuOptions" style="border: none;">\n                                         <time is="relative-time" datetime="{{faxRoom.updatedAt}}">\n                                                    April 1, 2014\n                                         </time>\n                                       </td>\n                         </tr>\n                         <tr data-ng-hide="faxRooms.length">\n                                   <td colspan="6" class="text-center">\n                                          <i>{{\'MESSAGE_NO_AVAILABLE_MESSAGES\' | translate}}</i>\n                                      </td>\n                         </tr>\n                         <tr>\n                                  <td colspan="8" class="text-center" style="border: none;">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.faxRoomsByPage" st-displayed-pages="7"></div>\n                                    </td>\n                         </tr>\n                 </tbody>\n              </table>\n      </div>\n</div>\n'),a.put("app/fax/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n        <div class="portlet light">\n           <!-- PROJECT HEAD -->\n         <div class="portlet-title">\n                   <div class="caption" data-ng-show="faxRoom">\n                          <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': faxRoom.status == \'NEW\',\n                         \'badge-warning\': faxRoom.status == \'OPEN\',\n                                \'badge-info\': faxRoom.status == \'PENDING\',\n                                \'badge-success\': faxRoom.status == \'CLOSED\'}"> {{faxRoom.status | uppercase}} </span>\n                     </div>\n                        <div class="actions" data-ng-show="faxRoom">\n                          <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                 <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgent(agent.id)">\n                                                    {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_STATUS\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'PENDING\')">\n                                                        {{\'STATUS_PENING\' | translate}} <span class="badge badge-danger">\n                                                   P </span>\n                                                     </a>\n                                          </li>\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'CLOSED\')">\n                                                 {{\'STATUS_CLOSED\' | translate}} <span class="badge badge-success">\n                                                  C </span>\n                                                     </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                        </div>\n                </div>\n                <!-- end PROJECT HEAD -->\n             <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="faxRoom" data-ng-class="{\'col-md-7 col-sm-7\': faxRoom}">\n                                 <div class="scroller" id="faxMessages" style="height: 500px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                           <ul class="chats">\n                                                    <li data-ng-class="{\'in\': faxMessage.status == \'RECEIVED\', \'out\': (faxMessage.status == \'SENT\' || faxMessage.status == \'SENDING\' || faxMessage.status == \'FAILED\' || faxMessage.status == \'NOT SENT\')}" data-ng-repeat="faxMessage in faxRoom.FaxMessages | orderBy:\'createdAt\'">\n                                                     <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && faxMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                     <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <span class="bold">{{\'APPLICATION_FROM\' | translate}}: </span>\n                                                              <span>{{faxMessage.From.fullname}} </span>\n                                                            <span> &#60;{{faxMessage.From.phone}}&#62; </span>\n                                                            <br>\n                                                          <span class="bold">{{\'APPLICATION_TO\' | translate}}: </span>\n                                                                <span>{{faxMessage.To.fullname}} </span>\n                                                              <span> &#60;{{faxMessage.To.phone}}&#62; </span>\n                                                              <br>\n                                                          <span class="todo-tasklist-date">\n                                                                     <i class="fa fa-calendar"></i>\n                                                                        <time is="relative-time" datetime="{{faxMessage.createdAt}}">\n                                                                         April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <span data-ng-show="faxMessage.status == \'FAILED\' || faxMessage.status == \'SENDING\'" class="badge badge-default" data-ng-class="{\'badge-error\': faxMessage.status == \'FAILED\', \'badge-warning\': faxMessage.status == \'SENDING\'}"> {{faxMessage.status | uppercase}} </span>\n                                                               <br>\n                                                          <br>\n                                                          <span class="body">\n                                                                   <div class="wrapper" ng-controller="FaxInboxRoomCtrl" style="max-height:600px; overflow:auto;">\n                                                 <ng-pdf pdf-url="/api/fax/messages/{{faxMessage.id}}/content" template-url="/assets/plugins/angular-pdf/example/partials/viewer.html" scale="0.5" page=1></ng-pdf>\n                                          </div>\n                                                                </span>\n                                                               <br>\n                                                  </div>\n                                                </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': faxRoom, \'col-md-12 col-sm-12\': !faxRoom}">\n                                     <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendFax()" class="form-horizontal" novalidate>\n                                             <!-- TASK HEAD -->\n                                            <div class="form">\n                                                    <div class="form-group">\n                                                              <div class="col-md-12 col-sm-12">\n                                                                     <div class="todo-taskbody-user">\n                                                                              <img class="todo-userpic pull-left" data-ng-src="api/users/avatar/{{getCurrentUser().userpic ? getCurrentUser().userpic : \'unknown_avatar\'}}" width="50px" height="50px">\n                                                                           <span class="todo-username pull-left">{{ getCurrentUser().fullname }}</span>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TASK HEAD -->\n\n                                                      <!-- FAX FROM -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_FROM\' | translate}}:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_FROM\' | translate}}...">{{$select.selected.name}} - {{$select.selected.phone}}</ui-select-match>\n                                                                                               <ui-select-choices repeat="faxAccount in faxAccounts | filter: $select.search">\n                                                                                                       <div ng-bind-html="faxAccount.name | highlight: $select.search"></div>\n                                                                                                        <small ng-bind-html="faxAccount.phone | highlight: $select.search"></small>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_TO\' | translate}}:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_TO\' | translate}}...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- TASK DESC -->\n                                                    <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                           </div>\n                                                        </div>\n                                                        <!-- END TASK DESC -->\n\n                                                      <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n\n                                         </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),
+a.put("app/fax/queue/list/list.html",'<div class="row">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="/fax/queues/lis">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                        </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="faxQueues.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/fax/queues/wizard">\n                                                         <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getFaxQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="fax_queues.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedFaxQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                                <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate}}</th>\n                                                         <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedFaxQueues" class="animate-repeat">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="faxQueues.checked" checklist-value="queue.id"></td>\n                                          <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/fax/queues/view/{{queue.id}}/settings">\n                                                                              {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedFaxQueues.length">\n                                                         <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body" style="width: 50%; margin: 0 auto;">\n                                <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-paper-plane"></i>\n                                      <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/fax/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                       <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.fax.queues.view.settings\')}">\n                                                   <a data-ng-href="/fax/queues/view/{{queue.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.fax.queues.view.agents\')}">\n                                                     <a data-ng-href="/fax/queues/view/{{queue.id}}/agents">\n                                                       <i class="icon-people"></i>\n                                                   {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/fax/queue/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateFaxQueue()" novalidate>\n                                      <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}</label>\n                                          <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <!-- <input colorpicker type="text" name="animationToggle" placeholder="{{\'APPLICATION_BUTTON_COLOR\' | translate}}" class="form-control" data-ng-model="chatWebsite.animation" required/> -->\n                                               <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/fax/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-paper-plane"></i>\n                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                      </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/fax/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                       </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                                        <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/fax/timeline/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-paper-plane"></i>\n                                              <a href="#">{{ \'APPLICATION_FAX\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/fax/timeline/list"> {{\'APPLICATION_TIMELINE\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          {{\'APPLICATION_TIMELINE\' | translate}}\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-paper-plane font-green-haze"></i>\n                                              </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">{{\'APPLICATION_AT\' | translate}} {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/fax/inbox/room/{{event.FaxRoomId}}">{{\'APPLICATION_GO_TO\' | translate}} {{\'APPLICATION_FAX\' | translate}}</a>\n                                                         </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.FaxRoom.subject ? event.FaxRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                 </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/integration/list/list.html",'\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-game-controller"></i>\n                                  <a href="/integrations/list">{{ \'APPLICATION_INTEGRATIONS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered" data-ng-init="initList()">\n                        <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-eye font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_INTEGRATIONS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                           <span class="btn green-jungle btn-file">\n            <span> <i class="icon-plus"></i> New App </span>\n            <input type="file" accept=".zip" nv-file-select="" uploader="uploader"/>\n          </span>\n          <a class="btn btn-icon-only btn-default" href="#" ng-csv="displayedIntegrations" filename="integrations.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <a class="btn btn-icon-only btn-default fullscreen" href="#"></a>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedIntegrations" st-safe-src="integrations" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <select class="form-control input-small select2me" data-ng-model="integrationsByPage">\n                                                                                                <option value="10">10</option>\n                                                                                                <option value="25">25</option>\n                                                                                                <option value="50">50</option>\n                                                                                                <option value="{{integrations.length}}">{{ \'APPLICATION_ALL\' | translate }}</option>\n                                                                                        </select>\n                                                                             </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th>\n                                                   <th st-sort="fullname">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                                <th st-sort="name">{{ \'APPLICATION_FILENAME\' | translate }}</th>\n                                                            <th st-sort="name">{{ \'APPLICATION_VERSION\' | translate }}</th>\n                                                 <th st-sort="name">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="integration in displayedIntegrations">\n                                                                <td>{{integration.id}}</td>\n                                                           <td>{{integration.name}}</td>\n                                                         <td>{{integration.filename}}</td>\n                                                             <td>{{integration.version}}</td>\n                                            <td>{{integration.description}}</td>\n                                                            <td>\n                                                                  <span class="btn default btn-xs blue-stripe btn-file">\n                                            <span> {{ \'APPLICATION_UPDATE\' | translate }} </span>\n                                       <input type="file" accept=".zip" nv-file-select="" uploader="uploader"/>\n                                    </span>\n                                             <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(integration.name, integration.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="integrations.length">\n                                                               <td colspan="6" style="text-align:center;">\n                                                                   <i>No integrations available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="id" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="filename" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FILENAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                              </td>\n                                                             <td>\n                                              </td>\n                                                             <td>\n                                              </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="integrationsByPage" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-clock"></i>\n                                    <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-clock font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_INTERVALS\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="intervals.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_INTERVAL\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/intervals/wizard">\n                                                          <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getIntervals([\'name\'])" csv-header="[\'Name\']" field-separator=";" filename="intervals.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedIntervals" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="3">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.intervalsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="intervalByPage in intervalsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="intervalByPage.name | highlight: $select.search"></div>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(interval, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="interval in displayedIntervals">\n                                                              <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="intervals.checked" checklist-value="interval.id"></td>\n                                                         <td>{{interval.name}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/intervals/view/{{interval.id}}/settings">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(interval.name,interval.id)">\n                                                                               {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedIntervals.length">\n                                                         <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_INTERVALS_AVAILABLE\' | translate }}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="3" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.intervalsByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getInterval()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-clock"></i>\n                                    <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                                     <i data-ng-show="interval" class="fa fa-angle-right"></i>\n                             </li>\n                         <li data-ng-show="interval">\n                                  <a href="#">{{interval.name}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/interval.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{interval.name}}\n                                     </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.intervals.view.settings\')}">\n                                                    <a data-ng-href="/intervals/view/{{interval.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.intervals.view.subintervals\') || $state.is(\'main.intervals.view.subinterval\') || $state.is(\'main.intervals.view.subintervals.settings\')}">\n                                                  <a data-ng-href="/intervals/view/{{interval.id}}/subintervals">\n                                                       <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_SUBINTERVALS\' | translate}} </a>\n                                            </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/interval/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_INTERVAL\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateInterval()" novalidate>\n\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="interval.name" required/>\n                                                               <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/interval/view/view.subinterval.html",'\n<div class="row" data-ng-init="initSubInterval()">\n      <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_NEW_SUBINTERVAL\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.subinterval.name.$valid)">\n            <form name="forms.subinterval" novalidate>\n\n              <!-- START NAME -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$invalid}">\n                <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="subinterval.name" required/>\n                <span data-ng-show="(forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END NAME -->\n\n                                                       <!-- START TIME -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                <div class="input-group input-large">\n                                                                       <fieldset class="pull-left" ng-disabled="splittedInterval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="splittedInterval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                  <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                        <fieldset ng-disabled="splittedInterval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="splittedInterval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                       <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="splittedInterval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                </div>\n              </div>\n              <!-- END TIME -->\n\n              <!-- START WEEKDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.wd_from" theme="bootstrap" name="wd_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.wd_to" theme="bootstrap" name="wd_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END WEEKDAY -->\n\n              <!-- START MONTHDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.md_from" theme="bootstrap" name="md_from">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.md_to" theme="bootstrap" name="md_to">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTHDAY -->\n\n              <!-- START MONTH -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.m_from" theme="bootstrap" name="m_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.m_to" theme="bootstrap" name="m_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTH -->\n\n\n\n                                                       <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n            </form>\n          </wz-step>\n\n\n                                             <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.subintervalSettings.html",'\n<div class="row" data-ng-init="getSubInterval()">\n     <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_SUBINTERVAL_SETTINGS\' | translate }} WIZARD</a> </span>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="updateItem()">\n                                     <div class="profile-usertitle-name">\n                                          {{subinterval.name}}\n                                  </div>\n          <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.subinterval.name.$valid)">\n            <form name="forms.subinterval" novalidate>\n\n              <!-- START NAME -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$invalid}">\n                <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="subinterval.name" required/>\n                <span data-ng-show="(forms.subinterval.name.$touched || forms.subinterval.$submitted) && forms.subinterval.name.$error.required" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END NAME -->\n\n              <!-- START TIME -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                <div class="input-group input-large">\n                                                                   <fieldset class="pull-left" ng-disabled="splittedInterval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="splittedInterval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                  <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                        <fieldset ng-disabled="splittedInterval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="splittedInterval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                       <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="splittedInterval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                </div>\n              </div>\n              <!-- END TIME -->\n\n              <!-- START WEEKDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.wd_from" theme="bootstrap" name="wd_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.wd_to" theme="bootstrap" name="wd_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                      {{$translate.instant(weekDay.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END WEEKDAY -->\n\n              <!-- START MONTHDAY -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.md_from" theme="bootstrap" name="md_from">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.md_to" theme="bootstrap" name="md_to">\n                    <ui-select-match>{{$select.selected}}</ui-select-match>\n                    <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                      {{monthDay}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTHDAY -->\n\n              <!-- START MONTH -->\n              <div class="form-group">\n                <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                <div class="input-group input-large">\n                  <ui-select data-ng-model="splittedInterval.m_from" theme="bootstrap" name="m_from">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                  <span class="input-group-addon">to</span>\n                  <ui-select data-ng-model="splittedInterval.m_to" theme="bootstrap" name="m_to">\n                    <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                    <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                      {{$translate.instant(month.name)}}\n                    </ui-select-choices>\n                  </ui-select>\n                </div>\n              </div>\n              <!-- END MONTH -->\n\n\n\n                                                       <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n            </form>\n          </wz-step>\n\n\n                                             <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/interval/view/view.subintervals.html",'<div ui-view class="profile-content">\n<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SUBINTERVALS\' | translate}}</span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/intervals/view/{{interval.id}}/subinterval" data-toggle="dropdown">\n                                                       <i class="icon-plus"></i> {{ \'APPLICATION_NEW_SUBINTERVAL\' | translate }}\n                                           </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_NAME\' | translate }}</th>\n                                               <th>{{ \'APPLICATION_TIME\' | translate }}</th>\n                                                           <th width="20%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="subIntervals">\n                                            <tr data-ng-repeat="subinterval in subIntervals">\n                                                         <td>{{subinterval.name}}</td>\n                                                         <td>{{subinterval.interval}}</td>\n                                           <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/intervals/view/{{interval.id}}/subintervals/settings/{{subinterval.id}}">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(subinterval.name+\' interval\',subinterval.id)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="subIntervals.length">\n                                                               <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_SUBINTERVALS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),a.put("app/interval/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-clock"></i>\n                            <a href="/intervals/list">{{ \'APPLICATION_INTERVALS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/intervals/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" data-ng-init="getContexts()">\n     <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-clock font-green-sharp"></i>\n                   <span class="caption-subject">{{ \'APPLICATION_INTERVAL\' | translate }} WIZARD</a> </span>\n           </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.interval.$valid)">\n                        <form name="forms.interval" novalidate>\n\n            <!-- START NAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$invalid}">\n              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n              <span data-ng-show="(forms.interval.name.$touched || forms.interval.$submitted) && forms.interval.name.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END NAME -->\n\n                                              <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/login/login.html",'<!-- BEGIN LOGO -->\n<div class="logo">\n     <a href="index.html">\n <img src="assets/images/logo-big.png" alt=""/>\n        </a>\n</div>\n<!-- END LOGO -->\n<!-- BEGIN LOGIN -->\n<div class="content">\n  <!-- BEGIN LOGIN FORM -->\n     <form class="login-form" name="loginForm" data-ng-show="!flagLogin1" data-ng-submit="login(loginForm)" novalidate>\n            <h3 class="form-title">Sign In</h3>\n           <div class="alert alert-danger" data-ng-class="{\'display-hide\': !loginSubmitted || !errorLogin}">\n                   <button class="close" data-close="alert"></button>\n                    <span>{{ errorLog ? errorLog : \'Enter any username and password.\'}}</span>\n          </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.name.$invalid}">\n                   <label class="control-label">Username</label>\n      <div class="input-icon">\n        <i class="fa fa-user"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="name" ng-model="userLogin.name" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.name.$invalid" class="help-block">Username is required.</span>\n           </div>\n                <div class="form-group" data-ng-class="{\'has-error\': loginSubmitted && loginForm.password.$invalid}">\n                       <label class="control-label">Password</label>\n      <div class="input-icon">\n        <i class="fa fa-lock"></i>\n        <input ng-enter="login(loginForm)" class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" ng-model="userLogin.password" required/>\n      </div>\n      <span data-ng-show="loginSubmitted && loginForm.password.$invalid" class="help-block">Password is required.</span>\n           </div>\n                <div class="form-actions">\n                    <button type="submit" class="btn btn-success uppercase">Login</button>\n      <label class="rememberme check">\n        <input type="checkbox"> Remember me\n      </label>\n                   <!-- <label class="rememberme check">\n                 <input type="checkbox" name="remember" value="1"/>Remember </label> -->\n                       <!-- <a href="javascript:;" id="forget-password" class="forget-password">Forgot Password?</a> -->\n             </div>\n                <div class="login-options">\n                   <h4>Follow Us on</h4>\n                 <ul class="social-icons">\n                             <li>\n                                  <a class="social-icon-color facebook" data-original-title="facebook" href="https://www.facebook.com/xenialab"></a>\n                            </li>\n                         <li>\n                                  <a class="social-icon-color twitter" data-original-title="Twitter" href="https://twitter.com/xenialab"></a>\n                           </li>\n                         <li>\n                                  <a class="social-icon-color googleplus" data-original-title="Goole Plus" href="#"></a>\n                                </li>\n                         <li>\n                                  <a class="social-icon-color linkedin" data-original-title="Linkedin" href="#"></a>\n                            </li>\n                 </ul>\n         </div>\n        </form>\n</div>\n<div class="copyright">\n       2016 © xCALLY MOTION.\n</div>\n<!-- END LOGIN -->\n'),a.put("app/mail/account/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-notebook"></i>\n                                         <a href="#">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAccounts.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/accounts/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAccounts([\'name\', \'description\', {MailServerIn:\'username\'}])" csv-header="[\'Name\', \'Description\', \'Email Address\']" field-separator=";" filename="mail_accounts.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                              <thead>\n                                             <tr>\n                                                  <th colspan="6">\n                                                              <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <ui-select class="input-xsmall" ng-model="conf.mailAccountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                     <ui-select-choices repeat="mailAccountByPage in mailAccountsByPage | filter: $select.search">\n                                                                                         <div ng-bind-html="mailAccountByPage.name | highlight: $select.search"></div>\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                        <div class="col-md-6">\n                                                                                <div class="input-group input-medium pull-right">\n                                                                                     <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                   <tr>\n                                                        <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAccount, checked)" checklist-model checklist-value="id"></th>\n                                      <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                    <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                  <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                      <th st-sort="description"> IMAP</th>\n                                                  <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                      </tr>\n                                 </thead>\n                              <tbody>\n                                 <tr data-ng-repeat="mailAccount in displayedMailAccounts">\n                                                        <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAccounts.checked" checklist-value="mailAccount.id"></td>\n                                 <td>{{mailAccount.name}}</td>\n                                                   <td>{{mailAccount.description}}</td>\n                                                  <td><a ng-href="mailto:{{mailAccount.MailServerIn.username}}">{{mailAccount.MailServerIn.username}}</a></td>\n                                                  <td>\n                                                          <span class="label label-sm" data-ng-class="mailAccount.MailServerIn.state === \'CONNECTED\' ? \'label-success\' : \'label-danger\'">\n                                                                 {{ mailAccount.MailServerIn.state | uppercase }}\n                                                              </span>\n                                                       </td>\n                               <td>\n                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{mailAccount.id}}/settings">\n                                                                     {{ \'APPLICATION_PROFILE\' | translate }}\n                                     </a>\n                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAccount.name, mailAccount.id)">\n                                                                        {{ \'APPLICATION_DELETE\' | translate }}\n                                      </a>\n                                </td>\n                               </tr>\n                                             <tr data-ng-hide="displayedMailAccounts.length">\n                                                      <td colspan="6" class="text-center">\n                                                  <i>{{ \'MESSAGE_NO_AVAILABLE_ACCOUNTS\' | translate }}</i>\n                                                    </td>\n                                         </tr>\n                           </tbody>\n                              <tfoot>\n                                             <tr>\n                                                  <td/>\n                                     <td>\n                                                              <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                            </div>\n                                            </td>\n                                                     <td>\n                                                          <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                          </div>\n                                            </td>\n                                                     <!-- <td>\n                                                             <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="address" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                            </div>\n                                            </td> -->\n                                     <td/>\n                                                     <td/>\n                                   </tr>\n                                               <tr>\n                                                  <td colspan="6" class="text-center">\n                                                          <div class="pagination" st-pagination st-items-by-page="conf.mailAccountsByPage.value" st-displayed-pages="7"></div>\n                                                  </td>\n                                         </tr>\n                           </tfoot>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/list/list.html",'<div class="row" data-ng-init="initActons()">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/mail/accounts/view/{{account.id}}/actions/wizard" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACTION\' | translate }}\n                                                </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th class="input-small" align="center">{{\'APPLICATION_APPLICATION\' | translate}}</th>\n                                                           <th class="input-small" align="center">{{\'APPLICATION_TIMEOUT\' | translate}} [s]</th>\n                                                   <th align="center">{{ \'APPLICATION_INTERVAL\' | translate }}</th>\n                                                                <th class="input-small">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="mailApplications">\n                                          <tr data-ng-repeat="application in mailApplications">\n                                                             <!-- <td><span data-ng-class="{\'label-info\': application.app == \'agent\', \'label-success\': application.app == \'queue\'}" class="label label-sm"> {{application.app}} </span></td> -->\n                                                           <td align="center">\n                                                                   <span>\n                                                                                <i data-ng-class="application.User ? \'icon-user\' : \'icon-docs\'"></i>\n                                                                      </span>\n                                                               </td>\n                                                         <td align="center">{{application.timeout}}</td>\n                                                               <td align="center">{{application.Interval ? application.Interval.name : application.interval}}</td>\n                                                           <td>\n                                                                  <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/accounts/view/{{account.id}}/actions/view/{{application.id}}">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(application.app, application.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="mailApplications.length">\n                                                           <td colspan="5" style="text-align:center;">\n                                                                   <i>No applications available</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/mail/account/view/action/view/view.html",'\n<div class="row" data-ng-init="initAction()">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }}</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.settings" ng-submit="updateItem()" novalidate>\n                                      <!-- START APP -->\n                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                       </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END APP -->\n\n                                    <!-- START HOST -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                           <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                         <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END HOST -->\n\n                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                          <!-- START QUEUE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END QUEUE -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                          <!-- START AGENT -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.agent.$touched || forms.settings.$submitted) && forms.settings.agent.$error.required" class="help-block help-block-error">\n                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END AGENT -->\n                                    </div>\n\n                                      <!-- START INTERVAL_TYPE -->\n                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$invalid}">\n                                           <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                               {{ intType.name | translate }}\n                                                        </ui-select-choices>\n                                          </ui-select>\n                                          <span data-ng-show="(forms.settings.intType.$touched || forms.settings.$submitted) && forms.settings.intType.$error.required" class="help-block help-block-error">\n                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END INTERVAL_TYPE -->\n\n                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                <!-- START TIME -->\n                                           <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                   <div class="input-group input-large">\n                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                             </fieldset>\n                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                     </div>\n                                                </div>\n                                                <!-- END TIME -->\n\n                                           <!-- START ALWAYS -->\n                                         <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                 <div class="input-group input-large">\n                                                         <label class="control-label pointer-cursor">\n                                                                  <input\n                                                                                bs-switch\n                                                                             data-ng-model="application.alwaysTime"\n                                                                                type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                               </label>\n                                                      </div>\n                                                </div>\n                                                <!-- END ALWAYS -->\n\n                                         <!-- START WEEKDAY -->\n                                                <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                        <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate}}\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                {{ weekDay.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END WEEKDAY -->\n\n                                                <!-- START MONTHDAY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                       <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                               {{monthDay}}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTHDAY -->\n\n                                               <!-- START MONTH -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                  <div class="input-group input-large">\n                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="input-group-addon">to</span>\n                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                {{ month.name | translate }}\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                  </div>\n                                                </div>\n                                                <!-- END MONTH -->\n                                    </div>\n\n                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                          <!-- START INTERVALS -->\n                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                    {{ interval.name}}\n                                                            </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.settings.IntervalId.$touched || forms.settings.$submitted) && forms.settings.IntervalId.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVALS -->\n\n                                      </div>\n                                        <button class="btn green-haze" type="submit">{{\'APPLICATION_UPDATE\' | translate}}</button>\n                          </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/action/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-directions font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_ACTION\' | translate }} WIZARD</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.action.$valid)">\n                                           <form name="forms.action" novalidate>\n                                                 <!-- START APP -->\n                                                    <div class="form-group"  data-ng-class="{\'has-error\': forms.action.$submitted && forms.action.app.$invalid}">\n                                                               <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.app" name="app" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="app.value as app in apps | filter: $select.search">\n                                                                                <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.action.$submitted && forms.action.app.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APP -->\n\n                                                    <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                             <input type="number" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="application.timeout" min="0" required/>\n                                                         <span data-ng-show="(forms.action.timeout.$touched || forms.action.$submitted) && forms.action.timeout.$invalid && forms.action.timeout.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <div class="app-settings" ng-slide-down="application.app === \'queue\'" lazy-render duration="1" data-ng-init="getQueues()">\n                                                          <!-- START QUEUE -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.MailQueueId" name="queue" theme="bootstrap" required>\n                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="queue.id as queue in queues | filter: $select.search">\n                                                                                     <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.queue.$touched || forms.action.$submitted) && forms.action.queue.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.app === \'agent\'" lazy-render duration="1" data-ng-init="getAgents()">\n                                                          <!-- START AGENT -->\n                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_AGENT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <ui-select data-ng-model="application.UserId" name="agent" theme="bootstrap" required>\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.fullname}}</ui-select-match>\n                                                                          <ui-select-choices repeat="agent.id as agent in agents | filter: $select.search">\n                                                                                     <div ng-bind-html="agent.fullname | highlight: $select.search"></div>\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.agent.$touched || forms.action.$submitted) && forms.action.agent.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END AGENT -->\n                                                    </div>\n\n                                                      <!-- START INTERVAL_TYPE -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$invalid}">\n                                                         <label class="control-label">{{ \'APPLICATION_INTERVAL_TYPE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.intType" theme="bootstrap" name="intType" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                        <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                               {{ intType.name | translate }}\n                                                                        </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="(forms.action.intType.$touched || forms.action.$submitted) && forms.action.intType.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERVAL_TYPE -->\n\n                                                  <div class="app-settings" ng-slide-down="application.intType === \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="application.alwaysTime">\n                                                                                     <uib-timepicker name="t_from" data-ng-model="application.t_from" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker>\n                                                                             </fieldset>\n                                                                           <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="application.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="application.t_to" show-meridian="false" show-spinners="false" mousewheel="false"></uib-timepicker></fieldset>\n                                                                              <!-- <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="application.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label> -->\n                                                                     </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START ALWAYS -->\n                                                         <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_ALWAYS\' | translate }}</label>\n                                                                 <div class="input-group input-large">\n                                                                         <label class="control-label pointer-cursor">\n                                                                                  <input\n                                                                                                bs-switch\n                                                                                             data-ng-model="application.alwaysTime"\n                                                                                                type="checkbox"\n                                                                                               switch-active="{{ isActive }}"\n                                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                                switch-on-color="{{ onColor }}"\n                                                                                               switch-off-color="{{ offColor }}"\n                                                                                             switch-animate="{{ animate }}"\n                                                                                                switch-size="{{ size }}"\n                                                                                              switch-label="{{ label }}"\n                                                                                            switch-icon="{{ icon }}"\n                                                                                              switch-radio-off="{{ radioOff }}"\n                                                                                             switch-label-width="{{ labelWidth }}"\n                                                                                         switch-handle-width="{{ handleWidth }}">\n                                                                                      <!-- <input type="checkbox" data-ng-model="application.alwaysTime"> -->\n                                                                               </label>\n                                                                      </div>\n                                                                </div>\n                                                                <!-- END ALWAYS -->\n\n                                                         <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.wd_from" theme="bootstrap" name="wd_from">\n                                                                                      <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate}}\n                                                                                 </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.wd_to" theme="bootstrap" name="wd_to">\n                                                                                  <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{ weekDay.name | translate }}\n                                                                                        </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.md_from" theme="bootstrap" name="md_from">\n                                                                                      <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.md_to" theme="bootstrap" name="md_to">\n                                                                                  <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="application.m_from" theme="bootstrap" name="m_from">\n                                                                                        <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="application.m_to" theme="bootstrap" name="m_to">\n                                                                                    <ui-select-match placeholder="">{{ $select.selected.name | translate }}</ui-select-match>\n                                                                                     <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{ month.name | translate }}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div class="app-settings" ng-slide-down="application.intType === \'list\'" lazy-render duration="1" data-ng-init="getIntervals()">\n\n                                                          <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="application.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{ $select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="interval.id as interval in intervals | filter: $select.search">\n                                                                                    {{ interval.name}}\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.action.IntervalId.$touched || forms.action.$submitted) && forms.action.IntervalId.$error.required" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n\n                                                      <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONTINUE\' | translate}}"/>\n                                         </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <!-- <button class="btn green-haze" type="button" wz-previous><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button> -->\n                                              <input class="btn green-haze" type="submit" data-ng-click="next()" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                  </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                                  <i class="fa fa-angle-right" data-ng-show="account"></i>\n                              </li>\n                         <li data-ng-show="account">\n                                   <a href="#">{{ account.description || account.name }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/account.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ account.description || account.name }}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.email}}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li ng-class="{active: $state.is(\'main.mail.accounts.view.settings\')}">\n                                                     <a href="/mail/accounts/view/{{account.id}}/settings">\n                                                        <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                         <li ng-class="{active: $state.includes(\'main.mail.accounts.view.actions\')}">\n                                                        <a href="/mail/accounts/view/{{account.id}}/actions/list">\n                                                    <i class="icon-directions"></i>\n                                                       {{\'APPLICATION_ACTIONS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/account/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">IMAP</a>\n                                 </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">SMTP</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formInfo" data-ng-submit="forms.formInfo.$valid && updateItemMailAccount()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="(forms.formInfo.name.$touched || forms.formInfo.$submitted) && forms.formInfo.name.$invalid && forms.formInfo.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <!-- START EMAIL -->\n                                                  <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.formInfo.address.$touched || forms.formInfo.$submitted) && forms.formInfo.address.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="address" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="account.address" required/>\n                                                         <span data-ng-show="(forms.formInfo.infoEmail.$touched || forms.formInfo.$submitted) && forms.formInfo.address.$invalid && forms.formInfo.address.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div> -->\n                                                    <!-- END EMAIL -->\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.formIn" data-ng-submit="forms.formIn.$valid && updateItemMailServerIn()" novalidate>\n                                                        <!-- START PROTOCOL -->\n                                                       <!-- <div class="form-group">\n                                                         <label class="control-label">IMAP/POP3</label>\n                                                                <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="account.MailServerIn.protocol" bs-checkbox>{{account.MailServerIn.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                 </div> -->\n                                                    <!-- END PROTOCOL -->\n\n                                                       <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.host" required/>\n                                                           <span data-ng-show="(forms.formIn.host.$touched || forms.formIn.$submitted) && forms.formIn.host.$invalid && forms.formIn.host.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.username" name="username" required/>\n                                                               <span data-ng-show="(forms.formIn.username.$touched || forms.formIn.$submitted) && forms.formIn.username.$invalid && forms.formIn.username.$error.required"  class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.password" required/>\n                                                           <span data-ng-show="(forms.formIn.password.$touched || forms.formIn.$submitted) && forms.formIn.password.$invalid && forms.formIn.password.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.port" required/>\n                                                         <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formIn.port.$touched || forms.formIn.$submitted) && forms.formIn.port.$invalid && forms.formIn.port.$error.number" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START MAILBOX -->\n                                                        <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                          <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="account.MailServerIn.mailbox"/>\n                                                   </div>\n                                                        <!-- END MAILBOX -->\n\n                                                        <!-- START SEARCH FILTER -->\n                                                  <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                            <ui-select data-ng-model="account.MailServerIn.filter" name="filter" theme="bootstrap">\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                                                          <div ng-bind-html="filter | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <!-- <input type="text" name="filter" placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}" class="form-control" data-ng-model="forms.formIn.form.filter"/> -->\n                                                 </div>\n                                                        <!-- START SEARCH FILTER -->\n\n                                                        <!-- START DELETE -->\n                                                 <div class="form-group" data-ng-show="account.MailServerIn.protocol">\n                                                         <label class="control-label">{{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}</label><br>\n                                                              <!-- <button type="button" name="delete"  class="btn btn-default form-control" data-ng-model="account.MailServerIn.delete" btn-checkbox> {{account.MailServerIn.delete ? $translate.instant(\'APPLICATION_YES\') : $translate.instant(\'APPLICATION_NO\') | uppercase}} </button> -->\n                                                         <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerIn.delete"\n                                                                        type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                        switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                        switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END DELETE -->\n\n                                                 <!-- START SSL -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">SSL</label><br>\n                                                          <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="account.MailServerIn.ssl" btn-checkbox> {{account.MailServerIn.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerIn.ssl"\n                                                                   type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END SSL -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_3">\n                                           <form name="forms.formOut" data-ng-submit="forms.formOut.$valid && updateItemMailServerOut()" novalidate>\n\n                                                   <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.host" required/>\n                                                          <span data-ng-show="(forms.formOut.host.$touched || forms.formOut.$submitted) && forms.formOut.host.$invalid && forms.formOut.host.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.username" required/>\n                                                              <span data-ng-show="(forms.formOut.username.$touched || forms.formOut.$submitted) && forms.formOut.username.$invalid && forms.formOut.username.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.password" required/>\n                                                          <span data-ng-show="(forms.formOut.password.$touched || forms.formOut.$submitted) && forms.formOut.password.$invalid && forms.formOut.password.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.formOut.port.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="account.MailServerOut.port" required/>\n                                                                <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formOut.form.$touched || forms.formOut.$submitted) && forms.formOut.port.$invalid && forms.formOut.port.$error.number" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                          </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START SSL -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">SSL</label><br>\n                                                          <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="account.MailServerOut.ssl" btn-checkbox> {{account.MailServerOut.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                              <input\n                                                                        bs-switch\n                                                                     ng-model="account.MailServerOut.ssl"\n                                                                  type="checkbox"\n                                                                       switch-active="{{ isActive }}"\n                                                                        switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                    switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                  switch-on-color="{{ onColor }}"\n                                                                       switch-off-color="{{ offColor }}"\n                                                                     switch-animate="{{ animate }}"\n                                                                        switch-size="{{ size }}"\n                                                                      switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                                      switch-radio-off="{{ radioOff }}"\n                                                                     switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                      </div>\n                                                        <!-- END SSL -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/mail/account/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-notebook"></i>\n                                 <a href="/mail/accounts/list">{{ \'APPLICATION_ACCOUNTS\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                                    <form name="forms.info" novalidate>\n                                                           <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="info.name" required/>\n                                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n\n                                                           <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="info.description"/>\n                                                               </div>\n                                                                <!-- END DESCRIPTION -->\n\n                                                            <!-- START EMAIL -->\n                                                          <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.info.address.$touched || forms.info.$submitted) && forms.info.address.$invalid}">\n                                                                  <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                        <input type="email" name="address" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="info.address" required/>\n                                                                   <span data-ng-show="(forms.info.address.$touched || forms.info.$submitted) && forms.info.address.$invalid && forms.info.address.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div> -->\n                                                            <!-- END EMAIL -->\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="IMAP" canexit="formValidation(forms.in.$valid)">\n                                                      <form name="forms.in" novalidate>\n                                                             <!-- START PROTOCOL -->\n                                                               <!-- <div class="form-group">\n                                                                 <label class="control-label">IMAP/POP3</label>\n                                                                        <button type="button" name="protocol" class="btn btn-default form-control" data-ng-model="in.protocol" bs-checkbox>{{in.protocol ? \'IMAP\' : \'POP3\'}}</button>\n                                                             </div> -->\n                                                            <!-- END PROTOCOL -->\n\n                                                               <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="in.host" required/>\n                                                                     <span data-ng-show="(forms.in.host.$touched || forms.in.$submitted) && forms.in.host.$invalid && forms.in.host.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="in.username" name="username" required/>\n                                                                 <span data-ng-show="(forms.in.username.$touched || forms.in.$submitted) && forms.in.username.$invalid && forms.in.username.$error.required"  class="help-block help-block-error">\n                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="in.password" required/>\n                                                                     <span data-ng-show="(forms.in.password.$touched || forms.in.$submitted) && forms.in.password.$invalid && forms.in.password.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid}">\n                                                                   <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="in.port" required/>\n                                                                   <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(forms.in.port.$touched || forms.in.$submitted) && forms.in.port.$invalid && forms.in.port.$error.number" class="help-block help-block-error">\n                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START MAILBOX -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}</label>\n                                                                  <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="in.mailbox"/>\n                                                             </div>\n                                                                <!-- END MAILBOX -->\n\n                                                                <!-- START SEARCH FILTER -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_SEARCH_FILTER\' | translate}}</label>\n                                                                    <ui-select data-ng-model="in.filter" name="filter" theme="bootstrap">\n                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                           <ui-select-choices repeat="filter in [\'UNSEEN\'] | filter: $select.search">\n                                            <div data-ng-bind="filter | highlight: $select.search"></div>\n                                       </ui-select-choices>\n                                        </ui-select>\n                                                                        <!-- <input type="text" name="filter" placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}" class="form-control" data-ng-model="in.filter"/> -->\n                                                                </div>\n                                                                <!-- START SEARCH FILTER -->\n\n                                                                <!-- START DELETE -->\n                                                         <div class="form-group" data-ng-show="in.protocol">\n                                                                   <label class="control-label">{{\'APPLICATION_DELETE_MAIL_FROM_SERVER\' | translate}}</label><br>\n                                                                      <!-- <button type="button" name="delete"  class="btn btn-default form-control" data-ng-model="in.delete" btn-checkbox> {{in.delete ? $translate.instant(\'APPLICATION_YES\') : $translate.instant(\'APPLICATION_NO\') | uppercase}} </button> -->\n                                                                     <input\n                                                                                bs-switch\n                                                                             ng-model="in.delete"\n                                                                          type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                                switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                                switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END DELETE -->\n\n                                                         <!-- START SSL -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">SSL</label><br>\n                                                                  <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="in.ssl" btn-checkbox> {{in.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                    <input\n                                                                                bs-switch\n                                                                             ng-model="in.ssl"\n                                                                             type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                            switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                          switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END SSL -->\n                                                              <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                    </form>\n                                               </wz-step>\n                                            <wz-step title="SMTP" canexit="formValidation(forms.out.$valid)">\n                                                     <form name="forms.out" novalidate>\n\n                                                          <!-- START HOST -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_HOST\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="out.host" required/>\n                                                                    <span data-ng-show="(forms.out.host.$touched || forms.out.$submitted) && forms.out.host.$invalid && forms.out.host.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END HOST -->\n\n                                                           <!-- START USERNAME -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="text" name="username" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="out.username" required/>\n                                                                        <span data-ng-show="(forms.out.username.$touched || forms.out.$submitted) && forms.out.username.$invalid && forms.out.username.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END USERNAME -->\n\n                                                               <!-- START PASSWORD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="out.password" required/>\n                                                                    <span data-ng-show="(forms.out.password.$touched || forms.out.$submitted) && forms.out.password.$invalid && forms.out.password.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END PASSWORD -->\n\n                                                               <!-- START PORT -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.out.port.$touched || forms.out.$submitted) && forms.out.port.$invalid}">\n                                                                        <label class="control-label">{{\'APPLICATION_PORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                 <input type="number" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="out.port" required/>\n                                                                  <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.required" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                                       <span data-ng-show="(out.$touched || forms.out.$submitted) && forms.out.port.$invalid && forms.out.port.$error.number" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_NUMERIC_FIELD\' | translate}}.\n                                                                  </span>\n                                                               </div>\n                                                                <!-- END PORT -->\n\n                                                           <!-- START SSL -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">SSL</label><br>\n                                                                  <!-- <button type="button" name="ssl"  class="btn btn-default form-control" data-ng-model="out.ssl" btn-checkbox> {{out.ssl ? $translate.instant(\'APPLICATION_ENABLED\') : $translate.instant(\'APPLICATION_DISABLED\') | uppercase}} </button> -->\n                                                                  <input\n                                                                                bs-switch\n                                                                             ng-model="out.ssl"\n                                                                            type="checkbox"\n                                                                               switch-active="{{ isActive }}"\n                                                                                switch-on-text="{{ \'APPLICATION_ENABLED\' | translate }}"\n                                                                            switch-off-text="{{ \'APPLICATION_DISABLED\' | translate }}"\n                                                                          switch-on-color="{{ onColor }}"\n                                                                               switch-off-color="{{ offColor }}"\n                                                                             switch-animate="{{ animate }}"\n                                                                                switch-size="{{ size }}"\n                                                                              switch-label="{{ label }}"\n                                                                            switch-icon="{{ icon }}"\n                                                                              switch-radio-off="{{ radioOff }}"\n                                                                             switch-label-width="{{ labelWidth }}"\n                                                                         switch-handle-width="{{ handleWidth }}">\n                                                              </div>\n                                                                <!-- END SSL -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                                            <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                                   </form>\n                                               </wz-step>\n                                            <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-settings"></i>\n                                         <a href="#">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a> </span>\n                               </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailAutomations.checked.length">\n                                         <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_AUTOMATION\' | translate }} <i class="fa fa-angle-down"></i>\n                                           </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/automations/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailAutomations([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="mail_automations.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailAutomations" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                 <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.mailAutomationsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="mailAutomationByPage in mailAutomationsByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="mailAutomationByPage.name | highlight: $select.search"></div>\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(mailAutomation, checked)" checklist-model checklist-value="id"></th>\n                                                   <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="mailAutomation in displayedMailAutomations">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailAutomations.checked" checklist-value="mailAutomation.id"></td>\n                                           <td>{{mailAutomation.name}}</td>\n                                                                <td>{{mailAutomation.description}}</td>\n                                                               <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(mailAutomation.id, mailAutomation.status)",\n                                                                    bs-switch\n                                                             ng-model="mailAutomation.status"\n                                                              type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/automations/view/{{mailAutomation.id}}/settings">\n                                                                               {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(mailAutomation.name, mailAutomation.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailAutomations.length">\n                                                           <td colspan="6" class="text-center">\n                                                                  <i>No available automations</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.mailAutomationsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView()">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                                    <i class="fa fa-angle-right" data-ng-show="automation"></i>\n                           </li>\n                         <li data-ng-show="automation">\n                                        <a href="#">{{ automation.description || automation.name }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/automation.png" class="img-responsive">\n                         </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ automation.name }}\n                                 </div>\n                                        <div class="profile-usertitle-job">\n                                           {{automation.description}}\n                                    </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.automations.view.settings\')}">\n                                                     <a href="/mail/automations/view/{{automation.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{\'APPLICATION_SETTINGS\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/automation/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">OR {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                        </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">AND {{\'APPLICATION_CONDITIONS\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_4" data-toggle="tab">{{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="forms.info.$valid && updateAutomation()" novalidate>\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="automation.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="automation.description"/>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                                    <!-- IMAP TAB -->\n                                     <div class="tab-pane" id="tab_1_2">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'or\')">\n                                                                  <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'or\'}">\n                                                        <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                                <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                                <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                            </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n                                        <!-- END IMAP TAB -->\n\n                                       <div class="tab-pane" id="tab_1_3">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewCondition(\'and\')">\n                                                                 <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="condition in automation.BusinessConditions | filter: {type: \'and\'}">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.condition" name="conditionAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'condition\', $item.key)" required>\n                                                                                          <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="condition.key as condition in automations.conditions | filter: $select.search">\n                                                                                                    <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="condition.operator" name="operatorAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'operator\', $item.key)" required>\n                                                                                             <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="operator.key as operator in getOperatorsByCondition(condition.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-4" data-ng-switch="condition.condition">\n                                                                           <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="condition.attribute" name="attributeAnd{{$index}}" theme="bootstrap" on-select="updateCondition(condition.id, \'attribute\', $item.key)" required>\n                                                                                          <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(condition.condition) | filter: $select.search">\n                                                                                                     <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" name="attributeOr{{$index}}" value="" data-ng-model="condition.attribute" data-ng-blur="updateCondition(condition.id, \'attribute\', condition.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                                       <span data-ng-show="forms.and.attributeAnd{{$index}}.$invalid && forms.and.attributeAnd{{$index}}.$error.required" class="help-block help-block-error">\n                                                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeCondition(condition.id)">\n                                                                                    <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessConditions.length">\n                                                 <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n                                        </div>\n\n                                      <!-- SMTP TAB -->\n                                     <div class="tab-pane" id="tab_1_4">\n                                           <div class="row">\n                                                     <div class="col-md-12">\n                                                               <a href="#" data-ng-click="addNewAction()">\n                                                                   <i class="icon-plus"></i>\n                                                             </a>\n                                                          <i class="icon-people"></i>\n                                                           <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                      </div>\n                                                </div>\n                                                <div class="row" data-ng-repeat="action in automation.BusinessActions">\n                                                       <div class="col-md-12">\n                                                               <div class="row">\n                                                                     <div class="col-md-12">\n                                                                               <hr>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="row">\n                                                                     <div class="col-md-4">\n                                                                                <div class="form-group">\n                                                                                      <ui-select data-ng-model="action.condition" theme="bootstrap" on-select="updateAction(action.id, \'condition\', $item.key)" required>\n                                                                                         <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="action.key as action in automations.actions | filter: $select.search">\n                                                                                                     <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="col-md-3" data-ng-switch="action.condition">\n                                                                              <div class="form-group" data-ng-switch-when="status">\n                                                                                 <ui-select data-ng-model="action.attribute" theme="bootstrap" on-select="updateAction(action.id, \'attribute\', $item.key)" required>\n                                                                                         <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                         <ui-select-choices repeat="attribute.key as attribute in getAttributesByCondition(action.condition) | filter: $select.search">\n                                                                                                        <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="form-group" data-ng-switch-when="createdAt">\n                                                                                      <input class="form-control" type="text" data-ng-model="action.attribute" data-ng-blur="updateAction(action.id, \'attribute\', action.attribute)" data-ng-class="{\'has-error\': forms.and.attributeAnd{{$index}}.$invalid}" required>\n                                                                         </div>\n                                                                        </div>\n                                                                        <div class="col-md-4">\n                                                                        </div>\n                                                                        <div class="col-md-1">\n                                                                                <a href="#" data-ng-click="removeAction(action.id)">\n                                                                                  <i class="icon-close"></i>\n                                                                            </a>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n                                                </div>\n                                                <div class="row" data-ng-hide="automation.BusinessActions.length">\n                                                    <div class="col-md-12 text-center">\n                                                           <hr>\n                                                          <i>Add condition</i>\n                                                  </div>\n                                                </div>\n\n                                      </div>\n                                        <!-- END SMTP TAB -->\n                         </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/mail/automation/wizard/wizard.html",'\n<div class="row" data-ng-init="initWizard()">\n      <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-settings"></i>\n                                 <a href="/mail/automations/list">{{ \'APPLICATION_AUTOMATIONS\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_AUTOMATIONS\' | translate }} WIZARD</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n             <wz-step title="{{\'APPLICATION_NEW_AUTOMATION\' | translate}}" canexit="formValidation(forms.automation.$valid)">\n                                            <form name="forms.automation" novalidate>\n                                                     <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.automation.name.$invalid && forms.automation.$submitted}">\n                                                                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                         <input class="form-control" type="text" name="name" value="" data-ng-model="automations.name" required>\n                                                                               <span data-ng-show="forms.automation.name.$invalid && forms.automation.name.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n\n                                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.automation.description.$invalid && forms.automation.$submitted}">\n                                                                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                              <input class="form-control" type="text" name="description" value="" data-ng-model="automations.description">\n                                                                          <span data-ng-show="forms.automation.description.$invalid && forms.automation.description.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <hr>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'or\')">\n                                                                             <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-user"></i>\n                                                                     <span class="caption-subject">Meet <strong>any</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.or">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionOr{{$index}}.$invalid && forms.automation.$submitted && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].condition" name="conditionOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.or[$index].conditions | filter: $select.search">\n                                                                                                          <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionOr{{$index}}.$invalid && forms.automation.conditionOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorOr{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                               <ui-select data-ng-model="automations.or[$index].operator" name="operatorOr{{$index}}" theme="bootstrap" required>\n                                                                                                    <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.or[$index].condition.operators | filter: $select.search">\n                                                                                                          <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorOr{{$index}}.$invalid && forms.automation.operatorOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.or[$index].condition.input">\n                                                                                        <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted}">\n                                                                                            <ui-select data-ng-model="automations.or[$index].attribute" name="attributeOr{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.or[$index].condition.attributes | filter: $select.search">\n                                                                                                               <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeOr{{$index}}" value="" data-ng-model="automations.or[$index].attribute" required>\n                                                                                              <span data-ng-show="forms.automation.attributeOr{{$index}}.$invalid && forms.automation.attributeOr{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'or\', $index)">\n                                                                                             <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.or.length">\n                                                                <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'and\')">\n                                                                            <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-people"></i>\n                                                                   <span class="caption-subject">Meet <strong>all</strong> of the following conditions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.and">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].condition" name="conditionAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="condition in automations.and[$index].conditions | filter: $select.search">\n                                                                                                         <div data-ng-bind="condition.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.conditionAnd{{$index}}.$invalid && forms.automation.conditionAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                              <ui-select data-ng-model="automations.and[$index].operator" name="operatorAnd{{$index}}" theme="bootstrap" required>\n                                                                                                  <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="operator.key as operator in automations.and[$index].condition.operators | filter: $select.search">\n                                                                                                         <div data-ng-bind="operator.value | highlight: $select.search"></div>\n                                                                                                 </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.operatorAnd{{$index}}.$invalid && forms.automation.operatorAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4" data-ng-switch="automations.and[$index].condition.input">\n                                                                                       <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.and[$index].attribute" name="attributeAnd{{$index}}" theme="bootstrap" required>\n                                                                                                        <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.and[$index].condition.attributes | filter: $select.search">\n                                                                                                              <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number">\n                                                                                         <input class="form-control" type="text" min="0" name="attributeAnd{{$index}}" value="" data-ng-model="automations.and[$index].attribute" data-ng-class="{\'has-error\': forms.automation.attributeAnd{{$index}}.$invalid}" required>\n                                                                                          <span data-ng-show="forms.automation.attributeAnd{{$index}}.$invalid && forms.automation.attributeAnd{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'and\', $index)">\n                                                                                            <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.and.length">\n                                                               <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add condition</i>\n                                                          </div>\n                                                        </div>\n\n                                                      <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <a href="#" data-ng-click="addNewChoice(\'actions\')">\n                                                                                <i class="icon-plus"></i>\n                                                                     </a>\n                                                                  <i class="icon-magic-wand"></i>\n                                                                       <span class="caption-subject">Perform these actions:</a> </span>\n                                                              </div>\n                                                        </div>\n                                                        <div class="row" data-ng-repeat="automation in automations.actions">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-12">\n                                                                                       <hr>\n                                                                          </div>\n                                                                        </div>\n                                                                        <div class="row">\n                                                                             <div class="col-md-4">\n                                                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.actions.conditionAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].condition" name="conditionAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match placeholder="-- Click to select condition. --">{{$select.selected.value}}</ui-select-match>\n                                                                                                  <ui-select-choices repeat="action in automations.actions[$index].actions | filter: $select.search">\n                                                                                                           <div data-ng-bind="action.value | highlight: $select.search"></div>\n                                                                                                   </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.conditionAction{{$index}}.$invalid && forms.actions.conditionAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-3" data-ng-switch="automations.actions[$index].condition.input">\n                                                                                   <div class="form-group" data-ng-switch-when="ui-select" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid && forms.automation.$submitted}">\n                                                                                             <ui-select data-ng-model="automations.actions[$index].attribute" name="attributeAction{{$index}}" theme="bootstrap" required>\n                                                                                                 <ui-select-match>{{$select.selected.value}}</ui-select-match>\n                                                                                                 <ui-select-choices repeat="attribute.key as attribute in automations.actions[$index].condition.attributes | filter: $select.search">\n                                                                                                          <div data-ng-bind="attribute.value | highlight: $select.search"></div>\n                                                                                                        </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                          <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                        <div class="form-group" data-ng-switch-when="number" data-ng-class="{\'has-error\': forms.actions.attributeAction{{$index}}.$invalid}">\n                                                                                               <input class="form-control" type="text" min="0" name="attributeAction{{$index}}" value="" data-ng-model="automations.actions[$index].attribute" required>\n                                                                                             <span data-ng-show="forms.actions.attributeAction{{$index}}.$invalid && forms.actions.attributeAction{{$index}}.$error.required && forms.automation.$submitted" class="help-block help-block-error">\n                                                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                         </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                                <div class="col-md-4">\n                                                                                </div>\n                                                                                <div class="col-md-1">\n                                                                                        <a href="#" data-ng-click="removeChoice(\'actions\', $index)">\n                                                                                                <i class="icon-close"></i>\n                                                                                    </a>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <div class="row" data-ng-hide="automations.actions.length">\n                                                           <div class="col-md-12 text-center">\n                                                                   <hr>\n                                                                  <i>Add action</i>\n                                                             </div>\n                                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-12">\n                                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                               </div>\n                                                        </div>\n                                                </form>\n                                       </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/inbox/compose/compose.html",'<form class="inbox-compose form-horizontal" id="fileupload" enctype="multipart/form-data" data-ng-init="getMessage()">\n      <pre>\n         {{mailAccounts | json}}\n       </pre>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn inbox-discard-btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n              <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_SAVE_AS_DRAFT\' | translate}}</button>\n               <span class="message-info"><i>{{form.message}}</i></span>\n     </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_FROM\' | translate}}: </label>\n           <div class="controls">\n                        <ui-select data-ng-model="form.body.from" theme="bootstrap">\n        <ui-select-match placeholder="Select an account">{{$select.selected.name}} <{{$select.selected.address}}></ui-select-match>\n        <ui-select-choices repeat="account in mailAccounts | filter: $select.search">\n          <div ng-bind-html="account.name | highlight: $select.search"></div>\n          <small ng-bind-html="account.address | highlight: $select.search"></small>\n        </ui-select-choices>\n      </ui-select>\n               </div>\n        </div>\n        <div class="inbox-form-group mail-to">\n                <label class="control-label">{{\'APPLICATION_TO\' | translate}}: </label>\n             <div class="controls controls-to">\n                    <input type="text" class="form-control" name="to" data-ng-model="form.body.to.address">\n                       <span class="inbox-cc-bcc">\n                   <span class="inbox-cc" data-ng-show="!flagCC" data-ng-click="switchFlagCC()">\n                 Cc </span>\n                    <span class="inbox-bcc" data-ng-show="!flagBCC" data-ng-click="switchFlagBCC()">\n                      {{\'APPLICATION_BCC\' | translate}} </span>\n                   </span>\n               </div>\n        </div>\n        <div class="inbox-form-group input-cc" data-ng-class="{\'display-hide\': !flagCC}">\n           <a href="javascript:;" class="close" data-ng-click="switchFlagCC()">\n          </a>\n          <label class="control-label">Cc:</label>\n              <div class="controls controls-cc">\n                    <input type="text" name="cc" class="form-control" data-ng-model="form.body.cc.address">\n               </div>\n        </div>\n        <div class="inbox-form-group input-bcc" data-ng-class="{\'display-hide\': !flagBCC}">\n         <a href="javascript:;" class="close" data-ng-click="switchFlagBCC()">\n         </a>\n          <label class="control-label">{{\'APPLICATION_BCC\' | translate}}:</label>\n             <div class="controls controls-bcc">\n                   <input type="text" name="bcc" class="form-control" data-ng-model="form.body.bcc.address">\n             </div>\n        </div>\n        <div class="inbox-form-group">\n                <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}: </label>\n                <div class="controls">\n                        <input type="text" class="form-control" name="subject" data-ng-model="form.subject">\n          </div>\n        </div>\n        <div class="inbox-form-group">\n                <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html"></div>\n       </div>\n        <div class="inbox-compose-btn">\n               <button data-ng-click="sendMailMessage()" class="btn blue"><i class="fa fa-check"></i>{{\'APPLICATION_SEND\' | translate}}</button>\n           <button class="btn" data-ng-click="discard()">{{\'APPLICATION_DISCARD\' | translate}}</button>\n                <button class="btn" data-ng-click="saveMessageAsDraft()">{{\'APPLICATION_DRAFT\' | translate}}</button>\n       </div>\n</form>\n'),a.put("app/mail/inbox/inbox.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                                       <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-note"></i>\n                                     <a href="/mail/inbox/incoming">{{ \'APPLICATION_INBOX\' | translate }}</a>\n                            </li>\n                 </ul>\n         </div>\n        </div>\n</div>\n<!-- END PAGE CONTENT-->\n<div class="row inbox">\n     <div class="col-md-12" ui-view>\n       </div>\n</div>\n'),a.put("app/mail/inbox/incoming/incoming.html",'<div class="row inbox">\n     <div class="col-md-12">\n               <div class="inbox-header">\n                    <h1 class="pull-left">Inbox</h1>\n                      <form class="form-inline pull-right" action="#">\n                              <!-- <div class="input-group input-medium">\n                                   <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search">\n                                   <span class="input-group-btn">\n                                        <button type="submit" class="btn green"><i class="fa fa-search"></i></button>\n                                 </span>\n                               </div> -->\n                    </form>\n               </div>\n                <div class="inbox-content">\n                   <table class="table table-striped table-advance table-hover" st-table="displayedMailRooms" st-pipe="initList">\n                                <thead>\n                                       <tr>\n                                          <th colspan="9">\n                                                      <input type="checkbox" ng-change="check(null, checked)" checklist-model checklist-value="id">\n                                                 <div class="btn-group">\n                                                               <a data-ng-href="/mail/inbox/compose" class="btn btn-sm blue">\n                                                                        <i class="icon-plus"></i> {{\'APPLICATION_NEW_MESSAGE\' | translate}}\n                                                         </a>\n                                                  </div>\n                                                        <div class="btn-group" data-ng-show="mailRooms.checked.length">\n                                                               <a href="#" class="btn btn-sm red" data-ng-click="deleteItems()">\n                                                                     <i class="icon-trash"></i> {{\'APPLICATION_DELETE\' | translate}}\n                                                             </a>\n                                                  </div>\n                                                        <div class="input-group input-medium pull-right">\n                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                         <span class="input-group-addon">\n                                                                      <i class="fa fa-search"></i>\n                                                          </span>\n                                                       </div>\n                                                </th>\n                                         <!-- <th class="pagination-control" colspan="7"> -->\n                                                  <!-- <span class="pagination-info">\n                                                   1-30 of 789 </span>\n                                                   <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-left"></i>\n                                                      </a>\n                                                  <a class="btn btn-sm blue">\n                                                   <i class="fa fa-angle-right"></i>\n                                                     </a> -->\n                                              <!-- </th> -->\n                                        </tr>\n                         </thead>\n                              <tbody>\n                                       <tr data-messageid="1" data-ng-repeat="mailRoom in displayedMailRooms" class="animate-repeat">\n                                                <td class="inbox-small-cells">\n                                                        <input type="checkbox" checklist-model="mailRooms.checked" checklist-value="mailRoom.id">\n                                             </td>\n                                         <td class="inbox-small-cells" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                 #{{mailRoom.id}}\n                                              </td>\n                                         <td class="view-message hidden-xs" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                             {{mailRoom.subject}}\n                                         </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.from}}\n                                             </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      {{mailRoom.MailAccount.description ? mailRoom.MailAccount.description : mailRoom.MailAccount.name || \'APPLICATION_UNKNOWN\' | translate | uppercase}}\n                                                </td>\n                                         <td class="view-message" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                      <span class="badge badge-success badge-roundless" data-ng-show="mailRoom.User.fullname"> {{mailRoom.User.fullname}} </span>\n                                                   <span class="badge badge-default badge-roundless" data-ng-hide="mailRoom.User.fullname"> UNASSIGNED </span>\n                                           </td>\n                                         <td class="view-message" data-ng-switch="mailRoom.status" data-ng-click="go(\'/mail/inbox/room/\' + mailRoom.id, mailRoom.id, \'OPEN\')">\n                                                     <span class="badge badge-default" data-ng-class="{\n                                                    \'badge-danger\': mailRoom.status == \'NEW\',\n                                                 \'badge-warning\': mailRoom.status == \'OPEN\',\n                                                       \'badge-info\': mailRoom.status == \'PENDING\',\n                                                       \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span>\n                                           </td>\n                                         <td class="view-message inbox-small-cells">\n                                                   <i data-ng-show="mailRoom.attachment" class="fa fa-paperclip"></i>\n                                            </td>\n                                         <td class="view-message pull-right">\n                                                  <time is="relative-time" datetime="{{mailRoom.updatedAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                 </tr>\n                                 <tr data-ng-hide="displayedMailRooms.length">\n                                         <td colspan="9" style="text-align:center;">\n                                                   <i>{{ \'MESSAGE_NO_AVAILABLE_CONVERSATIONS\' | translate }}</i>\n                                               </td>\n                                 </tr>\n                         </tbody>\n                              <tfoot>\n                                       <tr>\n                                          <td colspan="9" class="text-center">\n                                                  <div class="pagination" st-pagination st-items-by-page="conf.mailRoomsByPage.value" st-displayed-pages="7"></div>\n                                             </td>\n                                 </tr>\n                         </tfoot>\n                      </table>\n              </div>\n        </div>\n</div>\n'),a.put("app/mail/inbox/room/room.html",'<!-- BEGIN TODO CONTENT -->\n<div class="todo-content" data-ng-init="initRoomView()">\n       <div class="portlet light">\n           <!-- PROJECT HEAD -->\n         <div class="portlet-title">\n                   <div class="caption" data-ng-show="mailRoom">\n                         <i class="icon-bar-chart font-green-sharp hide"></i>\n                          <span class="badge badge-default" data-ng-class="{\'badge-error\': mailRoom.status == \'NEW\',\n                                \'badge-warning\': mailRoom.status == \'OPEN\',\n                               \'badge-info\': mailRoom.status == \'PENDING\',\n                               \'badge-success\': mailRoom.status == \'CLOSED\'}"> {{mailRoom.status | uppercase}} </span> -\n                         <span class="caption-subject font-green-sharp bold uppercase">{{mailRoom.subject}}</span>\n                     </div>\n                        <div class="actions" data-ng-show="mailRoom">\n                         <div class="btn-group" data-ng-show="Auth.isAdmin()">\n                                 <a class="btn grey-salsa btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_ASSIGN\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li data-ng-repeat="agent in agents">\n                                                 <a href="#" data-ng-click="assignAgent(agent.id)">\n                                                    {{agent.fullname}} <span class="badge badge-default"> {{agent.fullname | uppercase | limitTo : 1}} </span>\n                                                    </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <div class="btn-group">\n                                       <a class="btn green-haze btn-circle btn-sm" href="#" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n                                   {{ \'APPLICATION_SUBMIT\' | translate }} <i class="fa fa-angle-down"></i>\n                                     </a>\n                                  <ul class="dropdown-menu pull-right">\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'PENDING\')">\n                                                        {{ \'STATUS_NEW\' | translate | uppercase }} <span class="badge badge-danger">{{ \'STATUS_NEW\' | translate | uppercase | limitTo : 1 }} </span>\n                                                      </a>\n                                          </li>\n                                         <li>\n                                                  <a href="#" data-ng-click="updateStatus(\'CLOSED\')">\n                                                 {{ \'STATUS_CLOSED\' | translate | uppercase }} <span class="badge badge-success">{{ \'STATUS_CLOSED\' | translate | uppercase | limitTo : 1 }} </span>\n                                                       </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                        </div>\n                </div>\n                <!-- end PROJECT HEAD -->\n             <div class="portlet-body">\n                    <div class="row">\n                             <div data-ng-show="mailRoom" data-ng-class="{\'col-md-7 col-sm-7\': mailRoom}">\n                                       <div class="scroller" id="mailMessages" style="height: 500px; overflow-y: scroll; width: auto;" data-always-visible="1" data-rail-visible1="1" data-initialized="1">\n                                          <ul class="chats">\n                                                    <li data-ng-class="{\'in\': mailMessage.status == \'RECEIVED\', \'out\': mailMessage.status == \'SENT\' || mailMessage.status == \'SENDING\' || mailMessage.status == \'FAILED\'}" data-ng-repeat="mailMessage in mailRoom.MailMessages | orderBy:\'createdAt\'">\n                                                     <img class="avatar" alt="" data-ng-src="api/users/avatar/{{getCurrentUser().userpic && mailMessage.status === \'SENT\' ? getCurrentUser().userpic : \'unknown_avatar\'}}">\n                                                    <div class="message">\n                                                         <span class="arrow">\n                                                          </span>\n                                                               <span class="bold">From: </span>\n                                                              <!-- <span>{{mailMessage.From.fullname}} </span> -->\n                                                          <span>{{mailMessage.from}}</span>\n                                                             <br>\n                                                          <span class="bold">To: </span>\n                                                                <span>{{mailMessage.to}} </span>\n                                                              <br>\n                                                          <span data-ng-show="mailMessage.cc" class="bold">Cc: </span>\n                                                          <span data-ng-show="mailMessage.cc">{{mailMessage.cc}} </span>\n                                                                <br data-ng-show="mailMessage.cc">\n                                                            <span class="todo-tasklist-date">\n                                                                     <i class="fa fa-calendar"></i>\n                                                                        <time is="relative-time" datetime="{{mailMessage.createdAt}}">\n                                                                                April 1, 2014\n                                                                 </time>\n                                                               </span>\n                                                               <!-- <p data-ng-class="{\'text-danger\': mailMessage.status === \'FAILED\'}">{{mailMessage.status}}</p> -->\n                                                           <br><br>\n                                                              <span class="body" data-ng-bind-html="mailMessage.html || mailMessage.text" style="white-space: pre-wrap;">\n                                                           </span>\n                                                               <br>\n                                                          <div data-ng-repeat="mailAttachment in mailMessage.MailAttachments">\n                                                                  <strong>{{mailAttachment.fileName}}</strong>\n                                                                  <span>\n                                                                        {{mailAttachment.length}}B </span>\n                                                                    <a target="_self" download="{{mailAttachment.fileName}}" href="api/mail/attachments/{{mailAttachment.id}}">\n                                                                           {{ \'APPLICATION_DOWNLOAD\' | translate }}\n                                                                    </a>\n                                                          </div>\n                                                        </div>\n                                                </li>\n                                         </ul>\n                                 </div>\n                                </div>\n                                <div data-ng-class="{\'col-md-5 col-sm-5\': mailRoom, \'col-md-12 col-sm-12\': !mailRoom}">\n                                   <form name="forms.compose" data-ng-submit="forms.compose.$valid && sendMail()" class="form-horizontal" novalidate>\n                                            <!-- START HEAD -->\n                                           <div class="form">\n                                                    <div class="form-group">\n                                                              <div class="col-md-12 col-sm-12">\n                                                                     <div class="todo-taskbody-user">\n                                                                              <img class="todo-userpic pull-left" data-ng-src="api/users/avatar/{{getCurrentUser().userpic ? getCurrentUser().userpic : \'unknown_avatar\'}}" width="50px" height="50px">\n                                                                           <span class="todo-username pull-left">{{ getCurrentUser().fullname }}</span>\n                                                                  </div>\n                                                                </div>\n                                                        </div>\n\n                                                      <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.from.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:</label>\n                                                                            </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <!-- <ui-select-match placeholder="From...">{{$select.selected.name}} - {{$select.selected.address}}</ui-select-match> -->\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.from.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.compose.to.$invalid && forms.compose.$submitted}">\n                                                               <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.compose.to.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div data-ng-hide="mailRoom" class="form-group" data-ng-class="{\'has-error\': forms.compose.subject.$invalid && forms.compose.$submitted}">\n                                                          <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Subject:</label>\n                                                                         </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="Subject..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.compose.subject.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.compose.text.$invalid && forms.compose.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.compose.text.$invalid && forms.compose.$submitted" class="help-block help-block-error">\n                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <div class="form-group">\n                                                              <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END ATTACH -->\n\n                                         </div>\n                                        </form>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n<!-- END TODO CONTENT -->\n'),
+a.put("app/mail/queue/list/list.html",'<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-layers"></i>\n                                           <a href="#">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailQueues.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/queues/wizard">\n                                                                <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailQueues([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_queues.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                                <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th>\n                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedMailQueues">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailQueues.checked" checklist-value="queue.id"></td>\n                                         <td>{{queue.name}}</td>\n                                                         <td>{{queue.description}}</td>\n                                                                <td>{{queue.strategy | uppercase}}</td>\n                                                               <td>{{queue.timeout}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name, queue.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailQueues.length">\n                                                                <td colspan="6" class="text-center">\n                                                                  <i>No available queues</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                      <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.queues.view.settings\')}">\n                                                  <a data-ng-href="/mail/queues/view/{{queue.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.mail.queues.view.agents\')}">\n                                                    <a data-ng-href="/mail/queues/view/{{queue.id}}/agents">\n                                                      <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/queue/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateMailQueue()" novalidate>\n                                     <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="queue.name" required/>\n                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                         </span>\n                                       </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"/>\n                                      </div>\n                                        <!-- END DESCRIPTION -->\n\n                                    <!-- START TIMEOUT -->\n                                        <div class="form-group">\n                                              <label class="control-label">Agent Timeout</label>\n                                            <input type="number" name="timeout" placeholder="Timeout" class="form-control" min="1" data-ng-model="queue.timeout"/>\n                                        </div>\n                                        <!-- END TIMEOUT -->\n\n                                        <!-- START HEADER SHAPE -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}</label>\n                                         <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap">\n                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                     <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                          <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                 </ui-select-choices>\n                                          </ui-select>\n                                  </div>\n                                        <!-- END HEADER SHAPE -->\n                                     <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-layers"></i>\n                           <a href="/mail/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.general" data-ng-submit="forms.general.$valid && createItem()" novalidate>\n                                          <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <!-- START TIMEOUT -->\n                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_AGENT_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <input type="number" min="0" name="timeout" placeholder="Timeout" class="form-control" data-ng-model="item.timeout" required/>\n                                                        <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END TIMEOUT -->\n\n                                                <!-- START STRATEGY -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                    <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'rrmemory\',\'beepall\'] | filter: $select.search">\n                                                                  <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END STRATEGY -->\n                                         <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CREATE\' | translate}}"/>\n                                  </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/mail/realtime/view/agent/agent.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n        <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="agentcalledAt" st-sort-default="reverse">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                                <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentringnoanswerAt">{{ \'APPLICATION_UNASWER_AT\' | translate }}</th>\n                                           <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': agent.lastevent === \'called\',\n                                                         \'icon-user-following font-green\': agent.lastevent === \'agent\',\n                                                            \'icon-user-unfollow font-red\': agent.lastevent === \'timeout\',\n                                                             \'icon-user-unfollow font-blue\': agent.lastevent === \'answered_elsewhere\'}"></i>\n                                                   </span>\n                                               </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.mailqueuename}}</td>\n                                              <td>{{agent.fullname}}</td>\n                                           <td>{{agent.subject}}</td>\n                                            <td>{{agent.from}}</td>\n                                               <td>{{agent.accountname}}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectedAt}}" data-ng-show="agent.agentconnectedAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentringnoanswerAt}}" data-ng-show="agent.agentringnoanswerAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/session/session.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initMails()">\n    <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedMails" st-safe-src="sessions" class="table table-striped table-bordered table-hover">\n                       <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="12">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.sessionsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="sessionByPage in sessionsByPage | filter: $select.search">\n                                                                                 <div ng-bind-html="sessionByPage.name | highlight: $select.search"></div>\n                                                                             </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid" reverse class="input-small">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                <th st-sort="queue" class="input-medium">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                 <th st-sort="membername" class="input-medium">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                <th st-sort="subject" class="input-small">{{ \'APPLICATION_SUBJECT\' | translate }}</th>\n                                              <th st-sort="from" class="input-small">{{ \'APPLICATION_FROM\' | translate }}</th>\n                                            <th st-sort="accountname" class="input-small">{{ \'APPLICATION_TO\' | translate }}</th>\n                                               <th st-sort="sessioncalledAt" st-sort-default="reverse">{{ \'APPLICATION_JOIN_AT\' | translate }}</th>\n                                                <th st-sort="sessionconnectAt">{{ \'APPLICATION_LEAVE_AT\' | translate }}</th>\n                                                <th st-sort="sessionringnoanswerAt">{{ \'APPLICATION_UNMANAGED_AT\' | translate }}</th>\n                                 </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="session in displayedMails">\n                                           <td>\n                                                  <span>\n                                                                <i data-ng-class="{\'icon-user font-yellow\': session.mailjoinAt && !session.mailleaveAt,\n                                                             \'icon-user-following font-green\': session.fullname,\n                                                         \'icon-user-unfollow font-red\': session.mailunmanagedAt}"></i>\n                                                       </span>\n                                               </td>\n                                         <td>{{session.uniqueid}}</td>\n                                         <td>{{session.mailqueuename}}</td>\n                                            <td>{{session.fullname}}</td>\n                                         <td>{{session.subject}}</td>\n                                          <td>{{session.from}}</td>\n                                             <td>{{session.accountname}}</td>\n                                              <td>\n                                                  <time is="relative-time" datetime="{{session.mailjoinAt}}">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailleaveAt}}" data-ng-show="session.mailleaveAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{session.mailunmanagedAt}}" data-ng-show="session.mailunmanagedAt">\n                                                               April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedMails.length">\n                                             <td colspan="11" style="text-align:center;">\n                                                  <i>No sessions available</i>\n                                          </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SUBJECT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                     </div>\n                                                </td>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="from" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FROM\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="accountname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_TO\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                   </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="12" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.sessionsByPage.value" st-displayed-pages="7"></div>\n                            </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/mail/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                                                                         <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_SESSIONS\' | translate }}\n                                    <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'sessions\'></tree>\n                           </li>\n                     </ul>\n                         <!-- <ul class="nav navbar-nav">\n                          <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul> -->\n                 </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/mail/statistics/statistics.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="/agent">{{ \'APPLICATION_MAILS\' | translate }}</a>\n                          </li>\n                         <li>\n                                  <a href="#">{{agent.fullname}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/statistics.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{agent.fullname}}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{agent.role}}\n                                        </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.statistics.summary\')}">\n                                                    <a data-ng-href="/mail/statistics/summary">\n                                                   <i class="icon-bar-chart"></i>\n                                                        {{ \'APPLICATION_SUMMARY\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/statistics/statistics.summary.html",'<div class="row">\n   <div class="col-md-12">\n               <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONVERSATIONS\' | translate }}</a> </span>\n                             </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_INBOX\' | translate }} <i class="fa fa-img-up"></i>\n                                                                          </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'INBOX\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_SENT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                         </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'SENT\' }).length }} </span>\n                                                                   </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_OUTGOING\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'NOT SENT\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_DRAFT\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'DRAFT\' }).length }} </span>\n                                                                  </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_TRASH\' | translate }} <i class="fa fa-img-down"></i>\n                                                                                </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ directory:\'TRASH\' }).length }} </span>\n                                                                  </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ directory:\'INBOX\' }).length,\n                                               (mailMessages | filter:{ directory:\'SENT\' }).length,\n                                                (mailMessages | filter:{ directory:\'NOT SENT\' }).length,\n                                            (mailMessages | filter:{ directory:\'DRAFT\' }).length,\n                                               (mailMessages | filter:{ directory:\'TRASH\' }).length]" labels="[\n                                            $translate.instant(\'APPLICATION_INBOX\'),\n                                            $translate.instant(\'APPLICATION_SENT\'),\n                                             $translate.instant(\'APPLICATION_OUTGOING\'),\n                                         $translate.instant(\'APPLICATION_DRAFT\'),\n                                            $translate.instant(\'APPLICATION_TRASH\')]" legend="true"></canvas>\n                                   </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n\n         <!-- BEGIN PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-pencil font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_OTHER_INFO\' | translate }}</a> </span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="row">\n                                     <div class="col-md-6">\n                                                <div class="portlet sale-summary">\n                                                    <div class="portlet-body">\n                                                            <ul class="list-unstyled">\n                                                                    <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_READ\' | translate }} <i class="fa fa-img-up"></i>\n                                                                           </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'true\' }).length }} </span>\n                                                                        </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_UNREAD\' | translate }} <i class="fa fa-img-down"></i>\n                                                                               </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ read:\'false\' }).length }} </span>\n                                                                       </li>\n                                                                 <li>\n                                                                          <span class="sale-info">\n                                                                              {{ \'APPLICATION_FAVORITE\' | translate }} <i class="fa fa-img-down"></i>\n                                                                             </span>\n                                                                               <span class="sale-num">\n                                                                               {{ (mailMessages | filter:{ favorite:\'true\' }).length }} </span>\n                                                                    </li>\n                                                         </ul>\n                                                 </div>\n                                                </div>\n                                        </div>\n                                        <div class="col-md-6">\n                                                <canvas class="chart chart-pie" data="[\n                                               (mailMessages | filter:{ read:\'true\' }).length,\n                                             (mailMessages | filter:{ read:\'false\' }).length]" labels="[\n                                         $translate.instant(\'APPLICATION_READ\'),\n                                             $translate.instant(\'APPLICATION_UNREAD\')]" legend="true"></canvas>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n'),a.put("app/mail/template/list/list.html",'<div class="row">\n        <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="/square/projects">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                         <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-docs"></i>\n                                             <a href="#">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mailTemplates.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEMPLATE\' | translate }} <i class="fa fa-angle-down"></i>\n                                             </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/mail/templates/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMailTemplates([\'name\', \'description\', \'timeout\', \'strategy\'])" csv-header="[\'Name\', \'Description\', \'Timeout\', \'Strategy\']" field-separator=";" filename="mail_templates.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMailTemplates" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.templatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueByPage in templatesByPage | filter: $select.search">\n                                                                                                  <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(template, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <!-- <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                           <th st-sort="timeout">{{ \'APPLICATION_AGENT_TIMEOUT\' | translate }}</th> -->\n                                                    <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="template in displayedMailTemplates">\n                                                          <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mailTemplates.checked" checklist-value="template.id"></td>\n                                           <td>{{template.name}}</td>\n                                                              <td>{{template.description}}</td>\n                                                             <!-- <td>{{template.strategy | uppercase}}</td>\n                                                               <td>{{template.timeout}}</td> -->\n                                           <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/mail/templates/view/{{template.id}}/settings">\n                                                                               {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(template.name, template.id)">\n                                                                              {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMailTemplates.length">\n                                                             <td colspan="6" class="text-center">\n                                                                  <i>No available templates</i>\n                                                         </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <!-- <td>\n                                                                     <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td/> -->\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="67" class="text-center">\n                                           <div st-pagination class="pagination" st-items-by-page="conf.templatesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/template/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="teams.length">\n                                   <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                                     </p>\n                          </div>\n                                <div  style="width: 50%; margin: 0 auto;">\n                                    <div class="col-md-9" id="multi-select-team" data-ng-show="teams.length"></div>\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/template/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initItem()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope"></i>\n                                 <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                        <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                                        <i data-ng-show="item" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="item">\n                                      <a href="#">{{item.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n\n                       <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/template.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{item.name}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.mail.templates.view.settings\')}">\n                                                       <a data-ng-href="/mail/templates/view/{{item.id}}/settings">\n                                                  <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/mail/template/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <form name="forms.template" data-ng-submit="forms.template.$valid && updateItem()" class="form-horizontal" novalidate>\n                                        <!-- START NAME -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.name.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." rows="8" data-ng-model="item.name">\n                                                                  <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START DESCRIPTION -->\n                                    <div class="form-group" data-ng-class="{\'has-error\': forms.template.description.$invalid && forms.template.$submitted}">\n                                            <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="item.description">\n                                                                    <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END NAME -->\n\n                                   <!-- START FROM -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.from.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">From:<span class="required" aria-required="true">*</span></label>\n                                                                </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select data-ng-model="item.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                            </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="forms.template.from.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                               </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END FROM -->\n\n                                   <!-- FAX TO -->\n                                       <div class="form-group" data-ng-class="{\'has-error\': forms.template.to.$invalid && forms.template.$submitted}">\n                                             <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">To:<span class="required" aria-required="true">*</span></label>\n                                                          </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="item.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                              <ui-select-choices repeat="to in item.to | filter:$select.search">\n                                                                                    {{to}}\n                                                                                </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="forms.template.to.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                               </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END TO -->\n\n                                     <!-- START CC -->\n                                     <div class="form-group">\n                                              <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">Cc:</label>\n                                                              </div>\n                                                                <div class="col-md-11">\n                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="item.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                              <ui-select-choices repeat="cc in item.cc">\n                                                                                    {{cc}}\n                                                                                </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CC -->\n\n                                     <!-- START SUBJECT -->\n                                        <div class="form-group" data-ng-class="{\'has-error\': forms.template.subject.$invalid && forms.template.$submitted}">\n                                                <div class="col-md-12">\n                                                       <div class="row">\n                                                             <div class="col-md-1">\n                                                                        <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                             </div>\n                                                                <div class="col-md-11">\n                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="item.subject">\n                                                                 <span data-ng-show="forms.template.subject.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                        </div>\n                                                </div>\n                                        </div>\n                                        <!-- END SUJBECT -->\n\n                                        <!-- START HTML -->\n                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.text.$invalid && forms.template.$submitted}">\n                                           <div class="col-md-12">\n                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="item.html" name="html"></div>\n                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                               <span data-ng-show="forms.template.text.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                               </div>\n                                        </div>\n                                        <!-- END HTML -->\n\n                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                          </form>\n                       </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/mail/template/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope"></i>\n                         <a href="#">{{ \'APPLICATION_MAILS\' | translate }}</a>\n        <i class="fa fa-angle-right"></i>\n                    </li>\n      <li>\n                             <i class="icon-docs"></i>\n                             <a href="/mail/templates/list">{{ \'APPLICATION_TEMPLATES\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_TEMPLATES\' | translate }} WIZARD</a> </span>\n                  </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                     <form name="forms.template" data-ng-submit="forms.template.$valid && saveTemplate()" class="form-horizontal" novalidate>\n                                              <!-- START HEAD -->\n                                           <div class="form">\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.name.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_NAME\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                                </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_NAME\' | translate}}..." rows="8" data-ng-model="form.name">\n                                                                                  <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': forms.template.description.$invalid && forms.template.$submitted}">\n                                                            <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}:</label>\n                                                                             </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="name" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}..." rows="8" data-ng-model="form.description">\n                                                                                    <span data-ng-show="forms.template.name.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START FROM -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.from.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">From:<span class="required" aria-required="true">*</span></label>\n                                                                                </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select data-ng-model="form.from" theme="bootstrap" name="from" required ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="From...">{{$select.selected.name}}</ui-select-match>\n                                                                                            <!-- <ui-select-match placeholder="From...">{{$select.selected.name}} - {{$select.selected.address}}</ui-select-match> -->\n                                                                                            <ui-select-choices repeat="{address: mailAccount.MailServerOut.username, name: mailAccount.name, id: mailAccount.id} as mailAccount in mailAccounts | filter: $select.search">\n                                                                                                        <div data-ng-bind-html="mailAccount.name | highlight: $select.search"></div>\n                                                                                                  <small data-ng-bind-html="mailAccount.MailServerOut.username | highlight: $select.search"></small>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.template.from.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END FROM -->\n\n                                                   <!-- FAX TO -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.template.to.$invalid && forms.template.$submitted}">\n                                                             <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">To:<span class="required" aria-required="true">*</span></label>\n                                                                          </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple required data-ng-model="form.sto" theme="bootstrap" name="to" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="To...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="to in form.to | filter:$select.search">\n                                                                                                    {{to}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="forms.template.to.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                               </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END TO -->\n\n                                                     <!-- START CC -->\n                                                     <div class="form-group">\n                                                              <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">Cc:</label>\n                                                                              </div>\n                                                                                <div class="col-md-11">\n                                                                                       <ui-select tagging tagging-label="" multiple data-ng-model="form.scc" theme="bootstrap" name="cc" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="Cc...">{{$item}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="cc in form.cc">\n                                                                                                    {{cc}}\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END CC -->\n\n                                                     <!-- START SUBJECT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.template.subject.$invalid && forms.template.$submitted}">\n                                                                <div class="col-md-12">\n                                                                       <div class="row">\n                                                                             <div class="col-md-1">\n                                                                                        <label class="control-label">{{\'APPLICATION_SUBJECT\' | translate}}:<span class="required" aria-required="true">*</span></label>\n                                                                             </div>\n                                                                                <div class="col-md-11">\n                                                                                       <input type="text" name="subject" class="form-control todo-taskbody-taskdesc" placeholder="{{\'APPLICATION_SUBJECT\' | translate}}..." rows="8" data-ng-model="form.subject">\n                                                                                 <span data-ng-show="forms.template.subject.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                        </div>\n                                                                </div>\n                                                        </div>\n                                                        <!-- END SUJBECT -->\n\n                                                        <!-- START HTML -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.template.text.$invalid && forms.template.$submitted}">\n                                                           <div class="col-md-12">\n                                                                       <div class="inbox-editor inbox-wysihtml5" text-angular data-ng-model="form.html" name="html"></div>\n                                                                   <!-- <textarea class="form-control todo-taskbody-taskdesc" rows="8" data-ng-model="form.text" name="text" style="resize: none;"></textarea> -->\n                                                                               <span data-ng-show="forms.template.text.$invalid && forms.template.$submitted" class="help-block help-block-error">\n                                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                               </div>\n                                                        </div>\n                                                        <!-- END HTML -->\n\n                                                   <!-- START ATTACH -->\n                                                 <!-- <div class="form-group">\n                                                         <div class="col-md-6">\n                                                                        <input type="file" nv-file-select uploader="uploader" name="file">\n                                                                    <table class="table" border="0">\n                                                                              <tbody>\n                                                                               <tr data-ng-repeat="item in uploader.queue">\n                                                                                          <td style="border-top-style:none">\n                                                                                                    <strong>\n                                                                                                              {{ item.file.name }}\n                                                                                                  </strong>\n                                                                                             </td>\n                                                                                         <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                                     {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                            </td>\n                                                                                         <td nowrap style="border-top-style:none">\n                                                                                                     <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                                    <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                        </button>\n                                                                                             </td>\n                                                                                 </tr>\n                                                                         </tbody>\n                                                                      </table>\n                                                              </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="form-actions right todo-form-actions">\n                                                                            <button class="btn btn-circle btn-sm green-haze">{{ \'APPLICATION_SEND\' | translate }}</button>\n                                                                              <input type="button" name="cancel" value="{{ \'APPLICATION_CANCEL\' | translate }}" class="btn btn-circle btn-sm btn-default" data-ng-click="cancel()">\n                                                                       </div>\n                                                                </div>\n                                                        </div> -->\n                                                    <!-- END ATTACH -->\n                                           </div>\n                                                <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                    </form>\n                         </wz-step>\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{ \'APPLICATION_CONFIRM\' | translate }}"/>\n                               </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
+a.put("app/mail/timeline/list/list.html",'<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-envelope"></i>\n                                         <a href="#">{{ \'APPLICATION_MAIL\' | translate }}</a>\n                                                <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-list"></i>\n                                             <a href="/mail/timeline/list"> Timeline</a>\n                                   </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initList()">\n     <div class="col-md-12">\n    <h3 class="page-title">\n                          Timeline\n                      </h3>\n                 <!-- END PAGE HEADER-->\n                       <!-- BEGIN PAGE CONTENT-->\n                    <div class="timeline">\n                                <!-- TIMELINE ITEM -->\n                                <div class="timeline-item" data-ng-repeat="event in events | orderBy:\'-id\'">\n                                        <div class="timeline-badge">\n                                          <div class="timeline-icon">\n                                                   <i class="icon-envelope font-green-haze"></i>\n                                         </div>\n                                        </div>\n                                        <div class="timeline-body">\n                                           <div class="timeline-body-arrow"></div>\n                                               <div class="timeline-body-head">\n                                                      <div class="timeline-body-head-caption">\n                                                              <span class="timeline-body-alerttitle" data-ng-class="{\'font-red\': event.name == \'INCOMING\', \'font-blue\': event.name == \'ATTEMPT\', \'font-green\': event.name == \'TAKEN\'}">{{event.name | uppercase}}</span>\n                                                                <span class="timeline-body-time font-grey-cascade">at {{event.createdAt | date:\'yyyy-MM-dd HH:mm:ss\'}}</span>\n                                                       </div>\n                                                        <div class="timeline-body-head-actions">\n                                                              <div class="btn-group">\n                                                                       <a class="btn btn-circle btn-sm dropdown-toggle btn-success" href="/mail/inbox/room/{{event.MailRoomId}}">Go To Mail</a>\n                                                              </div>\n                                                        </div>\n                                                </div>\n                                                <div class="timeline-body-content">\n                                                   <span class="font-grey-cascade" data-ng-show="event.User">\n                                                    {{event.MailRoom.subject ? event.MailRoom.subject + \' - \' : \'\'}}<a href="/agents/view/{{event.UserId}}/account">{{event.User.fullname}}</a>\n                                                       </span>\n                                               </div>\n                                        </div>\n                                </div>\n                                <!-- END TIMELINE ITEM -->\n                    </div>\n                        <!-- END PAGE CONTENT-->\n      </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/main/main.html",'<!-- BEGIN HEADER -->\n<div data-ng-include="\'components/header/header.html\'" data-ng-controller="HeaderController" class="page-header navbar navbar-fixed-top">\n</div>\n<!-- END HEADER -->\n\n<div class="clearfix">\n</div>\n<!-- BEGIN CONTAINER -->\n<div class="page-container" data-ng-init="initMain()">\n\n  <!-- BEGIN SIDEBAR -->\n  <div data-ng-include="\'components/sidebar/sidebar.html\'" data-ng-controller="SidebarController" class="page-sidebar-wrapper">\n  </div>\n  <!-- END SIDEBAR -->\n\n  <!-- BEGIN CONTENT -->\n  <div class="page-content-wrapper">\n    <div class="page-content">\n\n      <!-- BEGIN PAGE CONTENT -->\n      <!-- <toaster-container></toaster-container> -->\n      <uib-tabset>\n        <uib-tab select="addWorkspace()" active="mainTab.active">\n          <uib-tab-heading>\n            Motion <i class="icon-plus-sign"></i>\n          </uib-tab-heading>\n          <div ui-view class=""></div>\n        </uib-tab>\n        <uib-tab data-ng-repeat="workspace in workspaces" heading="{{workspace.name}}" active="workspace.active" data-ng-switch="workspace.type">\n          <div class="">\n\n          </div>\n        </uib-tab>\n        <uib-tab select="addWorkspace()">\n          <uib-tab-heading>\n            <i class="icon-plus"></i>\n          </uib-tab-heading>\n        </uib-tab>\n      </uib-tabset>\n      <!-- END PAGE CONTENT  -->\n\n    </div>\n  </div>\n  <!-- END CONTENT -->\n\n  <!-- BEGIN QUICK SIDEBAR -->\n  <a href="javascript:;" class="page-quick-sidebar-toggler"><i class="icon-close"></i></a>\n  <div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper">\n  </div>\n  <!-- END QUICK SIDEBAR -->\n\n</div>\n<!-- END CONTAINER -->\n\n<!-- BEGIN FOOTER -->\n<div data-ng-include="\'components/footer/footer.html\'" data-ng-controller="FooterController" class="page-footer">\n</div>\n<!-- END FOOTER -->\n\n<!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->\n<!-- BEGIN CORE PLUGINS -->\n<!--[if lt IE 9]>\n<script src="../../assets/global/plugins/respond.min.js"></script>\n<script src="../../assets/global/plugins/excanvas.min.js"></script>\n<![endif]-->\n\n<!-- END JAVASCRIPTS -->\n'),a.put("app/main/template.queryBuilderView.html",'\n             <div class="alert alert-warning alert-group">\n                         <div class="row">\n                                             <ui-select data-ng-model="group.boolean" theme="bootstrap" class="col-md-2" data-ng-if="group.type == \'CONDITION\'">\n                                                 <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                       <ui-select-choices repeat="bool.name as bool in booleans| filter: $select.search">\n                                                            <div ng-bind-html="bool.name | highlight: $select.search"></div>\n                                                      </ui-select-choices>\n                                          </ui-select>\n                                          <button ng-click="addCondition(group.type)" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_\'+group.type | translate}}</button>\n                                               <button ng-click="addGroup(group.type)" data-ng-if="group.type == \'CONDITION\' && group.main" class="btn btn-success col-md-2 left-margin" ><span class="glyphicon glyphicon-plus-sign" ></span> {{\'APPLICATION_ADD_GROUP\' | translate}}</button>\n                                          <button ng-click="removeGroup()" data-ng-if="group.type == \'CONDITION\' && !group.main" class="btn btn-danger col-md-2 left-margin" ><span class="glyphicon glyphicon-minus-sign"></span> {{\'APPLICATION_REMOVE_GROUP\' | translate}}</button>\n                              </div>\n                                <div class="group-conditions">\n                                        <!-- <pre>\n                                            {{group | json}}\n                                      </pre> -->\n                                            <div ng-repeat="rule in group.rules | orderBy:\'index\'" class="condition">\n                                                           <div ng-switch="rule.hasOwnProperty(\'group\')">\n                                                                              <div ng-switch-when="true">\n                                                                                           <query-builder group="rule.group" fields="fields" operators="operators" properties="properties"></query-builder>\n                                                                              </div>\n                                                                                <div ng-switch-default="ng-switch-default">\n                                                                                           <div class="row">\n                                                                                                                     <ui-select data-ng-model="rule.field" theme="bootstrap" class="col-md-2">\n                                                                                                                             <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="field in fields | filter: $select.search">\n                                                                                                                                 <div ng-bind-html="field.name | translate | highlight: $select.search"></div>\n                                                                                                                         </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <ui-select data-ng-model="rule.operator" theme="bootstrap" class="col-md-2 left-margin" data-ng-if="group.type == \'CONDITION\' && rule.field">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="operator.value as operator in operators[rule.field.operators]| filter: $select.search">\n                                                                                                                                    <div ng-bind-html="operator.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'input\'">\n                                                                                                                          <input type="text" ng-model="rule.data" class="form-control"/>\n                                                                                                                        </div>\n                                                                                                                        <div class="col-md-2 left-margin" ng-if="rule.field && rule.field.propertyField==\'number\'">\n                                                                                                                         <input type="number" ng-model="rule.data" class="form-control"/>\n                                                                                                                      </div>\n                                                                                                                        <ui-select ng-if="rule.field && rule.field.propertyField==\'select\'" data-ng-model="rule.data" class="col-md-2 left-margin" theme="bootstrap">\n                                                                                                                               <ui-select-match placeholder="">{{$select.selected.name | translate}}</ui-select-match>\n                                                                                                                               <ui-select-choices repeat="property.value as property in properties[rule.field.value]| filter: $select.search">\n                                                                                                                                       <div ng-bind-html="property.name | translate | highlight: $select.search"></div>\n                                                                                                                              </ui-select-choices>\n                                                                                                                  </ui-select>\n                                                                                                                  <button ng-click="removeCondition($index)" class="btn btn-danger remove-condition col-md-1 left-margin"><span class="glyphicon glyphicon-minus-sign"></span></button>\n                                                                                         </div>\n                                                                                </div>\n                                                                </div>\n                                                </div>\n                                </div>\n                </div>\n'),a.put("app/market/market.html",'<div class="row" data-ng-init="getProject()">\n      <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/market">Market Place</a>\n          </li>\n        </ul>\n                    </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n    <!-- Our Integration -->\n    <div class="headline">\n      <h3>Our Integrations</h3>\n    </div>\n    <div class="row thumbnails">\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> Zendesk <small> Xenialab s.r.l</small></h3>\n          <img src="https://d3kjp0zrek7zit.cloudfront.net/uploads/product/image/574/large_detail_1406764757.png" alt="Zendesk" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               Allows your customer care to manage professional Asterisk call center solutions...\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                      Install 1.0.0 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> SalesForce <small> Xenialab s.r.l</small></h3>\n          <img src="http://501partners.com/wp-content/uploads/SF-300x300.png" alt="Salesforce" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               xCALLY provides a new seamless CTI integration with Salesforce, CRM leader solution....\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                      Install 1.0.1 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class="col-md-3">\n        <div class="our-integrations">\n          <h3> Desk.com <small> Xenialab s.r.l</small></h3>\n          <img src="http://a470.phobos.apple.com/us/r1000/088/Purple/v4/d5/5a/f3/d55af305-cbb5-fc52-dd09-5b69f979b551/mzl.fiyydcmj.png" alt="desk.com" class="img-responsive"/>\n          <div class="integration-info">\n            <p>\n               The new xCALLY – Desk Integration ensures a proper Case will be displayed on the....\n            </p>\n            <div class="pull-right">\n                <a href="#" class="btn btn-xs green-meadow">\n                                                                 Install 1.1.4 <i class="fa fa-download"></i>\n                </a>\n                <a href="#" class="btn btn-xs grey-cascade">\n                                                                      More <i class="fa fa-link"></i>\n                </a>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <!--/thumbnails-->\n    <!-- //End Meer Our Team -->\n  </div>\n</div>\n'),a.put("app/motionbar/motionbar.chat.html",'<div data-ng-include="\'components/quickSidebar/quickSidebar.html\'" data-ng-controller="QuickSidebarController" class="page-quick-sidebar-wrapper" style="margin-top: -92px;"></div>\n'),a.put("app/sound/list/list.html",'<div class="page-bar">\n  <ul class="page-breadcrumb">\n    <li>\n      <i class="icon-rocket"></i>\n      <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n      <i class="fa fa-angle-right"></i>\n    </li>\n    <li>\n      <i class="icon-music-tone-alt"></i>\n      <a href="#">{{ \'APPLICATION_SOUNDS\' | translate }}</a>\n    </li>\n  </ul>\n  <div class="page-toolbar">\n  </div>\n</div>\n<!-- END PAGE HEADER-->\n<!-- BEGIN PAGE CONTENT-->\n<!-- Audio Portlets -->\n<div class="headline">\n  <h3><i class="icon-music-tone-alt sounds-title-icon"></i> {{ \'APPLICATION_SOUNDS\' | translate }}</h3>\n</div>\n<div class="portlet light bg-inverse">\n  <div class="portlet-title collapsible" ng-click="isCollapsed = !isCollapsed">\n    <div class="caption">\n      <i class="icon-puzzle font-red-flamingo"></i>\n      <span class="caption-subject bold font-red-flamingo uppercase">\n      {{\'APPLICATION_FILE_UPLOAD\' | translate}} </span>\n    </div>\n    <div class="tools">\n      <a href="" ng-class="{\'collapse\': !isCollapsed, \'expand\' : isCollapsed}">\n      </a>\n      <a href="" class="fullscreen">\n      </a>\n    </div>\n  </div>\n  <div class="portlet-body" ng-slide-down="!isCollapsed">\n    <div class="row" nv-file-drop="" uploader="uploader" filters="queueLimit, customFilter">\n           <div class="col-md-4">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_SELECT_FILES\' | translate}}</span>\n                                      <span class="caption-helper hide"></span>\n                             </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div ng-show="uploader.isHTML5">\n                                      <div class="file-drop-zone margin-bottom-20" nv-file-over="" uploader="uploader" over-class="file-drop-zone-over">\n                                                    Base drop zone\n                                        </div>\n                                </div>\n                                <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_FILE_UPLOAD\' | translate}}</span>\n                                    <input type="file" nv-file-select="" uploader="uploader" />\n                                   </span>\n                               <span class="btn default btn-file">\n                                   <span class="fileinput-new">\n                                  {{\'APPLICATION_MULTI_FILE_UPLOAD\' | translate}}</span>\n                              <input type="file" nv-file-select="" uploader="uploader" multiple  /><br/>\n          </span>\n          <p>\n            </br>\n            {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>wav, mp3, gsm, ogg</b>.\n          </p>\n          <p>\n            {{ \'MESSAGE_MAXIMUM_SOUND_UPLOAD_SIZE\' | translate }} <b>15 Mb</b>.\n          </p>\n                     </div>\n                </div>\n        </div>\n        <div class="col-md-8">\n                <div class="portlet light bordered">\n                          <div class="portlet-title">\n                                   <div class="caption font-green-sharp">\n                                        <i class="icon-settings font-green-sharp"></i>\n                                        <span class="caption-subject bold uppercase">{{\'APPLICATION_UPLOAD_QUEUE\' | translate}}</span>\n                                      <span class="caption-helper">{{\'APPLICATION_QUEUE_LENGTH\' | translate}}: {{ uploader.queue.length }}</span>\n                                 </div>\n                                <div class="actions">\n                                 </div>\n                        </div>\n                        <div class="portlet-body">\n                                    <div class="table-scrollable table-scrollable-borderless">\n                                            <table class="table table-hover table-light">\n                                                 <thead>\n                                                       <tr class="uppercase">\n                                                                <th width="50%">{{\'APPLICATION_NAME\' | translate}}</th>\n                                                             <th ng-show="uploader.isHTML5">{{\'APPLICATION_SIZE\' | translate}}</th>\n                                                              <th ng-show="uploader.isHTML5">{{\'APPLICATION_PROGRESS\' | translate}}</th>\n                                                                  <th>{{\'APPLICATION_STATUS\' | translate}}</th>\n                                                               <th>{{\'APPLICATION_MESSAGE\' | translate}}</th>\n                                                              <th>{{\'APPLICATION_ACTIONS\' | translate}}</th>\n                                                      </tr>\n                                                 </thead>\n                                              <tbody>\n                                                       <tr ng-repeat="item in uploader.queue">\n                                                               <td><strong>{{ item.file.name }}</strong></td>\n                                                                <td ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td>\n                                                                 <td ng-show="uploader.isHTML5">\n                                                                       <div class="progress progress-sm" style="margin-bottom: 0;">\n                                                                                  <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': item.progress + \'%\' }"></div>\n                                                                         </div>\n                                                                </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.isSuccess" class="text-success"><i class="glyphicon glyphicon-ok"></i></span>\n                                                                     <span ng-show="item.isCancel" class="text-info"><i class="glyphicon glyphicon-ban-circle"></i></span>\n                                                                         <span ng-show="item.isError" class="text-danger"><i class="glyphicon glyphicon-remove"></i></span>\n                                                                            <span ng-show="item.isUploading" class="text-info"><i class="glyphicon glyphicon-upload"></i></span>\n                                                                  </td>\n                                                                 <td class="text-center">\n                                                                      <span ng-show="item.responseMessage" class="text-danger">{{item.responseMessage}}</span>\n                                                              </td>\n                                                                 <td nowrap>\n                                                                           <button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" ng-disabled="item.isReady || item.isUploading || item.isSuccess">\n                                                                       <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD\' | translate}}\n                                                                       </button>\n                                                                     <button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" ng-disabled="!item.isUploading">\n                                                                        <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL\' | translate}}\n                                                                           </button>\n                                                                     <button type="button" class="btn btn-danger btn-xs" ng-click="item.remove()">\n                                                                         <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE\' | translate}}\n                                                                        </button>\n                                                             </td>\n                                                         </tr>\n                                                 </tbody>\n                                      </table>\n                              </div>\n                                <div>\n                                         <p>{{\'APPLICATION_UPLOAD_QUEUE_PROGRESS\' | translate}}:</p>\n                                         <div class="progress progress-sm" style="">\n                                                   <div class="progress-bar progress-bar-info" role="progressbar" ng-style="{ \'width\': uploader.progress + \'%\' }"></div>\n                                     </div>\n                                </div>\n                                <button type="button" class="btn btn-success btn-s" ng-click="uploader.uploadAll()" ng-disabled="!uploader.getNotUploadedItems().length">\n                             <span class="glyphicon glyphicon-upload"></span> {{\'APPLICATION_UPLOAD_ALL\' | translate}}\n                                   </button>\n                             <button type="button" class="btn btn-warning btn-s" ng-click="uploader.cancelAll()" ng-disabled="!uploader.isUploading">\n                              <span class="glyphicon glyphicon-ban-circle"></span> {{\'APPLICATION_CANCEL_ALL\' | translate}}\n                               </button>\n                             <button type="button" class="btn btn-danger btn-s" ng-click="uploader.clearQueue()" ng-disabled="!uploader.queue.length">\n                             <span class="glyphicon glyphicon-trash"></span> {{\'APPLICATION_REMOVE_ALL\' | translate}}\n                                    </button>\n                     </div>\n                </div>\n        </div>\n    </div>\n  </div>\n</div>\n<div class="row thumbnails" data-ng-init="initList()">\n  <div class="row" ng-show="sounds.length == 0">\n    <div class="col-md-12 page-404">\n      <div class="details">\n        <h3>{{ \'MESSAGE_NO_SOUNDS\' | translate }}</h3>\n        <p>\n          <a href="/">\n          {{ \'MESSAGE_RETURN_HOME\' | translate }} </a>\n          {{ \'MESSAGE_OR_UPLOAD_SOUND_FILE\' | translate }}\n        </p>\n      </div>\n    </div>\n  </div>\n  <div class="audio-portlet-wrapper animate-repeat" ng-repeat="sound in sounds">\n    <div class="audio-portlet">\n      <div class="audio-portlet-title"><a href="#" editable-text="sound.display_name" onbeforesave="updateAudio(sound.id,{display_name : $data})">{{ sound.display_name || "Empty" }}</a></div>\n      <img src="../assets/images/note_placeholder.png" alt="" class="img-responsive"/>\n      <div class="file-info">\n        <div class="audio-tag-wrapper">\n          <audio controls ng-src="{{getSecureSrc(audioSources[sound.id])}}" preload="none">\n            {{ \'MESSAGE_AUDIO_NOT_SUPPORTED\' | translate }}\n          </audio>\n        </div>\n        <p id="description_div">\n          <a href="#" editable-text="sound.description" onbeforesave="updateAudio(sound.id,{description : $data})">{{ sound.description || "Empty" }}</a>\n        </p>\n        <p class="float-right">\n            <button class="btn btn-xs green-meadow" tooltip-html-unsafe="<ul class=\'list-unstyled\'><li><b>Format : </b>{{sound.original_format}}</li><li><b>Duration : </b>{{sound.original_duration | date: \'mm:ss\'}}</li><li><b>Channels : </b>{{sound.original_channelCount}}</li><li><b>Bitrate : </b>{{sound.original_bitRate/1024}} kbs</li><li><b>Sample Rate : </b>{{sound.original_sampleRate/1000}} KHz</li></ul>"><i class="icon-list"></i></button>\n            <a class="btn btn-xs blue-hoki" href="{{getSecureDownloadSrc(audioSources[sound.id])}}" download="{{sound.name+\'.\'+sound.original_format}}" target="_self" tooltip="Download"><i class="icon-cloud-download"></i></a>\n            <button class="btn btn-xs red-sunglo" ng-click="delete(sound.display_name, sound.id)" tooltip="Delete"><i class="icon-close" ></i></button>\n        </p>\n      </div>\n    </div>\n  </div>\n</div>\n<!-- End Audio Portlets -->\n'),a.put("app/sound/sound.html","<!-- BEGIN PAGE CONTENT-->\n<div ui-view></div>\n<!-- END PAGE CONTENT-->\n"),a.put("app/square/odbc/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_ODBCS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Odbcs.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ODBC\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/odbcs/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getOdbcs([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_odbcs.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedOdbcs" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.odbcsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="odbcByPage in odbcsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="odbcByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(odbc, checked)" checklist-model checklist-value="id"></th>\n                                             <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="odbc in displayedOdbcs" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="odbc.defaultEntry" type="checkbox" checklist-model="Odbcs.checked" checklist-value="odbc.id"></td>\n                                                                <td>{{odbc.name}}</td>\n                                              <td>{{odbc.description}}</td>\n                                         <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/odbcs/view/{{odbc.id}}/settings" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(odbc.name,odbc.id)" data-ng-class="{\'disabled\': odbc.defaultEntry}">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedOdbcs.length">\n                                                             <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_ODBCS_AVAILABLE\' | translate }}</i>\n                                                               </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.odbcsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getOdbc()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                                      <i data-ng-show="odbc" class="fa fa-angle-right"></i>\n                         </li>\n                         <li data-ng-show="odbc">\n                                      <a href="#">{{odbc.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/odbc.png" class="img-responsive">\n                               </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{odbc.name}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.square.odbcs.view.settings\')}">\n                                                 <a data-ng-href="/square/odbcs/view/{{odbc.id}}/settings">\n                                                    <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/odbc/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_ODBC\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateOdbc()" novalidate>\n\n                                                        <!-- START NAME -->\n                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="odbc.name" required/>\n                                                           <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                       </span>\n                                     </div>\n                                <!-- END NAME -->\n\n                                                     <!-- START DSN -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="odbc.dsn" required/>\n                                                              <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DSN -->\n\n                                                    <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="odbc.description"></textarea>\n                                                  </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/square/odbc/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/odbcs/list">{{ \'APPLICATION_ODBCS\' | translate }}</a>\n                              <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/odbcs/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                   </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_ODBC\' | translate }} WIZARD</a> </span>\n               </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.odbc.$valid)">\n                            <form name="forms.odbc" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.odbc.name.$touched || forms.odbc.$submitted) && forms.odbc.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DSN -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$invalid}">\n                         <label class="control-label">{{\'APPLICATION_DSN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                          <input type="text" name="dsn" placeholder="{{\'APPLICATION_DSN\' | translate}}" class="form-control" data-ng-model="item.dsn" required/>\n                                                      <span data-ng-show="(forms.odbc.dsn.$touched || forms.odbc.$submitted) && forms.odbc.dsn.$error.required" class="help-block help-block-error">\n                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END DSN -->\n\n                                              <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/square/project/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n        <li>\n          <i class="fa fa-slack"></i>\n          <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n        </li>\n                   </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_PROJECTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Projects.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_PROJECT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/square/projects/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getProjects([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="square_projects.csv">\n                                      <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedProjects" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.projectsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="projectByPage in projectsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="projectByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="project in displayedProjects" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="project.defaultEntry" type="checkbox" checklist-model="Projects.checked" checklist-value="project.id"></td>\n                                                               <td>{{project.name}}</td>\n                                           <td>{{project.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/square/projects/view/{{project.id}}" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(project.name,project.id)" data-ng-class="{\'disabled\': project.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedProjects.length">\n                                                          <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_PROJECTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.projectsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/square/project/view/view.html",'<div class="row" data-ng-init="getProject()">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-superscript"></i>\n                                             <a href="/square/projects">{{ \'APPLICATION_CALLYSQUARE\' | translate }}</a>\n                                          <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="fa fa-slack"></i>\n                                           <a href="/square/projects">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                      </li>\n          <li>\n                                         <a ng-href="/square/projects/view/{{squareProject.id}}">{{squareProject.name}}</a>\n          </li>\n                           </ul>\n                 </div>\n                </div>\n</div>\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n              <div id="geEditor" class="geEditor"></div>\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n<script>\n\n\n</script>\n'),a.put("app/square/project/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n       <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/square/projects/list">{{ \'APPLICATION_PROJECTS\' | translate }}</a>\n                                <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/square/projects/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_PROJECT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.project.$valid)">\n                         <form name="forms.project" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$invalid}">\n                              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.project.name.$touched || forms.project.$submitted) && forms.project.name.$error.required" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/tag/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_TAG\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.tag" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.tag.name.$touched || forms.tag.$submitted) && forms.tag.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.tag.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/tag/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TAGS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Tags.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TAG\' | translate }}\n                                           </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTags([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="tags.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTags" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.tagsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="tagByPage in tagsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="tagByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(tag, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="tag in displayedTags" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input data-ng-hide="tag.defaultEntry" type="checkbox" checklist-model="Tags.checked" checklist-value="tag.id"></td>\n                                                           <td>{{tag.name}}</td>\n                                       <td>{{tag.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/tags/view/{{tag.id}}/settings" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                             {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(tag.name,tag.id)" data-ng-class="{\'disabled\': tag.defaultEntry}">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTags.length">\n                                                              <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_TAGS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.tagsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTag()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-tag"></i>\n                                      <a href="/tags/list">{{ \'APPLICATION_TAGS\' | translate }}</a>\n                                       <i data-ng-show="tag" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="tag">\n                                       <a href="#">{{tag.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/tag.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{tag.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.tags.view.settings\')}">\n                                                 <a data-ng-href="/tags/view/{{tag.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/tag/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_TAG\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTag()" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="tag.name" required/>\n                                                            <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="tag.description"></textarea>\n                                                   </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/list/list.html",'<div class="row">\n <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-shield"></i>\n                                           <a href="#">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-shield font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_TEAMS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="teams.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TEAM\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-user"></i> {{ \'APPLICATION_QUICK\' | translate }} </a>\n                                                        </li> -->\n                                                     <li>\n                                                          <a href="/teams/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                                 <!-- <li>\n                                                             <a href="#">\n                                                          <i class="icon-users"></i> {{ \'APPLICATION_BULK\' | translate }} </a>\n                                                        </li> -->\n                                             </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTeams([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="teams.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTeams" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                   <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.teamsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="teamByPage in teamsByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="teamByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(agent, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="team in displayedTeams" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="teams.checked" checklist-value="team.id"></td>\n                                       <td>{{team.name}}</td>\n                                                          <td>{{team.description}}</td>\n                                       <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/teams/view/{{team.id}}/settings" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                          {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(team.name, team.id)" data-ng-class="{\'disabled\': team.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n              <tr data-ng-hide="displayedTeams.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>No teams available</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.teamsByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.agents.html",'<div class="row" data-ng-init="initAgents()">\n    <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="portlet-body">\n                    <!-- GENERAL TAB -->\n                          <!-- BEGIN PORTLET-->\n                                 <!-- BEGIN FORM-->\n                                    <form action="index.html" class="form-horizontal form-row-seperated">\n                                         <div class="form-body">\n                                                       <div class="form-group last">\n                                                         <div class="col-md-9" id="multi-select-team">\n                                                         </div>\n                                                        </div>\n                                                </div>\n                                        </form>\n                                       <!-- END FORM-->\n                              <!-- END PORTLET-->\n                   <!-- END GENERAL TAB -->\n                      </div>\n                </div>\n        </div>\n</div>\n'),
+a.put("app/team/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-shield"></i>\n                                   <a href="/teams/list">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{team.name}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img ng-src="assets/images/media/team.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{team.name}}\n                                 </div>\n\n                              </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.teams.view.settings\')}">\n                                                        <a data-ng-href="/teams/view/{{team.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.teams.view.agents\')}">\n                                                  <a data-ng-href="/teams/view/{{team.id}}/agents">\n                                                     <i class="icon-users"></i>\n                                                    {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/team/view/view.settings.html",'<div class="row">\n      <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                        </div>\n\n                      <div class="portlet-body">\n                            <!-- PERSONAL INFO TAB -->\n                            <div>\n\n                                       <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                             <!-- START NAME -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="team.name" required/>\n                                                   <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END NAME -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="team.description"/>\n                                               </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                  </form>\n                               </div>\n                                <!-- END PERSONAL INFO TAB -->\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/team/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n  <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                    </li>\n                                 <li>\n                                          <i class="icon-shield"></i>\n                                           <a href="/teams/list">{{ \'APPLICATION_TEAMS\' | translate }}</a>\n            <i class="fa fa-angle-right"></i>\n                                      </li>\n          <li>\n                                         <i class="icon-user-following"></i>\n                                           <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                                      </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div id="team" class="row" data-ng-init="getAgents()">\n <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_TEAM\' | translate }} WIZARD</a> </span>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_TEAM_INFO\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                          <form name="forms.info" novalidate>\n\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="goNext()"/>\n                                            </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trigger/list/list.html",'<div class="row">\n    <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-bulb"></i>\n                                             <a href="#">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                                    </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRIGGERS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Triggers.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TRIGGER\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/triggers/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTriggers([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="triggers.csv">\n                                     <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTriggers" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.TriggersByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="TriggerByPage in TriggersByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="TriggerByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <!-- <th st-sort="id" width="5%" st-sort-default="reverse">{{ \'APPLICATION_ID\' | translate }}</th> -->\n                                                              <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(Trigger, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                            <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                          <th st-sort="channel">{{ \'APPLICATION_CHANNEL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_STATUS\' | translate }}</th>\n                                                             <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="Trigger in displayedTriggers">\n                                                                <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="Triggers.checked" checklist-value="Trigger.id"></td>\n                                         <td>{{Trigger.name}}</td>\n                                                               <td>{{Trigger.description}}</td>\n                                                              <td>{{Trigger.channel | capitalize}}</td>\n                                                             <td>\n                                                                  <input\n                                                                                data-ng-change="updateItem(Trigger.id, Trigger.status)",\n                                                                  bs-switch\n                                                             ng-model="Trigger.status"\n                                                             type="checkbox"\n                                                               switch-active="{{ isActive }}"\n                                                                switch-on-text="{{ onText }}"\n                                                                 switch-off-text="{{ offText }}"\n                                                               switch-on-color="{{ onColor }}"\n                                                               switch-off-color="{{ offColor }}"\n                                                             switch-animate="{{ animate }}"\n                                                                switch-size="{{ size }}"\n                                                              switch-label="{{ label }}"\n                                                                    switch-icon="{{ icon }}"\n                                                              switch-radio-off="{{ radioOff }}"\n                                                             switch-label-width="{{ labelWidth }}"\n                                                                 switch-handle-width="{{ handleWidth }}">\n                                                          </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/triggers/view/{{Trigger.id}}/settings">\n                                                                              {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(Trigger.name, Trigger.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTriggers.length">\n                                                          <td colspan="6" class="text-center">\n                                                                  <i>No available triggers</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="channel" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CHANNEL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                                         <td/>\n                                                         <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.TriggersByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trigger/view/view.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row" data-ng-init="initView();getProperties();">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bulb"></i>\n                                     <a href="/triggers/list">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                                       <i class="fa fa-angle-right" data-ng-show="trigger"></i>\n                              </li>\n                         <li data-ng-show="trigger">\n                                   <a href="#">{{ trigger.description || trigger.name }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n               <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/trigger.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{ trigger.name }}\n                                    </div>\n                                        <div class="profile-usertitle-job">\n                                           {{ trigger.description }}\n                                     </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.triggers.view.settings\')}">\n                                                     <a href="/triggers/view/{{trigger.id}}/settings">\n                                                     <i class="icon-bulb"></i>\n                                                     {{ \'APPLICATION_SETTINGS\' | translate }} </a>\n                                               </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trigger/view/view.settings.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_SETTINGS\' | translate}}</span>\n                                </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_CONDITIONS\' | translate}} & {{\'APPLICATION_ACTIONS\' | translate}}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <!-- <pre>\n                                    {{conditionsData.query | json}}\n                               </pre>\n                                <pre>\n                                 {{actionsData.query | json}}\n                          </pre> -->\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTrigger()" novalidate>\n                                                       <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="trigger.name" required/>\n                                                                <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="trigger.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- <pre>\n                                            {{conditionsFilter | json}}\n                                   </pre> -->\n\n                                          <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$triggers.operators"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[trigger.channel]"></query-builder>\n                                                  </div>\n                                                </div>\n\n                                              <input class="btn green-haze" type="button" value="{{\'APPLICATION_UPDATE\' | translate}}" data-ng-click="updateTrigger()"/>\n                                  </div>\n                                </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/trigger/wizard/wizard.html",'\n<div class="row" data-ng-init="getProperties()">\n <div class="col-md-12">\n               <!-- BEGIN PAGE HEADER-->\n             <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-bulb"></i>\n                                     <a href="/triggers/list">{{ \'APPLICATION_TRIGGERS\' | translate }}</a>\n                               </li>\n                 </ul>\n         </div>\n                <!-- END PAGE HEADER-->\n\n             <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-bulb font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRIGGERS\' | translate }} WIZARD</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                                              <form name="forms.general" novalidate>\n                                                        <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name"/ required>\n                                                           <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                            </form>\n                                       </wz-step>\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}">\n                                            <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CHANNEL\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <div class="form-group"  >\n                                                                    <label class="control-label">{{ \'APPLICATION_CHANNEL\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="item.channel" name="channel" theme="bootstrap" required>\n                                                                            <ui-select-match placeholder="{{ \'APPLICATION_CHANNEL\' | translate }}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                          <ui-select-choices repeat="channel in $triggers.channels | filter: $select.search">\n                                                                                   <div ng-bind-html="channel | highlight: $select.search | capitalize"></div>\n                                                                           </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                        </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_CONDITIONS\' | translate }}</a> </span>\n                                                                </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="conditionsFilter.group" fields="fields.conditions" operators="$triggers.operators"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <div class="portlet light bordered">\n                                                  <div class="portlet-title">\n                                                           <div class="caption font-blue-hoki">\n                                                                  <i class="icon-tag font-blue-hoki"></i>\n                                                                       <span class="caption-subject">{{ \'APPLICATION_ACTIONS\' | translate }}</a> </span>\n                                                           </div>\n                                                        </div>\n                                                        <div class="portlet-body">\n                                                            <query-builder group="actionsFilter.group" fields="fields.actions" properties="properties[item.channel]"></query-builder>\n                                                     </div>\n                                                </div>\n                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </wz-step>\n                                    <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trunk/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-link"></i>\n                                     <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-link font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_TRUNKS\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="trunks.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_TRUNK\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/trunks/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getTrunks([\'name\', \'host\', \'context\', \'description\'])" csv-header="[\'Name\', \'Host\', \'Context\', \'Description\']" field-separator=";" filename="trunks.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedTrunks" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.trunksByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="trunkByPage in trunksByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="trunkByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(trunk, checked)" checklist-model checklist-value="id"></th>\n                                                    <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="host">{{ \'APPLICATION_HOST\' | translate }}</th>\n                                                            <th st-sort="context">{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                              <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="trunk in displayedTrunks" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="trunks.checked" checklist-value="trunk.id"></td>\n                                                               <td>{{trunk.name}}</td>\n                <td>{{trunk.host}}</td>\n                                                              <td>{{trunk.context}}</td>\n                                          <td>{{trunk.description}}</td>\n                                        <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/trunks/view/{{trunk.id}}/settings">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(trunk.name,trunk.id)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedTrunks.length">\n                                                            <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_TRUNKS_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="host" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_HOST\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="context" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CONTEXT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.trunksByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/trunk/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getTrunk()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-link"></i>\n                                     <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                                   <i data-ng-show="trunk" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="trunk">\n                                     <a href="#">{{trunk.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/trunk.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{trunk.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.trunks.view.settings\')}">\n                                                       <a data-ng-href="/trunks/view/{{trunk.id}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/trunk/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_TRUNK\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();">\n                              <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateTrunk()" novalidate>\n                                                 <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="trunk.name" required/>\n                                                          <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n\n                                                      <!-- START HOST -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.host.$touched || forms.general.$submitted) && forms.general.host.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="trunk.host" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_HOST\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.general.host.$touched || forms.general.$submitted) && forms.general.host.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END HOST -->\n\n                                                   <!-- START SECRET -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.secret.$touched || forms.general.$submitted) && forms.general.secret.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_SECRET\' | translate}}</label>\n                                                               <input type="password" name="secret" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="trunk.secret">\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_SECRET\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.secret.$touched || forms.general.$submitted) && forms.general.secret.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SECRET -->\n\n                                                 <!-- START CONFIRM SECRET -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rsecret.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_CONFIRM_SECRET\' | translate}}</label>\n                                                           <input type="password" name="rsecret" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="trunk.rsecret" nx-equal="trunk.secret"/>\n                                                             <span data-ng-show="forms.general.$submitted && (forms.general.rsecret.$invalid || forms.general.rsecret.$invalid)" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONFIRM SECRET -->\n\n                                                 <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="trunk.context" name="context" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_VOICE_CONTEXT\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <!-- START CALLERID -->\n                                                       <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.callerid.$touched || forms.general.$submitted) && forms.general.callerid.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_CALLERID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="callerid" placeholder="{{\'APPLICATION_CALLERID\' | translate}}" class="form-control" data-ng-model="trunk.callerid" required/>\n                                                              <span data-ng-show="(forms.general.callerid.$touched || forms.general.$submitted) && forms.general.callerid.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div> -->\n                                                    <!-- END CALLERID -->\n\n                                                       <!-- START TYPE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.type.$touched || forms.general.$submitted) && forms.general.type.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="trunk.type" name="type" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'user\',\'peer\',\'friend\'] | filter: $select.search">\n                                                                          <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TYPE\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.general.type.$touched || forms.general.$submitted) && forms.general.type.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TYPE -->\n\n                                                   <!-- START DTMFMODE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.dtmfmode.$touched || forms.general.$submitted) && forms.general.dtmfmode.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_DTMFMODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="trunk.dtmfmode" name="dtmfmode" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected}}</ui-select-match>\n                                                                   <ui-select-choices repeat="item in [\'rfc2833\', \'info\', \'shortinfo\', \'inband\',\'auto\'] | filter: $select.search">\n                                                                             <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DTMFMODE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.dtmfmode.$touched || forms.general.$submitted) && forms.general.dtmfmode.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DTMFMODE -->\n\n                                               </div>\n                                                <div class="col-md-6">\n\n                                                      <!-- START DEFAULT USER -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.defaultuser.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_DEFAULT_USER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="defaultuser" placeholder="{{\'APPLICATION_DEFAULT_USER\' | translate}}" class="form-control" data-ng-model="trunk.defaultuser" required/>\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DEFAULT_USER\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="forms.general.$submitted && (forms.general.defaultuser.$invalid)" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DEFAULT USER -->\n\n                                                   <!-- START NAT -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.general.nat.$touched || forms.general.$submitted) && forms.general.nat.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_NAT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select multiple data-ng-model="trunk.nat" name="nat" theme="bootstrap" required>\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_NAT\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.general.nat.$touched || forms.general.$submitted) && forms.general.nat.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAT -->\n\n                                                    <!-- START QUALIFY -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.qualify.$touched || forms.general.$submitted) && forms.general.qualify.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_QUALIFY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="trunk.qualify" name="qualify" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_QUALIFY\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.qualify.$touched || forms.general.$submitted) && forms.general.qualify.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUALIFY -->\n\n                                                        <!-- START ALLOW -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.allow.$touched || forms.general.$submitted) && forms.general.allow.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_ALLOW_CODEC\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select multiple data-ng-model="trunk.allow" name="allow" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'g723\',\'gsm\',\'ulaw\',\'alaw\',\'g726\',\'g722\',\'g729\',\'ilbc\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_ALLOW_CODEC\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.general.allow.$touched || forms.general.$submitted) && forms.general.allow.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ALLOW -->\n\n                                                  <!-- START INSECURE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.insecure.$touched || forms.general.$submitted) && forms.general.insecure.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_INSECURE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select multiple data-ng-model="trunk.insecure" name="insecure" theme="bootstrap" required>\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'port\',\'invite\',\'very\'] | filter: $select.search">\n                                                                          <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_INSECURE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.insecure.$touched || forms.general.$submitted) && forms.general.insecure.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INSECURE -->\n\n                                                       <!-- START CALLLIMIT -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.general.call-limit.$touched || forms.general.$submitted) && forms.general.call-limit.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_CALLLIMIT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <input type="number" min="0" name="call-limit" placeholder="{{\'APPLICATION_CALLLIMIT\' | translate}}" class="form-control" data-ng-model="trunk[\'call-limit\']"/>\n                                                           <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_CALLLIMIT\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.call-limit.$touched || forms.general.$submitted) && forms.general.call-limit.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CALLLIMIT -->\n\n                                              </div>\n                                        </div>\n\n                                                      <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="trunk.description"></textarea>\n                                                 </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.advanced" data-ng-submit="forms.advanced.$valid && updateTrunk()" novalidate>\n                                                       <div class="row">\n                                                             <div class="col-md-6">\n                                                        <!-- START LIMITONPEERS -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.limitonpeers.$touched || forms.advanced.$submitted) && forms.advanced.limitonpeers.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_LIMITONPEERS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="trunk.limitonpeers" name="limitonpeers" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_LIMITONPEERS\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.limitonpeers.$touched || forms.advanced.$submitted) && forms.advanced.limitonpeers.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LIMITONPEERS -->\n\n                                                   <!-- START REGISTRY -->\n                                                       <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_REGISTRY\' | translate}}</label>\n                                                         <input type="text" name="registry" placeholder="{{\'APPLICATION_REGISTRY\' | translate}}" class="form-control" data-ng-model="trunk.registry"/>\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_REGISTRY\' | translate }}\n                                                              </span>\n                                                       </div>\n                                                        <!-- END REGISTRY -->\n\n                                                       <!-- START DIRECTMEDIA -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.directmedia.$touched || forms.advanced.$submitted) && forms.advanced.directmedia.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_DIRECTMEDIA\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.directmedia" name="directmedia" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\', \'no\', \'nonat\', \'update\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_DIRECTMEDIA\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.directmedia.$touched || forms.advanced.$submitted) && forms.advanced.directmedia.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END DIRECTMEDIA -->\n\n                                                    <!-- START CALLCOUNTER -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.callcounter.$touched || forms.advanced.$submitted) && forms.advanced.callcounter.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CALLCOUNTER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.callcounter" name="callcounter" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_CALLCOUNTER\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.callcounter.$touched || forms.advanced.$submitted) && forms.advanced.callcounter.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CALLCOUNTER -->\n\n                                                    <!-- START FROMDOMAIN -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.fromdomain.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_FROMDOMAIN\' | translate}}</label>\n                                                               <input type="text" name="fromdomain" placeholder="{{\'APPLICATION_FROMDOMAIN\' | translate}}" class="form-control" data-ng-model="trunk.fromdomain" />\n                                                                <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_FROMDOMAIN\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.fromdomain.$invalid)" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FROMDOMAIN -->\n\n                                                     <!-- START FROMUSER -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.fromuser.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_FROMUSER\' | translate}}</label>\n                                                         <input type="text" name="fromuser" placeholder="{{\'APPLICATION_FROMUSER\' | translate}}" class="form-control" data-ng-model="trunk.fromuser" />\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_FROMUSER\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.fromuser.$invalid)" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FROMUSER -->\n\n                                               </div>\n                                                <div class="col-md-6">\n\n                                                      <!-- START OUTBOUNDPROXY -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.advanced.$submitted && forms.advanced.outboundproxy.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_OUTBOUNDPROXY\' | translate}}</label>\n                                                            <input type="text" name="outboundproxy" placeholder="{{\'APPLICATION_OUTBOUNDPROXY\' | translate}}" class="form-control" data-ng-model="trunk.outboundproxy" />\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_OUTBOUNDPROXY\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="forms.advanced.$submitted && (forms.advanced.outboundproxy.$invalid)" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END OUTBOUNDPROXY -->\n\n                                                  <!-- START USEREQPHONE -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.usereqphone.$touched || forms.advanced.$submitted) && forms.advanced.usereqphone.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_USEREQPHONE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                          <ui-select data-ng-model="trunk.usereqphone" name="usereqphone" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_USEREQPHONE\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.advanced.usereqphone.$touched || forms.advanced.$submitted) && forms.advanced.usereqphone.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USEREQPHONE -->\n\n                                                    <!-- START TRUSTRPID -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.trustrpid.$touched || forms.advanced.$submitted) && forms.advanced.trustrpid.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_TRUSTRPID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select data-ng-model="trunk.trustrpid" name="trustrpid" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TRUSTRPID\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.trustrpid.$touched || forms.advanced.$submitted) && forms.advanced.trustrpid.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TRUSTRPID -->\n\n                                                      <!-- START SENDRPID -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.sendrpid.$touched || forms.advanced.$submitted) && forms.advanced.sendrpid.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_SENDRPID\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="trunk.sendrpid" name="sendrpid" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_SENDRPID\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.advanced.sendrpid.$touched || forms.advanced.$submitted) && forms.advanced.sendrpid.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END SENDRPID -->\n\n                                                       <!-- START ENCRYPTION -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.encryption.$touched || forms.advanced.$submitted) && forms.advanced.encryption.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_ENCRYPTION\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                           <ui-select data-ng-model="trunk.encryption" name="encryption" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_ENCRYPTION\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.advanced.encryption.$touched || forms.advanced.$submitted) && forms.advanced.encryption.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ENCRYPTION -->\n\n                                                     <!-- START PORT -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.port.$touched || forms.advanced.$submitted) && forms.advanced.port.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_PORT\' | translate}}</label>\n                                                             <input type="number" min="0" name="port" placeholder="{{\'APPLICATION_PORT\' | translate}}" class="form-control" data-ng-model="trunk.port"/>\n                                                         <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_PORT\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.port.$touched || forms.advanced.$submitted) && forms.advanced.port.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PORT -->\n\n                                                   <!-- START TRANSPORT -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.transport.$touched || forms.advanced.$submitted) && forms.advanced.transport.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_TRANSPORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select multiple data-ng-model="trunk.transport" name="transport" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'udp\',\'wss\',\'ws\',\'tcp\',\'tls\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_TRUNK_TRANSPORT\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.transport.$touched || forms.advanced.$submitted) && forms.advanced.transport.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TRANSPORT -->\n\n                                              </div>\n                                        </div>\n                                        <!-- START OTHER FIELDS-->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_OTHER_FIELDS\' | translate}}</label>\n                                             <textarea type="text" name="otherFields" placeholder="{{\'APPLICATION_OTHER_FIELDS\' | translate}}" class="form-control" data-ng-model="trunk.otherFields"></textarea>\n                                                <span class="help-block">\n                                                     {{ \'DESCRIPTION_TRUNK_OTHER_FIELDS\' | translate }}\n                                          </span>\n                                       </div>\n                                        <!-- END OTHER FIELDS -->\n\n                                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/trunk/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard()">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-link"></i>\n                             <a href="/trunks/list">{{ \'APPLICATION_TRUNKS\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-link font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_TRUNK\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.name.$invalid" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START ROLE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.role.$touched || forms.general.$submitted) && forms.general.role.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_USAGE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="item.role" name="role" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.value}}</ui-select-match>\n                                                             <ui-select-choices repeat="type.key as type in types | filter: $select.search">\n                                                                       <div ng-bind-html="type.value | highlight: $select.search"></div>\n                                                             </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_ROLE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.general.role.$touched || forms.general.$submitted) && forms.general.role.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ROLE -->\n\n                                           <!-- START HOST -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END HOST -->\n\n                                           <!-- START PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                 <label class="control-label">{{\'APPLICATION_SECRET\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                       <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.secret" required/>\n                                                     <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_SECRET\' | translate }}\n                                                        </span>\n                                                       <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END PASSWORD -->\n\n                                               <!-- START CONFIRM PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_CONFIRM_SECRET\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                       <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.secret" required/>\n                                                  <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CONFIRM PASSWORD -->\n\n                                               <!-- START DEFAULT USER -->\n                                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.defaultuser.$invalid}">\n                                                      <label class="control-label">{{\'APPLICATION_DEFAULT_USER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="defaultuser" placeholder="{{\'APPLICATION_DEFAULT\' | translate}} {{\'APPLICATION_USER\' | translate}}" class="form-control" data-ng-model="item.defaultuser" required/>\n                                                     <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_DEFAULT_USER\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="forms.general.$submitted && (forms.general.defaultuser.$invalid)" class="help-block help-block-error">\n                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END DEFAULT USER -->\n\n                                           <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n\n                                            <button class="btn green-haze" type="submit" ng-click="next(true)">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_ADVANCED\' | translate}}" canexit="exitValidation(forms.advanced.$valid)">\n                                    <form name="forms.advanced" novalidate>\n\n                                             <!-- START REGISTRY -->\n                                               <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_REGISTRY\' | translate}}</label>\n                                                 <input type="text" name="registry" placeholder="{{\'APPLICATION_REGISTRY\' | translate}}" class="form-control" data-ng-model="item.registry"/>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_TRUNK_REGISTRY\' | translate }}\n                                                      </span>\n                                               </div>\n                                                <!-- END REGISTRY -->\n                                         <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                             <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),
+a.put("app/update/list/checkout/checkout.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text"></p>\n  <div ng-if="modal.html" ng-bind-html="modal.html"></div>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button>\n</div>\n'),a.put("app/update/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-cloud-download"></i>\n                                   <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-cloud-download font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_UPDATES\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <a class="btn btn-default" href="#" data-ng-click="pull()">\n                                           <i class="icon-cloud-download"></i> {{ \'APPLICATION_UPDATE\' | translate }}\n                                  </a>\n                          </div>\n                        </div>\n                        <div class="portlet-body" data-ng-init="initList()">\n                          <!-- BEGIN TABLE -->\n                                  <table st-table="displayedUpdates" st-safe-src="updates" class="table table-striped table-bordered table-hover">\n                                              <div class="table-responsive">\n                                                  <thead>\n                                                             <tr>\n                                                                  <th colspan="3">\n                                                                              <div class="row">\n                                                                                     <div class="col-md-12">\n                                                                                               <ui-select class="input-xsmall" ng-model="conf.updatesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                                     <ui-select-choices repeat="updateByPage in updatesByPage | filter: $select.search">\n                                                                                                           <div ng-bind-html="updateByPage.name | highlight: $select.search"></div>\n                                                                                                      </ui-select-choices>\n                                                                                          </ui-select>\n                                                                                  </div>\n                                                                                </div>\n                                                                        </th>\n                                                         </tr>\n                                                         <tr>\n                                                                  <th st-sort="message">{{ \'APPLICATION_MESSAGE\' | translate }}</th>\n                                                                  <th>{{ \'APPLICATION_DATE\' | translate }}</th>\n                                                                       <!-- <th class="small-cells"></th> -->\n                                                          </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="update in displayedUpdates">\n                                                                  <td>\n                                                                          {{update.message | truncate: 30 : \'...\': true}}\n                                                                     </td>\n                                                                 <td>\n                                                                          <time is="relative-time" datetime="{{update.date}}">\n                                                                                  April 1, 2014\n                                                                         </time>\n                                                                       </td>\n                                                                 <!-- <td>\n                                                     <a class="btn default btn-xs green-stripe" href="#" data-ng-click="checkout(update.hash)">\n                                                                                    <i class="icon-cloud-download"></i> {{ \'APPLICATION_CHECKOUT\' | translate }}\n                                                        </a>\n                                                </td> -->\n                                                   </tr>\n                                                             <tr data-ng-hide="displayedUpdates.length">\n                                                                   <td colspan="9" style="text-align:center;">\n                                                                           <i>{{\'MESSAGE_NO_AVAILABLE_UPDATES\' | translate}}</i>\n                                                                       </td>\n                                                         </tr>\n                                           </tbody>\n                                              <tfoot>\n                                                             <tr>\n                                                                  <td colspan="1">\n                                                                              <div class="input-icon right">\n                                                                                        <i class="fa fa-search"></i>\n                                                                                  <input st-search="message" placeholder="{{ \'APPLICATION_MESSAGE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                            </div>\n                                                                        <td colspan="9"></td>\n                                                   </tr>\n                                                   <tr>\n                                                    <td colspan="10" class="text-center">\n                                                                           <div class="pagination" st-pagination st-items-by-page="conf.updatesByPage.value" st-displayed-pages="7"></div>\n                                                     </td>\n                                               </tr>\n                                               </tfoot>\n                                            </div>\n                                        </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/update/view/view.account.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()">\n                                               <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin()">\n                                            <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li data-ng-show="Auth.isAdmin() || update.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && update.id === Auth.getCurrentUser().id}">\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane" data-ng-class="{\'active\': Auth.isAdmin()}" data-ng-show="Auth.isAdmin()" id="tab_1_1">\n                                                <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="update.fullname" required/>\n                                                         <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="update.name" required/>\n                                                             <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="update.email" required/>\n                                                             <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START INTERNAL -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="update.internal" required disabled/>\n                                                             <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END INTERNAL -->\n\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" data-ng-show="Auth.isAdmin()" id="tab_1_2">\n                                             <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    {{ \'APPLICATION_REMOVE\' | translate }}\n                                                                              </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     {{ \'APPLICATION_CONFIRM\' | translate }}\n                                                                             </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" data-ng-show="Auth.isAdmin() || update.id === Auth.getCurrentUser().id" data-ng-class="{\'active\': !Auth.isAdmin() && update.id === Auth.getCurrentUser().id}" id="tab_1_3">\n                                           <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.currentPwd" required/>\n                                                            <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.newPwd" required/>\n                                                                <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="update.reNewPwd" nx-equal="update.newPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/update/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-people"></i>\n                                   <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{update.fullname}}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{update.userpic ? update.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                               </div>\n                                <!-- END SIDEBAR USERPIC -->\n\n                                <!-- START SIDEBAR USER TITLE -->\n                             <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{update.fullname}}\n                                   </div>\n                                        <div class="profile-usertitle-job">\n                                           {{update.role}}\n                                       </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.updates.view.account\')}">\n                                                       <a data-ng-href="/updates/view/{{update.id}}/account">\n                                                        <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n\n          <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/update/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n      <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-people"></i>\n                           <a href="/updates/list">{{ \'APPLICATION_UPDATES\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/updates/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                        </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" ng-init="getFirstFreeInternal();">\n        <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_UPDATE\' | translate }} WIZARD</a> </span>\n             </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/updates/validate/name"/>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/updates/validate/email"/>\n                              <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                                              <!-- START INTERNAL -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                      <div class="input-group">\n                                                     <input type="number" min="1" name="internal" placeholder="{{\'APPLICATION_INTERNAL_NUMBER\' | translate}}" class="form-control" data-ng-model="item.internal" data-ng-disabled="!item.internalEnabled" data-ng-required="item.internalEnabled" ng-remote-validate="/api/updates/validate/internal"/>\n                                                  <span class="input-group-addon">\n                                                              <input type="checkbox" data-ng-model="item.internalEnabled">\n                                                  </span>\n                                                       </div>\n                                                        <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.required" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                                       <span data-ng-show="(forms.info.internal.$touched || forms.info.$submitted) && forms.info.internal.$error.ngRemoteValidate" class="help-block help-block-error">\n                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_INTERNAL\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERNAL -->\n\n                             <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_VOICE\' | translate}}" canexit="exitValidation(forms.voice.$valid)">\n                                  <form name="forms.voice" novalidate>\n\n                                                <!-- START ACCOUNTCODE -->\n                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$invalid}">\n                                                       <label class="control-label">{{\'APPLICATION_ACCOUNTCODE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                  <input type="number" name="accountcode" placeholder="{{\'APPLICATION_ACCOUNTCODE\' | translate}}" class="form-control" data-ng-model="item.accountcode" required/>\n                                                    <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.accountcode.$touched || forms.voice.$submitted) && forms.voice.accountcode.$error.required" class="help-block help-block-error">\n                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END ACCOUNTCODE -->\n\n                                            <!-- START TRANSPORT -->\n                                              <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_TRANSPORT\' | translate}}</label>\n                                                       <ui-select multiple name="transport" ng-model="item.transport" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select transport...">{{$item}}</ui-select-match>\n                                                <ui-select-choices repeat="transport in [\'udp\', \'tcp\', \'ws\', \'wss\'] | filter: $select.search">\n                                                    {{transport}}\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TRANSPORT\' | translate }}\n                                                     </span>\n                                               </div>\n                                                <!-- END TRANSPORT -->\n\n                                              <!-- START HOST -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_HOST\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <input type="text" name="host" placeholder="{{\'APPLICATION_HOST\' | translate}}" class="form-control" data-ng-model="item.host" required/>\n                                                   <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_HOST\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.host.$touched || forms.voice.$submitted) && forms.voice.host.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END HOST -->\n\n                                           <!-- START NAT -->\n                                            <!-- <div class="form-group">\n                                                 <label class="control-label">{{ \'APPLICATION_NAT\' | translate}}</label>\n                                                     <ui-select multiple ng-model="item.nat" name="nat" theme="bootstrap" ng-disabled="disabled">\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$item}}</ui-select-match>\n                                                            <ui-select-choices repeat="nat in [\'yes\', \'no\', \'never\', \'route\', \'force_rport\', \'comedia\'] | filter: $select.search">\n                                                                    {{nat}}\n                                                               </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_NAT\' | translate }}\n                                                   </span>\n                                               </div> -->\n\n                                          <!-- END NAT -->\n\n                                            <!-- START TYPE -->\n                                           <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$invalid}">\n                                                     <label class="control-label">{{\'APPLICATION_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                 <ui-select data-ng-model="item.type" name="type" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{ \'APPLICATION_SEARCH_FILTER\' | translate }}">{{$select.selected}}</ui-select-match>\n                                                         <ui-select-choices repeat="type in [\'friend\', \'user\', \'peer\'] | filter: $select.search">\n                                                                        <div ng-bind-html="type | highlight: $select.search"></div>\n                                                           </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_TYPE\' | translate }}\n                                                  </span>\n                                                       <span data-ng-show="(forms.voice.type.$touched || forms.voice.$submitted) && forms.voice.type.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div> -->\n                                            <!-- END TYPE -->\n\n                                           <!-- START CODEC -->\n                                          <div class="form-group">\n                                                      <label class="control-label">{{ \'APPLICATION_ALLOWED_CODECS\' | translate}}</label>\n                                                  <ui-select multiple ng-model="item.allow" name="allow" theme="bootstrap" ng-disabled="disabled">\n                                                  <ui-select-match placeholder="Select codec...">{{$item}}</ui-select-match>\n                                                    <ui-select-choices repeat="allow in [\'g729\', \'ilbc\', \'gsm\', \'ulaw\', \'alaw\'] | filter: $select.search">\n                                                  {{allow}}\n                                                 </ui-select-choices>\n                                                </ui-select>\n                                                        <span class="help-block">\n                                                             {{ \'DESCRIPTION_VOICE_CODEC\' | translate }}\n                                                 </span>\n                                               </div>\n                                                <!-- END CODEC -->\n\n                                          <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                                              <input class="btn default" type="button" value="{{\'APPLICATION_BACK\' | translate}}" wz-previous/>\n                                   </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/user/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-eye font-green-sharp"></i>\n                                     <span class="caption-subject">{{ \'APPLICATION_USERS\' | translate }}</a> </span>\n                             </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="users.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_USER\' | translate }} <i class="fa fa-angle-down"></i>\n                                         </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/users/wizard">\n                                                              <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getUsers([\'name\', \'fullname\', \'email\'])" csv-header="[\'Username\', \'Fullname\', \'Email\']" field-separator=";" filename="users.csv">\n                                       <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table id="table" st-table="displayedUsers" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.usersByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="userByPage in usersByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="userByPage.name | highlight: $select.search"></div>\n                                                                                                </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(user, checked)" checklist-model checklist-value="id"></th>\n                                             <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="name">{{ \'APPLICATION_USERNAME\' | translate }}</th>\n                                                    <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th st-sort="role">{{ \'APPLICATION_ROLE\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="user in displayedUsers" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="users.checked" checklist-value="user.id"></td>\n                                                         <td>{{user.fullname}}</td>\n                                          <td>{{user.name}}</td>\n                                        <td><a ng-href="mailto:{{user.email}}">{{user.email}}</a></td>\n                                                          <td>{{user.role}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/users/view/{{user.id}}/account">\n                                                                             {{ \'APPLICATION_PROFILE\' | translate }}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(user.fullname, user.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedUsers.length">\n                                                             <td colspan="6" style="text-align:center;">\n                                                                   <i>No users available</i>\n                                                             </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_USERNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                    </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="role" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_ROLE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                                </td>\n                                             <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.usersByPage.value" st-displayed-pages="7"></div>\n                                       </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/user/view/view.account.html",'<div class="row">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_PROFILE\' | translate}} {{ \'APPLICATION_ACCOUNT\' | translate}}</span>\n                               </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_PERSONAL_INFO\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_CHANGE_AVATAR\' | translate}}</a>\n                                       </li>\n                                 <li>\n                                          <a href="#" data-ng-show="Auth.isAdmin() || user.id === getCurrentUser().id" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_CHANGE_PASSWORD\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- PERSONAL INFO TAB -->\n                                    <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.info" data-ng-submit="updateItem()" novalidate>\n                                                     <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="user.fullname" required/>\n                                                           <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START USERNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="user.name" required/>\n                                                               <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="user.email" required/>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                           </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END PERSONAL INFO TAB -->\n                                        <!-- CHANGE AVATAR TAB -->\n                                    <div class="tab-pane" id="tab_1_2">\n                                           <form action="#" role="form">\n                                                 <div class="form-group">\n                                                              <div class="fileinput fileinput-new" data-provides="fileinput">\n                                                                       <div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">\n                                                                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image" alt=""/>\n                                                                   </div>\n                                                                        <div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;">\n                                                                       </div>\n                                                                        <div>\n                                                                         <span class="btn default btn-file" data-ng-show="!uploader.queue[0]">\n                                                                                 <span> {{ \'APPLICATION_SELECT_IMAGE\' | translate }} </span>\n                                                                                 <input type="file" nv-file-select="" uploader="uploader" /><br/>\n                                                                              </span>\n                                                                               <button type="button" class="btn default" data-ng-show="uploader.queue[0]" data-dismiss="fileinput" ng-click="uploader.queue[0].remove()">\n                                                                                    <span> {{ \'APPLICATION_REMOVE\' | translate }} </span>\n                                                                               </button>\n                                                                             <button type="button" class="btn green-haze" data-ng-show="uploader.queue[0]" data-ng-click="uploader.queue[0].upload()" ng-disabled="uploader.queue[0].isReady || uploader.queue[0].isUploading || uploader.queue[0].isSuccess">\n                                                                                     <span> {{ \'APPLICATION_CONFIRM\' | translate }} </span>\n                                                                              </button>\n                                                                     </div>\n                                                                        <p>\n                                                                           </br> {{ \'MESSAGE_SUPPORTED_FORMATS\' | translate }} <b>jpg, png, jpeg</b>.\n                                                                  </p>\n                                                          </div>\n                                                        </div>\n                                                </form>\n                                               <div class="row">\n                                                     <div class="col-md-2">\n                                                                <table class="table" border="0">\n                                                                      <tbody>\n                                                                       <tr data-ng-repeat="item in uploader.queue">\n                                                                                  <td style="border-top-style:none">\n                                                                                            <strong>\n                                                                                                      {{ item.file.name }}\n                                                                                          </strong>\n                                                                                     </td>\n                                                                                 <td data-ng-show="uploader.isHTML5" nowrap style="border-top-style:none">\n                                                                                             {{ item.file.size/1024/1024|number:2 }} MB\n                                                                                    </td>\n                                                                                 <td nowrap style="border-top-style:none">\n                                                                                             <button type="button" class="btn btn-danger btn-xs" data-ng-click="item.remove()">\n                                                                                                            <span class="glyphicon glyphicon-trash"></span> Remove\n                                                                                                </button>\n                                                                                     </td>\n                                                                         </tr>\n                                                                 </tbody>\n                                                              </table>\n                                                      </div>\n                                                </div>\n                                        </div>\n                                        <!-- END CHANGE AVATAR TAB -->\n                                        <!-- CHANGE PASSWORD TAB -->\n                                  <div class="tab-pane" id="tab_1_3" data-ng-show="Auth.isAdmin() || user.id === getCurrentUser().id">\n                                          <form name="forms.changePwd" data-ng-submit="forms.changePwd.$valid && updatePassword()" novalidate>\n                                                  <!-- START CURRENT PWD -->\n                                                    <div class="form-group" data-ng-if="!Auth.isAdmin()" data-ng-class="{\'has-error\': (forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="password" name="current_pwd" placeholder="{{\'APPLICATION_CURRENT_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.currentPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.current_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.current_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CURRENT PWD -->\n                                                      <!-- START NEW PWD -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="new_pwd" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.newPwd" required/>\n                                                          <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NEW PWD -->\n                                                  <!-- START RE-NEW PWD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.changePwd.re_new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.re_new_pwd.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="password" name="re_new_pwd" placeholder="{{\'APPLICATION_RE_TYPE_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="user.reNewPwd" nx-equal="user.newPwd" required/>\n                                                              <span data-ng-show="(forms.changePwd.new_pwd.$touched || forms.changePwd.$submitted) && forms.changePwd.new_pwd.$invalid" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RE-NEW PWD -->\n                                                       <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                               <!-- <form action="#">\n                                                        <div class="form-group">\n                                                              <label class="control-label">Current Password</label>\n                                                         <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="form-group">\n                                                              <label class="control-label">New Password</label>\n                                                             <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="form-group">\n                                                              <label class="control-label">Re-type New Password</label>\n                                                             <input type="password" class="form-control"/>\n                                                 </div>\n                                                        <div class="margin-top-10">\n                                                           <a href="#" class="btn green-haze">Change Password </a>\n                                                               <a href="#" class="btn default">Cancel </a>\n                                                   </div>\n                                                </form> -->\n                                   </div>\n                                        <!-- END CHANGE PASSWORD TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/user/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n   <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                                     <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{user.fullname}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-userpic">\n                                 <img ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{user.fullname}}\n                                     </div>\n                                        <div class="profile-usertitle-job">\n                                           {{user.role}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.users.view.account\')}">\n                                                 <a data-ng-href="/users/view/{{user.id}}/account">\n                                                    <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate}} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/user/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n        <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-eye"></i>\n                              <a href="/users/list">{{ \'APPLICATION_USERS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/users/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                  </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-user font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_USER\' | translate }} WIZARD</a> </span>\n               </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_ACCOUNT\' | translate}}" canexit="exitValidation(forms.info.$valid)">\n                     <form name="forms.info" novalidate>\n\n                           <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="fullname" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n                                                   <span data-ng-show="(forms.info.fullname.$touched || forms.info.$submitted) && forms.info.fullname.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START USERNAME -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="text" name="name" placeholder="{{\'APPLICATION_USERNAME\' | translate}}" class="form-control" data-ng-model="item.name" required ng-remote-validate="/api/users/validate/name"/>\n                                                 <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                                                       <span data-ng-show="(forms.info.name.$touched || forms.info.$submitted) && forms.info.name.$error.ngRemoteValidate" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END USERNAME -->\n\n                       <!-- START EMAIL -->\n                          <div class="form-group" data-ng-class="{\'has-error\': (forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required ng-remote-validate="/api/users/validate/email"/>\n                                <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.email" class="help-block help-block-error">\n                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                         </span>\n                                                       <span data-ng-show="(forms.info.email.$touched || forms.info.$submitted) && forms.info.email.$error.ngRemoteValidate" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_EMAIL\' | translate}}.\n                          </span>\n                             </div>\n                        <!-- END EMAIL -->\n\n                          <!-- START PASSWORD -->\n                       <div class="form-group" data-ng-class="{\'has-error\': (forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                           <span data-ng-show="(forms.info.password.$touched || forms.info.$submitted) && forms.info.password.$error.required" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END PASSWORD -->\n\n                       <!-- START RE PASSWORD -->\n                            <div class="form-group" data-ng-class="{\'has-error\': (forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$invalid}">\n                             <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                             <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.required" class="help-block help-block-error">\n                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                               <span data-ng-show="(forms.info.rpassword.$touched || forms.info.$submitted) && forms.info.rpassword.$error.nxEqual" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END RE PASSWORD -->\n\n                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" ng-click="next()"/>\n                            </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/variable/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_VARIABLE\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.variable" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.variable.name.$touched || forms.variable.$submitted) && forms.variable.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.variable.name.$touched || forms.variable.$submitted) && forms.variable.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.variable.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/variable/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/variables/list">{{ \'APPLICATION_VARIABLES\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_VARIABLES\' | translate }}</a> </span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="Variables.checked.length">\n                                               <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_VARIABLE\' | translate }}\n                                              </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getVariables([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="variables.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedVariables" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                       <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.variablesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="variableByPage in variablesByPage | filter: $select.search">\n                                                                                                       <div ng-bind-html="variableByPage.name | highlight: $select.search"></div>\n                                                                                            </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(variable, checked)" checklist-model checklist-value="id"></th>\n                                                 <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="variable in displayedVariables" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input data-ng-hide="variable.defaultEntry" type="checkbox" checklist-model="Variables.checked" checklist-value="variable.id"></td>\n                                                            <td>{{variable.name}}</td>\n                                          <td>{{variable.description}}</td>\n                                             <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/variables/view/{{variable.id}}/settings" data-ng-class="{\'disabled\': variable.defaultEntry}">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(variable.name,variable.id)" data-ng-class="{\'disabled\': variable.defaultEntry}">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedVariables.length">\n                                                         <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_VARIABLES_AVAILABLE\' | translate }}</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.variablesByPage.value" st-displayed-pages="7"></div>\n                                           </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/variable/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getVariable()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-eye"></i>\n                                      <a href="/variables/list">{{ \'APPLICATION_VARIABLES\' | translate }}</a>\n                                     <i data-ng-show="variable" class="fa fa-angle-right"></i>\n                             </li>\n                         <li data-ng-show="variable">\n                                  <a href="#">{{variable.name}}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/variable.png" class="img-responsive">\n                           </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{variable.name}}\n                                     </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.variables.view.settings\')}">\n                                                    <a data-ng-href="/variables/view/{{variable.id}}/settings">\n                                                   <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/variable/view/view.settings.html",'<div class="row">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_VARIABLE\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVariable()" novalidate>\n\n                                                    <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="variable.name" required/>\n                                                               <span data-ng-show="(forms.general.name.$touched || forms.general.$submitted) && forms.general.name.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="variable.description"></textarea>\n                                                      </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/context/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_CONTEXTS\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="voiceContexts.checked.length">\n                                           <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONTEXT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/contexts/wizard">\n                                                             <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getVoiceContexts([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="voice_contexts.csv">\n                                  <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedContexts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                        <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.contextsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="contextByPage in contextsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="contextByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(context, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="context in displayedVoiceContexts" class="animate-repeat">\n                                                            <td style="text-align: center; vertical-align: middle"><input data-ng-hide="context.defaultEntry" type="checkbox" checklist-model="voiceContexts.checked" checklist-value="context.id"></td>\n                                                          <td>{{context.name}}</td>\n                                           <td>{{context.description}}</td>\n                                              <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/contexts/view/{{context.id}}/settings" data-ng-class="{\'disabled\': context.defaultEntry}">\n                                                                           {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(context.name,context.id)" data-ng-class="{\'disabled\': context.defaultEntry}">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedVoiceContexts.length">\n                                                             <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_CONTEXTS_AVAILABLE\' | translate }}</i>\n                                                            </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.contextsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/voice/context/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getContext()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-docs"></i>\n                                     <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                                 <i data-ng-show="context" class="fa fa-angle-right"></i>\n                              </li>\n                         <li data-ng-show="context">\n                                   <a href="#">{{context.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/context.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{context.name}}\n                                      </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.contexts.view.settings\')}">\n                                                       <a data-ng-href="/voice/contexts/view/{{context.id}}/settings">\n                                                       <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/context/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_CONTEXT\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                             </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceContext()" novalidate>\n\n                                                        <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="context.description"></textarea>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/context/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-docs"></i>\n                             <a href="/voice/contexts/list">{{ \'APPLICATION_CONTEXTS\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/voice/contexts/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                 </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-docs font-green-sharp"></i>\n                    <span class="caption-subject">{{ \'APPLICATION_CONTEXT\' | translate }} WIZARD</a> </span>\n            </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.context.$valid)">\n                         <form name="forms.context" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.context.name.$touched || forms.context.$submitted) && forms.context.name.$invalid}">\n                              <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.context.name.$touched || forms.context.$submitted) && forms.context.name.$error.required" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/moh/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-music-tone"></i>\n                                       <a href="/voice/mohs/list">{{ \'APPLICATION_MOHS\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-music-tone font-green-sharp"></i>\n                                      <span class="caption-subject">{{ \'APPLICATION_MOHS\' | translate }}</a> </span>\n                              </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="mohs.checked.length">\n                                            <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_MOH_CLASS\' | translate }} <i class="fa fa-angle-down"></i>\n                                            </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/mohs/wizard">\n                                                         <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getMohs([\'name\', \'directory\', \'sort\', \'description\'])" csv-header="[\'Name\', \'Directory\', \'Sort\', \'Description\']" field-separator=";" filename="musiconholds_classes.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedMohs" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                    <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.mohsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="mohByPage in mohsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="mohByPage.name | highlight: $select.search"></div>\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(moh, checked)" checklist-model checklist-value="id"></th>\n                                              <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                <th st-sort="directory">{{ \'APPLICATION_PATH\' | translate }}</th>\n                <th st-sort="sort">{{ \'APPLICATION_SORT\' | translate }}</th>\n                                                   <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="moh in displayedMohs" class="animate-repeat">\n                                                         <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="mohs.checked" checklist-value="moh.id" data-ng-hide="moh.defaultEntry"></td>\n                                                           <td>{{moh.name}}</td>\n                <td>{{moh.directory}}</td>\n                                                             <td>{{moh.sort | capitalize}}</td>\n                                          <td>{{moh.description}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-class="{\'disabled\': moh.defaultEntry}" data-ng-href="/voice/mohs/view/{{moh.id}}/settings">\n                                                                               {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-class="{\'disabled\': moh.defaultEntry}" data-ng-click="deleteItem(moh.name,moh.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedMohs.length">\n                                                              <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_MOHS_AVAILABLE\' | translate }}</i>\n                                                                </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="directory" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_PATH\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                   </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="sort" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_SORT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.mohsByPage.value" st-displayed-pages="7"></div>\n                                        </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.addFiles.html",'\n<div class="row" data-ng-init="getSounds()">\n    <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_MOH\' | translate }} {{ \'APPLICATION_ADD_FILES\' | translate }}</a> </span>\n                           </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="soundList.length">\n                                       <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_NO_SOUNDS_AVAILABLE\' | translate }}\n                                    </p>\n                          </div>\n            <form name="forms.general" data-ng-submit="(item.sounds.length > 0) && addMohs()" data-ng-show="soundList.length" novalidate>\n\n              <!-- START SOUNDS -->\n              <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sounds.$touched || forms.general.$submitted) && item.sounds.length == 0}">\n                <label class="control-label">{{\'APPLICATION_SOUNDS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                <ui-select multiple data-ng-model="item.sounds" theme="bootstrap" name="sounds" required>\n                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item.display_name}}</ui-select-match>\n                  <ui-select-choices repeat="sound.id as sound in soundList | filter: $select.search">\n                    {{sound.display_name}}\n                  </ui-select-choices>\n                </ui-select>\n                <span data-ng-show="(forms.general.sounds.$touched || forms.general.$submitted) && item.sounds.length == 0" class="help-block help-block-error">\n                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                </span>\n              </div>\n              <!-- END OPTIONS -->\n\n                                                       <input type="submit" class="btn green-haze" value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </form>\n                       </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.audios.html",'<div ui-view class="profile-content">\n<div class="row" data-ng-init="getAudioFiles()">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AUDIOS\' | translate}}</span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="audioFiles">\n                                             <a class="btn green-jungle " href="/voice/mohs/view/{{moh.id}}/add" data-toggle="dropdown">\n                                                   <i class="icon-plus"></i> {{ \'APPLICATION_ADD_FILES\' | translate }}\n                                         </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <div class="note note-warning" data-ng-hide="audioFiles">\n                                     <h4 class="block">Warning!</h4>\n                                       <p>\n                                            {{ \'MESSAGE_FOLDER_DOES_NOT_EXIST\' | translate }}\n                                  </p>\n                          </div>\n                                <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover" data-ng-show="audioFiles">\n                                        <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                           <th width="30%">{{ \'APPLICATION_PREVIEW\' | translate }}</th>\n                                                                <th width="10%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="audioFiles">\n                                      <tr data-ng-repeat="audiofile in audioFiles">\n                                                             <td>{{audiofile}}</td>\n                                                                <td>\n                                                                  <audio controls ng-src="{{getSecureSrc(audioSources[audiofile])}}" preload="none">\n                                        Your browser does not support the audio tag.\n                                        </audio></td>\n                                             <td>\n                                            <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(audiofile,audiofile)">\n                                                                             {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="audioFiles.length">\n                                                         <td colspan="3" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_AUDIOFILES_AVAILABLE\' | translate }}</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),a.put("app/voice/moh/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getMoh()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-music-tone"></i>\n                                       <a href="/voice/mohs/list">{{ \'APPLICATION_MOH_CLASS\' | translate }}</a>\n                                    <i data-ng-show="moh" class="fa fa-angle-right"></i>\n                          </li>\n                         <li data-ng-show="moh">\n                                       <a href="#">{{moh.name}}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/moh.png" class="img-responsive">\n                                </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{moh.name}}\n                                  </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.mohs.view.settings\')}">\n                                                   <a data-ng-href="/voice/mohs/view/{{moh.id}}/settings">\n                                                       <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.voice.mohs.view.audios\') || $state.is(\'main.voice.mohs.view.add\')}">\n                                                  <a data-ng-href="/voice/mohs/view/{{moh.id}}/audios">\n                                                 <i class="icon-list"></i>\n                                                     {{ \'APPLICATION_AUDIOS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/moh/view/view.settings.html",'<div class="row">\n <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_MOH_CLASS\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                           </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();">\n                              <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceMoh()" novalidate>\n\n                <!-- START PATH -->\n                   <div class="form-group" >\n               <label class="control-label">{{\'APPLICATION_PATH\' | translate}}</label>\n                     <input type="text" name="path" class="form-control" data-ng-model="moh.directory" disabled/>\n                </div>\n                <!-- END PATH -->\n\n                   <!-- START SORT -->\n                   <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$invalid}">\n                      <label class="control-label">{{\'APPLICATION_SORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                 <ui-select data-ng-model="moh.sort" theme="bootstrap" name="sort" required>\n                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                  <ui-select-choices repeat="sort.value as sort in sortOptions | filter: $select.search">\n                         {{$translate.instant(sort.name)}}\n                   </ui-select-choices>\n                </ui-select>\n                  <span data-ng-show="(forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$error.required" class="help-block help-block-error">\n                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n               </span>\n             </div>\n                <!-- END SORT -->\n\n                   <!-- START DESCRIPTION -->\n                                      <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.description.$invalid}">\n                                        <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                      <textarea type="text" name="description" class="form-control" data-ng-model="moh.description"/></textarea>\n                                                            <span data-ng-show="forms.general.$submitted && forms.general.description.$invalid" class="help-block help-block-error">\n                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                       </span>\n                                     </div>\n                                <!-- END DESCRIPTION -->\n\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                              </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/moh/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard();getContexts();">\n  <!-- BEGIN PAGE HEADER-->\n  <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-music-tone"></i>\n                               <a href="/voice/mohs/list">{{ \'APPLICATION_MOHS\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-music-tone font-green-sharp"></i>\n                      <span class="caption-subject">{{ \'APPLICATION_MOH_CLASS\' | translate }} WIZARD</a> </span>\n                  </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.name.$invalid}">\n                               <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.name.$invalid" class="help-block help-block-error">\n                               <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n            <!-- START SORT -->\n            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$invalid}">\n              <label class="control-label">{{\'APPLICATION_SORT\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <ui-select data-ng-model="item.sort" theme="bootstrap" name="sort" required>\n                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                <ui-select-choices repeat="sort.value as sort in sortOptions | filter: $select.search">\n                  {{$translate.instant(sort.name)}}\n                </ui-select-choices>\n              </ui-select>\n              <span data-ng-show="(forms.general.sort.$touched || forms.general.$submitted) && forms.general.sort.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div> -->\n            <!-- END SORT -->\n\n            <!-- START DESCRIPTION -->\n                              <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.description.$invalid}">\n                                <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                              <textarea type="text" name="description" class="form-control" data-ng-model="item.description"/></textarea>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.description.$invalid" class="help-block help-block-error">\n                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END DESCRIPTION -->\n\n\n                                            <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/queue/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n     <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/voice/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-layers font-green-sharp"></i>\n                                  <span class="caption-subject">{{ \'APPLICATION_QUEUES\' | translate }}</a> </span>\n                            </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="queues.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_QUEUE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/queues/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getQueues([\'name\', \'description\', \'strategy\', \'context\'])" csv-header="[\'Name\', \'Description\', \'Strategy\', \'Context\']" field-separator=";" filename="queues.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedQueues" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="6">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.voiceQueuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="voiceQueueByPage in voiceQueuesByPage | filter: $select.search">\n                                                                                                   <div ng-bind-html="voiceQueueByPage.name | highlight: $select.search"></div>\n                                                                                          </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(queue, checked)" checklist-model checklist-value="name"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                  <th st-sort="strategy">{{ \'APPLICATION_STRATEGY\' | translate }}</th>\n                                                            <th st-sort="context">{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="queue in displayedQueues" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="queues.checked" checklist-value="queue.name"></td>\n                                                             <td>{{queue.name}}</td>\n                                             <td>{{queue.description}}</td>\n                                        <td>{{queue.strategy}}</td>\n                                                             <td>{{queue.context}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/queues/view/{{queue.name}}/settings">\n                                                                          {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(queue.name,queue.name)">\n                                                                           {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedQueues.length">\n                                                            <td colspan="6" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="strategy" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_STRATEGY\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                             <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="context" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CONTEXT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="6" class="text-center">\n                                            <div class="pagination" st-pagination st-items-by-page="conf.voiceQueuesByPage.value" st-displayed-pages="7"></div>\n                                         </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
+a.put("app/voice/queue/view/view.agents.html",'<div class="row" data-ng-init="getTeams()">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_AGENTS\' | translate}}</span>\n                          </div>\n                        </div>\n                        <div class="note note-warning" data-ng-hide="teams.length">\n                           <h4 class="block">Warning!</h4>\n                               <p>\n                                    {{ \'MESSAGE_NO_AVAILABLE_TEAMS\' | translate }}\n                             </p>\n                  </div>\n                        <div class="portlet-body">\n                            <!-- BEGIN FORM-->\n                            <form action="index.html" class="form-horizontal form-row-seperated">\n                                 <div class="form-body text-center">\n                                           <div class="form-group last">\n                                                 <div class="col-md-9" id="multi-select-team">\n                                                 </div>\n                                                </div>\n                                        </div>\n                                </form>\n                               <!-- END FORM-->\n                      </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/queue/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getQueue()">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-layers"></i>\n                                   <a href="/voice/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                                     <i data-ng-show="queue" class="fa fa-angle-right"></i>\n                                </li>\n                         <li data-ng-show="queue">\n                                     <a href="#">{{queue.name}}</a>\n                                </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/queue.png" class="img-responsive">\n                              </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{queue.name}}\n                                        </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.queues.view.settings\')}">\n                                                 <a data-ng-href="/voice/queues/view/{{queue.name}}/settings">\n                                                 <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.is(\'main.voice.queues.view.agents\')}">\n                                                   <a data-ng-href="/voice/queues/view/{{queue.name}}/agents">\n                                                   <i class="icon-people"></i>\n                                                   {{ \'APPLICATION_AGENTS\' | translate}} </a>\n                                          </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/queue/view/view.settings.html",'<div class="row">\n       <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_QUEUE_SETTINGS\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_PERIODIC_ANNOUNCE\' | translate}}</a>\n                                   </li>\n                                 <li>\n                                          <a href="#" data-target="#tab_1_3" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts();getMohs();getSounds();">\n                                <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceQueue()" novalidate>\n                                                    <div class="row">\n                                                             <div class="col-md-6">\n                                                        <!-- START STRATEGY -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="queue.strategy" name="strategy" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                                     <ui-select-choices repeat="strategy in [\'ringall\', \'leastrecent\', \'fewestcalls\', \'random\', \'rrmemory\', \'linear\', \'wrandom\', \'rrordered\'] | filter: $select.search">\n                                                                           <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_STRATEGY\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.strategy.$touched || forms.general.$submitted) && forms.general.strategy.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                      <!-- END STRATEGY -->\n\n                                                 <!-- START MOH -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.general.musiconhold.$touched || forms.general.$submitted) && forms.general.musiconhold.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_MOH\' | translate}}</label>\n                                                              <ui-select data-ng-model="queue.musiconhold" name="musiconhold" theme="bootstrap">\n                                                                    <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="musiconhold.name as musiconhold in voiceMohs | filter: $select.search">\n                                                                            <div ng-bind-html="musiconhold.name | highlight: $select.search"></div>\n                                                                       </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_VOICE_MOH\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.musiconhold.$touched || forms.general.$submitted) && forms.general.musiconhold.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MOH -->\n\n                                                    <!-- START TIMEOUT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_TIMEOUT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="number" min="0" name="timeout" placeholder="{{\'APPLICATION_TIMEOUT\' | translate}}" class="form-control" data-ng-model="queue.timeout" required/>\n                                                               <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_TIMEOUT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.timeout.$touched || forms.general.$submitted) && forms.general.timeout.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TIMEOUT -->\n\n                                                        <!-- START MAXLEN -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.maxlen.$touched || forms.general.$submitted) && forms.general.maxlen.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_MAXLEN\' | translate}}</label>\n                                                           <input type="number" min="0" name="maxlen" placeholder="{{\'APPLICATION_MAXLEN\' | translate}}" class="form-control" data-ng-model="queue.maxlen" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MAXLEN\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.maxlen.$touched || forms.general.$submitted) && forms.general.maxlen.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAXLEN -->\n\n                                                 <!-- START RETRY -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.retry.$touched || forms.general.$submitted) && forms.general.retry.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_RETRY\' | translate}}</label>\n                                                            <input type="number" min="0" name="retry" placeholder="{{\'APPLICATION_RETRY\' | translate}}" class="form-control" data-ng-model="queue.retry" required/>\n                                                             <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RETRY\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.general.retry.$touched || forms.general.$submitted) && forms.general.retry.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RETRY -->\n\n                                          </div>\n                                                <div class="col-md-6">\n                                                        <!-- START WRAPUPTIME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.general.wrapuptime.$touched || forms.general.$submitted) && forms.general.wrapuptime.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_WRAPUPTIME\' | translate}}</label>\n                                                               <input type="number" min="0" name="wrapuptime" placeholder="{{\'APPLICATION_WRAPUPTIME\' | translate}}" class="form-control" data-ng-model="queue.wrapuptime" required/>\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_WRAPUPTIME\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.general.wrapuptime.$touched || forms.general.$submitted) && forms.general.wrapuptime.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END WRAPUPTIME -->\n\n                                                     <!-- START WEIGHT -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.weight.$touched || forms.general.$submitted) && forms.general.weight.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_WEIGHT\' | translate}}</label>\n                                                           <input type="number" min="0" name="weight" placeholder="{{\'APPLICATION_WEIGHT\' | translate}}" class="form-control" data-ng-model="queue.weight" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_WEIGHT\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.weight.$touched || forms.general.$submitted) && forms.general.weight.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END WEIGHT -->\n\n                                                 <!-- START JOINEMPTY -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.general.joinempty.$touched || forms.general.$submitted) && forms.general.joinempty.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_JOINEMPTY\' | translate}}</label>\n                                                                <ui-select multiple data-ng-model="queue.joinempty" name="joinempty" theme="bootstrap">\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'strict\',\'loose\',\'paused\',\'penalty\',\'inuse\',\'ringing\',\'unavailable\',\'invalid\',\'unknown\',\'wrapup\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_JOINEMPTY\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.general.joinempty.$touched || forms.general.$submitted) && forms.general.joinempty.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END JOINEMPTY -->\n\n                                                      <!-- START LEAVEWHENEMPTY -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.general.leavewhenempty.$touched || forms.general.$submitted) && forms.general.leavewhenempty.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_LEAVEWHENEMPTY\' | translate}}</label>\n                                                           <ui-select multiple data-ng-model="queue.leavewhenempty" name="leavewhenempty" theme="bootstrap">\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'strict\',\'loose\',\'paused\',\'penalty\',\'inuse\',\'ringing\',\'unavailable\',\'invalid\',\'unknown\',\'wrapup\'] | filter: $select.search">\n                                                                           <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_LEAVEWHENEMPTY\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.general.leavewhenempty.$touched || forms.general.$submitted) && forms.general.leavewhenempty.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END LEAVEWHENEMPTY -->\n\n                                                 <!-- START ANNOUNCE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.general.announce.$touched || forms.general.$submitted) && forms.general.announce.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_ANNOUNCE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <ui-select data-ng-model="queue.announce" name="announce" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in sounds | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.general.announce.$touched || forms.general.$submitted) && forms.general.announce.$error.required" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE -->\n                                         </div>\n                                        </div>\n                                        <!-- START DESCRIPTION -->\n                                    <div class="form-group">\n                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="queue.description"></textarea>\n                                 </div>\n                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n\n                                      <div class="tab-pane" id="tab_1_2">\n                                           <form name="forms.announce" data-ng-submit="forms.announce.$valid && updateVoiceQueue()" novalidate>\n                                                  <div class="row">\n                                                             <div class="col-md-12">\n                                                       <!-- START PERIODIC_ANNOUNCE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.periodic_announce.$touched || forms.announce.$submitted) && forms.announce.periodic_announce.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_PERIODIC_ANNOUNCE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                            <ui-select multiple data-ng-model="queue.periodic_announce" name="periodic_announce" theme="bootstrap" required>\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$item.display_name}}</ui-select-match>\n                                                                 <ui-select-choices repeat="returnAnnouncePath(announce) as announce in periodicAnnounces | filter: $select.search">\n                                                                           <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_PERIODIC_ANNOUNCE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.periodic_announce.$touched || forms.announce.$submitted) && forms.announce.periodic_announce.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PERIODIC_ANNOUNCE -->\n                                                </div>\n                                        </div>\n                                                        <div class="row">\n                                                             <div class="col-md-6">\n                                                        <p><h3>{{\'APPLICATION_SETTINGS\' | translate}}</h3></p>\n                                                      <!-- START ANNOUNCE_FREQUENCY -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_frequency.$touched || forms.announce.$submitted) && forms.announce.announce_frequency.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                               <input type="number" min="0" name="announce_frequency" placeholder="{{\'APPLICATION_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.announce_frequency" required/>\n                                                              <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_FREQUENCY\' | translate }}\n                                                            </span>\n                                                               <span data-ng-show="(forms.announce.announce_frequency.$touched || forms.announce.$submitted) && forms.announce.announce_frequency.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_FREQUENCY -->\n\n                                                     <!-- START MIN_ANNOUNCE_FREQUENCY -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.min_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.min_announce_frequency.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_MIN_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                           <input type="number" min="0" name="min_announce_frequency" placeholder="{{\'APPLICATION_MIN_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.min_announce_frequency" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MIN_ANNOUNCE_FREQUENCY\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.min_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.min_announce_frequency.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MIN_ANNOUNCE_FREQUENCY -->\n\n                                                 <!-- START PERIODIC_ANNOUNCE_FREQUENCY -->\n                                                    <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.periodic_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.periodic_announce_frequency.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_PERIODIC_ANNOUNCE_FREQUENCY\' | translate}}</label>\n                                                              <input type="number" min="0" name="periodic_announce_frequency" placeholder="{{\'APPLICATION_PERIODIC_ANNOUNCE_FREQUENCY\' | translate}}" class="form-control" data-ng-model="queue.periodic_announce_frequency"/>\n                                                            <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_PERIODIC_ANNOUNCE_FREQUENCY\' | translate }}\n                                                           </span>\n                                                               <span data-ng-show="(forms.announce.periodic_announce_frequency.$touched || forms.announce.$submitted) && forms.announce.periodic_announce_frequency.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PERIODIC_ANNOUNCE_FREQUENCY -->\n\n                                                    <!-- START RANDOM_PERIODIC_ANNOUNCE -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.random_periodic_announce.$touched || forms.announce.$submitted) && forms.announce.random_periodic_announce.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_RANDOM_PERIODIC_ANNOUNCE\' | translate}}</label>\n                                                         <ui-select data-ng-model="queue.random_periodic_announce" name="random_periodic_announce" theme="bootstrap">\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RANDOM_PERIODIC_ANNOUNCE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.random_periodic_announce.$touched || forms.announce.$submitted) && forms.announce.random_periodic_announce.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RANDOM_PERIODIC_ANNOUNCE -->\n\n                                                       <!-- START ANNOUNCE_HOLDTIME -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_holdtime.$touched || forms.announce.$submitted) && forms.announce.announce_holdtime.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_ANNOUNCE_HOLDTIME\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.announce_holdtime" name="announce_holdtime" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'once\'] | filter: $select.search">\n                                                                               <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                                  </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_HOLDTIME\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.announce_holdtime.$touched || forms.announce.$submitted) && forms.announce.announce_holdtime.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_HOLDTIME -->\n\n                                                      <!-- START ANNOUNCE_POSITION -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_position.$touched || forms.announce.$submitted) && forms.announce.announce_position.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_ANNOUNCE_POSITION\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.announce_position" name="announce_position" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'limit\',\'more\'] | filter: $select.search">\n                                                                             <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_POSITION\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.announce.announce_position.$touched || forms.announce.$submitted) && forms.announce.announce_position.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_POSITION -->\n\n                                                      <!-- START ANNOUNCE_POSITION_LIMIT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.announce_position_limit.$touched || forms.announce.$submitted) && forms.announce.announce_position_limit.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_ANNOUNCE_POSITION_LIMIT\' | translate}}</label>\n                                                          <input type="number" min="0" name="announce_position_limit" placeholder="{{\'APPLICATION_ANNOUNCE_POSITION_LIMIT\' | translate}}" class="form-control" data-ng-model="queue.announce_position_limit"/>\n                                                                <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_ANNOUNCE_POSITION_LIMIT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.announce_position_limit.$touched || forms.announce.$submitted) && forms.announce.announce_position_limit.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END ANNOUNCE_POSITION_LIMIT -->\n\n                                                        <!-- START REPORTHOLDTIME -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.reportholdtime.$touched || forms.announce.$submitted) && forms.announce.reportholdtime.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_REPORTHOLDTIME\' | translate}}</label>\n                                                           <ui-select data-ng-model="queue.reportholdtime" name="reportholdtime" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_REPORTHOLDTIME\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.reportholdtime.$touched || forms.announce.$submitted) && forms.announce.reportholdtime.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END REPORTHOLDTIME -->\n\n                                         </div>\n                                                        <div class="col-md-6">\n                                                                <p><h3>{{\'APPLICATION_SOUNDS\' | translate}}</h3></p>\n                                                                <!-- START QUEUE_REPORTHOLD -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_reporthold.$touched || forms.announce.$submitted) && forms.announce.queue_reporthold.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_QUEUE_REPORTHOLD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <ui-select data-ng-model="queue.queue_reporthold" name="queue_reporthold" theme="bootstrap" required>\n                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                                      <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                          </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span class="help-block">\n                                                                             {{ \'DESCRIPTION_QUEUE_REPORTHOLD\' | translate }}\n                                                                    </span>\n                                                                       <span data-ng-show="(forms.announce.queue_reporthold.$touched || forms.announce.$submitted) && forms.announce.queue_reporthold.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE_REPORTHOLD -->\n\n                                                               <!-- START QUEUE_YOUARENEXT -->\n                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_youarenext.$touched || forms.announce.$submitted) && forms.announce.queue_youarenext.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_QUEUE_YOUARENEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                     <ui-select data-ng-model="queue.queue_youarenext" name="queue_youarenext" theme="bootstrap" required>\n                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                              <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                                      <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                          </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span class="help-block">\n                                                                             {{ \'DESCRIPTION_QUEUE_YOUARENEXT\' | translate }}\n                                                                    </span>\n                                                                       <span data-ng-show="(forms.announce.queue_youarenext.$touched || forms.announce.$submitted) && forms.announce.queue_youarenext.$error.required" class="help-block help-block-error">\n                                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END QUEUE_YOUARENEXT -->\n\n                                                       <!-- START QUEUE_THEREARE -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_thereare.$touched || forms.announce.$submitted) && forms.announce.queue_thereare.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_THEREARE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_thereare" name="queue_thereare" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_THEREARE\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_thereare.$touched || forms.announce.$submitted) && forms.announce.queue_thereare.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_THEREARE -->\n\n                                                 <!-- START QUEUE_CALLSWAITING -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_callswaiting.$touched || forms.announce.$submitted) && forms.announce.queue_callswaiting.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_CALLSWAITING\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                           <ui-select data-ng-model="queue.queue_callswaiting" name="queue_callswaiting" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_CALLSWAITING\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.announce.queue_callswaiting.$touched || forms.announce.$submitted) && forms.announce.queue_callswaiting.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_CALLSWAITING -->\n\n                                                     <!-- START QUEUE_HOLDTIME -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_holdtime.$touched || forms.announce.$submitted) && forms.announce.queue_holdtime.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_HOLDTIME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_holdtime" name="queue_holdtime" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_HOLDTIME\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_holdtime.$touched || forms.announce.$submitted) && forms.announce.queue_holdtime.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_HOLDTIME -->\n\n                                                 <!-- START QUEUE_MINUTES -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_minutes.$touched || forms.announce.$submitted) && forms.announce.queue_minutes.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_QUEUE_MINUTES\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="queue.queue_minutes" name="queue_minutes" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MINUTES\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.queue_minutes.$touched || forms.announce.$submitted) && forms.announce.queue_minutes.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_MINUTES -->\n\n                                                  <!-- START QUEUE_MINUTE -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_minute.$touched || forms.announce.$submitted) && forms.announce.queue_minute.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_QUEUE_MINUTE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                         <ui-select data-ng-model="queue.queue_minute" name="queue_minute" theme="bootstrap" required>\n                                                                 <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MINUTE\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.announce.queue_minute.$touched || forms.announce.$submitted) && forms.announce.queue_minute.$error.required" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_MINUTE -->\n\n                                                   <!-- START QUEUE_SECONDS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_seconds.$touched || forms.announce.$submitted) && forms.announce.queue_seconds.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_QUEUE_SECONDS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="queue.queue_seconds" name="queue_seconds" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_SECONDS\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.announce.queue_seconds.$touched || forms.announce.$submitted) && forms.announce.queue_seconds.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_SECONDS -->\n\n                                                  <!-- START QUEUE_THANKYOU -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.announce.queue_thankyou.$touched || forms.announce.$submitted) && forms.announce.queue_thankyou.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_QUEUE_THANKYOU\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.queue_thankyou" name="QUEUE_THANKYOU" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="returnAnnouncePath(announce) as announce in queueAnnounces | filter: $select.search">\n                                                                              <div ng-bind-html="announce.display_name | highlight: $select.search"></div>\n                                                                  </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_THANKYOU\' | translate }}\n                                                              </span>\n                                                               <span data-ng-show="(forms.announce.queue_thankyou.$touched || forms.announce.$submitted) && forms.announce.queue_thankyou.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END QUEUE_THANKYOU -->\n\n                                         </div>\n                                        </div>\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <div class="tab-pane" id="tab_1_3">\n                                           <form name="forms.advanced" data-ng-submit="forms.advanced.$valid && updateVoiceQueue()" novalidate>\n\n                                                        <div class="row">\n                                                             <div class="col-md-6">\n\n                                                      <!-- START AUTOPAUSE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.autopause.$touched || forms.advanced.$submitted) && forms.advanced.autopause.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_AUTOPAUSE\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.autopause" name="autopause" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\',\'all\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_AUTOPAUSE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.autopause.$touched || forms.advanced.$submitted) && forms.advanced.autopause.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END AUTOPAUSE -->\n\n                                                      <!-- START RINGINUSE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.ringinuse.$touched || forms.advanced.$submitted) && forms.advanced.ringinuse.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_RINGINUSE\' | translate}}</label>\n                                                                <ui-select data-ng-model="queue.ringinuse" name="ringinuse" theme="bootstrap">\n                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_RINGINUSE\' | translate }}\n                                                             </span>\n                                                               <span data-ng-show="(forms.advanced.ringinuse.$touched || forms.advanced.$submitted) && forms.advanced.ringinuse.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END RINGINUSE -->\n\n                                                      <!-- START MEMBER_DELAY -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.memberdelay.$touched || forms.advanced.$submitted) && forms.advanced.memberdelay.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_MEMBER_DELAY\' | translate}}</label>\n                                                             <input type="number" min="0" name="memberdelay" placeholder="{{\'APPLICATION_MEMBER_DELAY\' | translate}}" class="form-control" data-ng-model="queue.memberdelay" required/>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MEMBER_DELAY\' | translate }}\n                                                          </span>\n                                                               <span data-ng-show="(forms.advanced.memberdelay.$touched || forms.advanced.$submitted) && forms.advanced.memberdelay.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MEMBER_DELAY -->\n                                             </div>\n                                                        <div class="col-md-6">\n\n                                                      <!-- START TIMEOUTRESTART -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.timeoutrestart.$touched || forms.advanced.$submitted) && forms.advanced.timeoutrestart.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_TIMEOUTRESTART\' | translate}}</label>\n                                                           <ui-select data-ng-model="queue.timeoutrestart" name="timeoutrestart" theme="bootstrap">\n                                                                      <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                      <ui-select-choices repeat="item in [\'yes\',\'no\'] | filter: $select.search">\n                                                                                <div ng-bind-html="item | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_TIMEOUTRESTART\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.advanced.timeoutrestart.$touched || forms.advanced.$submitted) && forms.advanced.timeoutrestart.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TIMEOUTRESTART -->\n\n                                                 <!-- START MONITOR_FORMAT -->\n                                                 <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.monitor_format.$touched || forms.advanced.$submitted) && forms.advanced.monitor_format.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_MONITOR_FORMAT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                               <ui-select data-ng-model="queue.monitor_format" name="monitor_format" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="monFormat.value as monFormat in monitorFormats | filter: $select.search">\n                                                                          <div ng-bind-html="monFormat.name | highlight: $select.search"></div>\n                                                                 </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_MONITOR_FORMAT\' | translate }}\n                                                                </span>\n                                                               <span data-ng-show="(forms.advanced.monitor_format.$touched || forms.advanced.$submitted) && forms.advanced.monitor_format.$error.required" class="help-block help-block-error">\n                                                                      <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MONITOR_FORMAT -->\n\n                                                 <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.advanced.context.$touched || forms.advanced.$submitted) && forms.advanced.context.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}</label>\n                                                          <ui-select data-ng-model="queue.context" name="context" theme="bootstrap">\n                                                                    <ui-select-match allow-clear placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                  <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_QUEUE_VOICE_CONTEXT\' | translate }}\n                                                         </span>\n                                                               <span data-ng-show="(forms.advanced.context.$touched || forms.advanced.$submitted) && forms.advanced.context.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                </div>\n                                        </div>\n\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),
 a.put("app/voice/queue/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n     <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-layers"></i>\n                           <a href="/voice/queues/list">{{ \'APPLICATION_QUEUES\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="/voice/queues/wizard">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                   </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-layers font-green-sharp"></i>\n                          <span class="caption-subject">{{ \'APPLICATION_QUEUE\' | translate }} WIZARD</a> </span>\n              </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.queue.$valid)">\n                           <form name="forms.queue" novalidate>\n\n                          <!-- START NAME -->\n                           <div class="form-group" data-ng-class="{\'has-error\': (forms.queue.name.$touched || forms.queue.$submitted) && forms.queue.name.$invalid}">\n                            <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                         <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                   <span data-ng-show="(forms.queue.name.$touched || forms.queue.$submitted) && forms.queue.name.$error.required" class="help-block help-block-error">\n                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END NAME -->\n\n                           <!-- START STRATEGY -->\n                                         <div class="form-group" data-ng-class="{\'has-error\': (forms.queue.strategy.$touched || forms.queue.$submitted) && forms.queue.strategy.$invalid}">\n                                                  <label class="control-label">{{\'APPLICATION_STRATEGY\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <ui-select data-ng-model="item.strategy" name="strategy" theme="bootstrap" required>\n                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.toUpperCase()}}</ui-select-match>\n                                                             <ui-select-choices repeat="strategy in [\'ringall\', \'leastrecent\', \'fewestcalls\', \'random\', \'rrmemory\', \'linear\', \'wrandom\', \'rrordered\'] | filter: $select.search">\n                                                                   <div ng-bind-html="strategy.toUpperCase() | highlight: $select.search"></div>\n                                                         </ui-select-choices>\n                                                  </ui-select>\n                                                  <span class="help-block">\n                                                             {{ \'DESCRIPTION_QUEUE_STRATEGY\' | translate }}\n                                                      </span>\n                                                       <span data-ng-show="(forms.queue.strategy.$touched || forms.queue.$submitted) && forms.queue.strategy.$error.required" class="help-block help-block-error">\n                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                              <!-- END STRATEGY -->\n\n                                         <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n                                          </div>\n                                                <!-- END DESCRIPTION -->\n\n\n                        <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                          </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/realtime/view/agent/agent.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initAgents()">\n       <div class="col-md-12">\n        <div ng-show="selected">Selection from a modal: {{ selected }}</div>\n         <!-- BEGIN TABLE -->\n                  <table st-table="displayedGroups" st-safe-src="groups" class="table table-striped table-bordered table-hover">\n                                <div class="table-responsive">\n                                  <thead>\n                                             <tr>\n                                                  <th colspan="10">\n                                                             <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                     <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                             <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                       </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                        <div class="col-md-6">\n                                                                                <!-- <div class="input-group input-medium pull-right">\n                                                                                        <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div> -->\n                                                                    </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="memebername" colspan="3">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                        <th st-sort="queue">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                                  <th>{{ \'APPLICATION_LAST_LOGIN\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_LAST_PAUSE\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_LAST_INCOMING_CALL\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_SERVED\' | translate }}</th>\n                                                     <th colspan="2"></th>\n                                   </tr>\n                                 </thead>\n                                    <tbody>\n                                   <tr data-ng-repeat-start="group in displayedGroups">\n                                                      <td rowspan="{{group.queues.length}}" align="center" style="vertical-align:middle">{{group.membername}}</td>\n                                                  <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <span data-ng-class="{\'icon-like font-green\': queue.lastevent != \'called\' && queue.lastevent != \'connect\' ,\'icon-bell font-yellow\': queue.lastevent == \'called\', \'icon-call-in font-red\': queue.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <span class="icon-cup" data-ng-class="queue.paused ? \'font-red\' : \'font-green\'"></span>\n                                                   </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                {{queue.queue}}\n                                                       </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{queue.loggedAt}}" data-ng-show="queue.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                                <span class="badge badge-empty badge-danger" data-ng-show="!queue.logged"></span>\n                                                    </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{queue.pausedAt}}" data-ng-show="queue.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{queue.paused ? \'(\' + queue.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{queue.lastcall}}" data-ng-show="queue.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                {{queue.callstaken}}\n                                                  </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$first" align="center">\n                                                                <span data-ng-show="queue.logged" class="icon-cup pull-left" style="cursor:pointer;" ng-click="pause(null, queue)"> </span>\n                                                           <span class="icon-close font-red pull-right" style="cursor:pointer;" ng-click="remove(null, queue)"> </span>\n                                                  </td>\n                                                 <td rowspan="{{group.queues.length}}" align="center" style="vertical-align:middle">\n                                                           <span data-ng-show="group.queues.length > 1" class="icon-cup pull-left" style="cursor:pointer;" ng-click="pause(null, group.queues)"> </span>\n                                                         <span class="icon-plus font-green" style="cursor:pointer;" ng-click="add(null, group.queues)"> </span>\n                                                                <span data-ng-show="group.queues.length > 1" class="icon-close font-red pull-right" style="cursor:pointer;" ng-click="remove(null, group.queues)"></span>\n                                                     </td>\n                             </tr>\n                                             <tr data-ng-repeat="queue in group.queues" data-ng-if="$middle">\n                                                      <td data-ng-repeat="queue in group.queues" data-ng-if="$middle" align="center">\n                                                               <span data-ng-class="{\'icon-like font-green\': queue.lastevent != \'called\' && queue.lastevent != \'connect\' ,\'icon-bell font-yellow\': queue.lastevent == \'called\', \'icon-call-in font-red\': queue.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$middle" align="center">\n                                                               <span class="icon-cup" data-ng-class="queue.paused ? \'font-red\' : \'font-green\'"></span>\n                                                   </td>\n                                                 <td align="center">\n                                                           {{queue.queue}}\n                                                       </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{queue.loggedAt}}" data-ng-show="queue.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                               <span class="badge badge-empty badge-danger" data-ng-show="!queue.logged"></span>\n                                                     </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$middle" align="center">\n                                                               <time is="relative-time" datetime="{{queue.pausedAt}}" data-ng-show="queue.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{queue.paused ? \'(\' + queue.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{queue.lastcall}}" data-ng-show="queue.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$middle" align="center">\n                                                               {{queue.callstaken}}\n                                                  </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$middle" align="center">\n                                                               <span data-ng-show="queue.logged" class="icon-cup pull-left" style="cursor:pointer;" ng-click="pause(null, queue)"> </span>\n                                                           <span class="icon-close font-red pull-right" style="cursor:pointer;" ng-click="remove(null, queue)"> </span>\n                                                  </td>\n                                         </tr>\n                                         <tr data-ng-repeat="queue in group.queues" data-ng-if="group.queues.length > 1 && $last" data-ng-repeat-end>\n                                                  <td data-ng-repeat="queue in group.queues" data-ng-if="$last" align="center">\n                                                         <span data-ng-class="{\'icon-like font-green\': queue.lastevent != \'called\' && queue.lastevent != \'connect\' ,\'icon-bell font-yellow\': queue.lastevent == \'called\', \'icon-call-in font-red\': queue.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$last" align="center">\n                                                         <span class="icon-cup" data-ng-class="queue.paused ? \'font-red\': \'font-green\'"></span>\n                                                    </td>\n                                                 <td align="center">\n                                                           {{queue.queue}}\n                                                       </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{queue.loggedAt}}" data-ng-show="queue.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                               <span class="badge badge-empty badge-danger" data-ng-show="!queue.logged"></span>\n                                                     </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$last" align="center">\n                                                         <time is="relative-time" datetime="{{queue.pausedAt}}" data-ng-show="queue.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{queue.paused ? \'(\' + queue.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{queue.lastcall}}" data-ng-show="queue.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$last" align="center">\n                                                         {{queue.callstaken}}\n                                                  </td>\n                                                 <td data-ng-repeat="queue in group.queues" data-ng-if="$last" align="center">\n                                                         <span data-ng-show="queue.logged" class="icon-cup pull-left" style="cursor:pointer;" ng-click="pause(null, queue)"> </span>\n                                                           <span class="icon-close font-red pull-right" style="cursor:pointer;" ng-click="remove(null, queue)"> </span>\n                                                  </td>\n                                         </tr>\n                                         <tr data-ng-hide="displayedGroups.length">\n                                                    <td colspan="9" style="text-align:center;">\n                                                           <i>No agents available</i>\n                                                    </td>\n                                         </tr>\n                           </tbody>\n                              <tfoot>\n                                             <tr>\n                                                  <td colspan="1">\n                                                              <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                         </div>\n                                                        <td colspan="9"></td>\n                                   </tr>\n                                   <tr>\n                                    <td colspan="10" class="text-center">\n                                                           <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                      </td>\n                               </tr>\n                               </tfoot>\n                            </div>\n                        </table>\n              <!-- END TABLE -->\n    </div>\n\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/realtime/view/agent/pause.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_PAUSE_SELECTION\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n               <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item" data-ng-hide="data.length">\n                                 {{ \'APPLICATION_QUEUE\' | translate }}: <b class="pull-right">{{ selected.queue }}</b>\n                      </li>\n      <li class="list-group-item">\n                              {{ \'APPLICATION_AGENT\' | translate }}: <b class="pull-right">{{ selected.membername }}</b>\n                 </li>\n      <li class="list-group-item">\n        <div class="btn-group">\n          <ui-select ng-model="selected.item" theme="bootstrap" ng-disabled="disabled" class="btn input-xlarge pull-left">\n            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected}}</ui-select-match>\n            <ui-select-choices repeat="item in items | filter: $select.search">\n              <div ng-bind-html="item | highlight: $select.search"></div>\n            </ui-select-choices>\n          </ui-select>\n          <button class="btn btn-success pull-right" type="button" ng-click="ok(true)" style="margin-top: 7px;">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n        </div>\n                    </li>\n         </ul>\n </div>\n  <button data-ng-show="(data | isArray) ? (data | where: {paused: true}).length : data.paused " class="btn btn-danger btn-block" type="button" ng-click="ok(false, data.queue)">Exit</button>\n</div>\n<div class="modal-footer">\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/agent/queue.modal.add.html",'<div class="modal-header" data-ng-init="initAdd()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_SELECTION\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info" data-ng-show="selected.queue">\n         <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n        <div class="form-group row">\n                                     <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_AGENT\' | translate}}" class="form-control" data-ng-model="selected.membername" ng-disabled="true"/>\n                                     </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="queues.length">\n        <div class="form-group row">\n                                    <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <ui-select ng-model="selected.queue" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_QUEUE\' | translate}}">{{$select.selected.name}}</ui-select-match>\n              <ui-select-choices repeat="queue.name as queue in queues | filter: $select.search">\n                <div ng-bind-html="queue.name | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                       </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PENALTY\' | translate}}:</label>\n                                       <div class="col-md-10">\n            <input type="number" min="0" max="10" placeholder="{{\'APPLICATION_PENALTY\' | translate}}" class="form-control" data-ng-model="selected.penalty"/>\n                                      </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PAUSE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.paused" btn-checkbox> {{ selected.paused ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="selected.paused">\n        <div class="form-group row">\n                                  <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_REASON\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <ui-select ng-model="selected.reason" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_REASON\' | translate}}">{{$select.selected}}</ui-select-match>\n              <ui-select-choices repeat="pause in pauses | filter: $select.search">\n                <div ng-bind-html="pause | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                     </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGIN\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.login" btn-checkbox> {{ selected.login ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                    </div>\n                                </div>\n      </li>\n           </ul>\n    <!-- End List group -->\n  </div>\n  <div class="note note-warning" data-ng-hide="selected.queue">\n    <h4 class="block">Warning!</h4>\n    <p>\n       {{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}\n    </p>\n  </div>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="okAdd()" data-ng-show="selected.queue">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/agent/queue.modal.remove.html",'<div class="modal-header" data-ng-init="initRemove()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_REMOVAL\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n           <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item" data-ng-hide="data.length">\n        <div class="form-group row">\n                                  <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_AGENT\' | translate}}" class="form-control" data-ng-model="selected.membername" ng-disabled="true"/>\n                                     </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="data.length">\n        <div class="form-group row">\n                                      <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_QUEUE\' | translate}}" class="form-control" data-ng-model="selected.queue" ng-disabled="true"/>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                 <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGOUT\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.logout" btn-checkbox> {{ selected.logout ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n            <span class="help-block">{{ \'MESSAGE_PERMANENT_REMOVAL_FROM_QUEUE\' | translate }}. </span>\n          </div>\n                              </div>\n      </li>\n           </ul>\n </div>\n  <button class="btn btn-danger btn-block" type="button" ng-click="okRemove()">{{ \'APPLICATION_REMOVE\' | translate }}</button>\n</div>\n<div class="modal-footer">\n  <!-- <button class="btn btn-success" type="button" ng-click="okRemove()">{{ \'APPLICATION_CONFIRM\' | translate }}</button> -->\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/areport/report.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initReport()">\n <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedAgents" st-safe-src="agents" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="11">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                         <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                    <th st-sort="queue">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                              <th st-sort="membername">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                             <th st-sort="calleridname">{{ \'APPLICATION_CALLER\' | translate }}</th>\n                                              <th st-sort="agentcalledAt">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                          <th st-sort="agentconnectAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                              <th st-sort="agentcompleteAt">{{ \'APPLICATION_COMPLETED_AT\' | translate }}</th>\n                                             <th st-sort="reason">{{ \'APPLICATION_REASON\' | translate }}</th>\n                                            <th st-sort="holdtime">{{ \'APPLICATION_HOLDTIME\' | translate }}</th>\n                                    <th st-sort="talktime">{{ \'APPLICATION_TALKTIME\' | translate }}</th>\n                              </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="agent in displayedAgents">\n                                            <td><span data-ng-class="{\'icon-call-in font-yellow\': agent.lastevent === \'called\',\n                                                       \'icon-phone font-blue\': agent.lastevent === \'connect\',\n                                                    \'icon-call-end font-green\': agent.lastevent === \'complete\',\n                                                       \'icon-call-end font-red\': agent.lastevent === \'answered_elsewhere\'}"></span>\n                                              </td>\n                                         <td>{{agent.uniqueid}}</td>\n                                           <td>{{agent.queue}}</td>\n                                              <td>{{agent.destcalleridname ? agent.destcalleridname + \' [\' + agent.membername + \']\' : agent.membername }}</td>\n                                          <td>{{agent.calleridname ? agent.calleridname + \' [\' + agent.calleridnum + \']\' : agent.calleridnum }}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcalledAt}}">\n                                                          April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentconnectAt}}" data-ng-show="agent.agentconnectAt">\n                                                             April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{agent.agentcompleteAt}}" data-ng-show="agent.agentcompleteAt">\n                                                           April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  {{agent.reason | uppercase}}\n                                          </td>\n                                         <td>{{agent.holdtime || 0 | VoiceRealtimeViewAgentReportFilter | date:\'HH:mm:ss\'}}</td>\n                           <td>{{agent.talktime || 0 | VoiceRealtimeViewAgentReportFilter | date:\'HH:mm:ss\'}}</td>\n                           </tr>\n                                     <tr data-ng-hide="displayedAgents.length">\n                                            <td colspan="11" style="text-align:center;">\n                                                  <i>No agents available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                                         <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" data-ng-model="filters.uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="membername" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                 </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="calleridnum" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CALLER\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="7"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="11" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/realtime/view/qreport/report.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initReport()">\n   <div class="col-md-12">\n               <!-- START TABLE -->\n          <table st-table="displayedQueues" st-safe-src="queues" class="table table-striped table-bordered table-hover">\n                        <div class="table-responsive">\n                          <thead>\n                                     <tr>\n                                          <th colspan="10">\n                                                     <div class="row">\n                                                             <div class="col-md-6">\n                                                                        <ui-select class="input-xsmall" ng-model="conf.queuesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                             <ui-select-choices repeat="queueByPage in queuesByPage | filter: $select.search">\n                                                                                     <div ng-bind-html="queueByPage.name | highlight: $select.search"></div>\n                                                                               </ui-select-choices>\n                                                                  </ui-select>\n                                                          </div>\n                                                                <div class="col-md-6">\n                                                                        <div class="input-group input-medium pull-right">\n                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search"/>\n                                                                          <span class="input-group-addon">\n                                                                                      <i class="fa fa-search"></i>\n                                                                          </span>\n                                                                       </div>\n                                                                </div>\n                                                        </div>\n                                                </th>\n                                 </tr>\n                           <tr>\n                                                <th></th>\n                                             <th st-sort="uniqueid">{{ \'APPLICATION_UNIQUEID\' | translate }}</th>\n                                    <th st-sort="queue">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                              <th st-sort="membername">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                             <th st-sort="calleridname">{{ \'APPLICATION_CALLER\' | translate }}</th>\n                                              <th st-sort="queuecallerjoinAt">{{ \'APPLICATION_CALLED_AT\' | translate }}</th>\n                                              <th st-sort="queuecallerleaveAt">{{ \'APPLICATION_CONNECTED_AT\' | translate }}</th>\n                                          <th st-sort="queuecallerabandonAt">{{ \'APPLICATION_ABANDONED_AT\' | translate }}</th>\n                                  </tr>\n                         </thead>\n                      <tbody>\n                         <tr data-ng-repeat="queue in displayedQueues">\n                                            <td><span data-ng-class="{\'icon-call-in font-yellow\': queue.queuecallerjoinAt && !queue.queuecallerleaveAt,\n                                                 \'icon-phone font-blue\': queue.queuecallerjoinAt && queue.queuecallerleaveAt,\n                                                        \'icon-call-end font-red\': queue.queuecallerjoinAt && queue.queuecallerleaveAt && queue.queuecallerabandonAt}"></span>\n                                               </td>\n                                         <td>{{queue.uniqueid}}</td>\n                                           <td>{{queue.queue}}</td>\n                                              <td>{{queue.connectedlinename ? queue.connectedlinename + \' [\' + queue.connectedlinenum + \']\' : queue.connectedlinenum }}</td>\n                                            <td>{{queue.calleridname ? queue.calleridname + \' [\' + queue.calleridnum + \']\' : queue.calleridnum }}</td>\n                                                <td>\n                                                  <time is="relative-time" datetime="{{queue.queuecallerjoinAt}}">\n                                                              April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{queue.queuecallerleaveAt}}" data-ng-show="queue.queuecallerleaveAt">\n                                                             April 1, 2014\n                                                 </time>\n                                               </td>\n                                         <td>\n                                                  <time is="relative-time" datetime="{{queue.queuecallerabandonAt}}" data-ng-show="queue.queuecallerabandonAt">\n                                                         April 1, 2014\n                                                 </time>\n                                               </td>\n                     </tr>\n                                     <tr data-ng-hide="displayedQueues.length">\n                                            <td colspan="10" style="text-align:center;">\n                                                  <i>No queues available</i>\n                                            </td>\n                                 </tr>\n                   </tbody>\n                      <tfoot>\n                                     <tr>\n                                          <td/>\n                             <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="uniqueid" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_UNIQUEID\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                        </div>\n                                    </td>\n                                             <td>\n                                                  <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                      </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="connectedlinename" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_AGENT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                  </div>\n                                    </td>\n                                 <td>\n                                                      <div class="input-icon right">\n                                                                <i class="fa fa-search"></i>\n                                                          <input st-search="calleridnum" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CALLER\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                       </div>\n                                    </td>\n                                             <td colspan="6"></td>\n                           </tr>\n                           <tr>\n                            <td colspan="10" class="text-center">\n                                                   <div class="pagination" st-pagination st-items-by-page="conf.queuesByPage.value" st-displayed-pages="7"></div>\n                              </td>\n                       </tr>\n                       </tfoot>\n                    </div>\n                </table>\n              <!-- END TABLE -->\n    </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/voice/realtime/view/queue/pause.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_PAUSE_SELECTION\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n             <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n                            {{ \'APPLICATION_QUEUE\' | translate }}: <b class="pull-right">{{ selected.queue }}</b>\n                      </li>\n      <li class="list-group-item" data-ng-hide="data.length">\n                           {{ \'APPLICATION_AGENT\' | translate }}: <b class="pull-right">{{ selected.membername }}</b>\n                 </li>\n      <li class="list-group-item">\n        <div class="btn-group">\n          <ui-select ng-model="selected.item" theme="bootstrap" ng-disabled="disabled" class="btn input-xlarge pull-left">\n            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected}}</ui-select-match>\n            <ui-select-choices repeat="item in items | filter: $select.search">\n              <div ng-bind-html="item | highlight: $select.search"></div>\n            </ui-select-choices>\n          </ui-select>\n          <button class="btn btn-success pull-right" type="button" ng-click="ok(true)" style="margin-top: 7px;">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n        </div>\n                    </li>\n         </ul>\n </div>\n  <button data-ng-show="(data | isArray) ? (data | where: {paused: true}).length : data.paused " class="btn btn-danger btn-block" type="button" ng-click="ok(false, data.queue)">Exit</button>\n</div>\n<div class="modal-footer">\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/queue/queue.add.modal.html",'<div class="modal-header" data-ng-init="initAdd()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_SELECTION\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n               <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n        <div class="form-group row">\n                                     <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_AGENT\' | translate}}" class="form-control" data-ng-model="selected.membername" ng-disabled="true"/>\n                                     </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="queues.length">\n        <div class="form-group row">\n                                    <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <ui-select ng-model="selected.queue" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_QUEUE\' | translate}}">{{$select.selected.name}}</ui-select-match>\n              <ui-select-choices repeat="queue.name as queue in queues | filter: $select.search">\n                <div ng-bind-html="queue.name | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                       </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PENALTY\' | translate}}:</label>\n                                       <div class="col-md-10">\n            <input type="number" min="0" max="10" placeholder="{{\'APPLICATION_PENALTY\' | translate}}" class="form-control" data-ng-model="selected.penalty"/>\n                                      </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PAUSE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.paused" ui-btn-checkbox> {{ selected.paused ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                       </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="selected.paused">\n        <div class="form-group row">\n                                  <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_REASON\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <ui-select ng-model="selected.reason" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_REASON\' | translate}}">{{$select.selected}}</ui-select-match>\n              <ui-select-choices repeat="pause in pauses | filter: $select.search">\n                <div ng-bind-html="pause | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                     </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGIN\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.login" ui-btn-checkbox> {{ selected.login ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                 </div>\n                                </div>\n      </li>\n           </ul>\n </div>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="okAdd()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/queue/queue.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initQueues()">\n  <div class="col-md-12">\n        <div ng-show="selected">Selection from a modal: {{ selected }}</div>\n         <!-- BEGIN TABLE -->\n                  <table st-table="displayedGroups" st-safe-src="groups" class="table table-striped table-bordered table-hover">\n                                <div class="table-responsive">\n                                  <thead>\n                                             <tr>\n                                                  <th colspan="10">\n                                                             <div class="row">\n                                                                     <div class="col-md-6">\n                                                                                <ui-select class="input-xsmall" ng-model="conf.agentsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                     <ui-select-choices repeat="agentByPage in agentsByPage | filter: $select.search">\n                                                                                             <div ng-bind-html="agentByPage.name | highlight: $select.search"></div>\n                                                                                       </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                        <div class="col-md-6">\n                                                                                <!-- <div class="input-group input-medium pull-right">\n                                                                                        <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                 <span class="input-group-addon">\n                                                                                              <i class="fa fa-search"></i>\n                                                                                  </span>\n                                                                               </div> -->\n                                                                    </div>\n                                                                </div>\n                                                        </th>\n                                         </tr>\n                                         <tr>\n                                                  <th st-sort="memebername" colspan="3">{{ \'APPLICATION_QUEUE\' | translate }}</th>\n                                        <th st-sort="agent">{{ \'APPLICATION_AGENT\' | translate }}</th>\n                                                  <th>{{ \'APPLICATION_LAST_LOGIN\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_LAST_PAUSE\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_LAST_INCOMING_CALL\' | translate }}</th>\n                                                 <th>{{ \'APPLICATION_SERVED\' | translate }}</th>\n                                                     <th colspan="2"></th>\n                                   </tr>\n                                 </thead>\n                                    <tbody>\n                                   <tr data-ng-repeat-start="group in displayedGroups">\n                                                      <td rowspan="{{group.agents.length}}" align="center" style="vertical-align:middle">{{group.queue}}</td>\n                                                       <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <span data-ng-class="{\'icon-like font-green\': agent.lastevent != \'called\' && agent.lastevent != \'connect\' ,\'icon-bell font-yellow\': agent.lastevent == \'called\', \'icon-call-in font-red\': agent.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <span class="icon-cup" data-ng-class="agent.paused ? \'font-red\' : \'font-green\'"></span>\n                                                   </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                {{agent.membername}}\n                                                  </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{agent.loggedAt}}" data-ng-show="agent.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                                <span class="badge badge-empty badge-danger" data-ng-show="!agent.logged"></span>\n                                                    </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{agent.pausedAt}}" data-ng-show="agent.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{agent.paused ? \'(\' + agent.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <time is="relative-time" datetime="{{agent.lastcall}}" data-ng-show="agent.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                {{agent.callstaken}}\n                                                  </td>\n                                                 <td data-ng-repeat="agent in group.agents" data-ng-if="$first" align="center">\n                                                                <span data-ng-show="agent.logged" class="icon-cup pull-left" style="cursor:pointer;" data-ng-click="pause(null, agent)"> </span>\n                                                              <span class="icon-close font-red pull-right" style="cursor:pointer;" data-ng-click="remove(null, agent)"> </span>\n                                                     </td>\n                                                 <td rowspan="{{group.agents.length}}" align="center" style="vertical-align:middle">\n                                                           <span data-ng-show="group.agents.length > 1" class="icon-cup pull-left" style="cursor:pointer;" data-ng-click="pause(null, group.agents)"> </span>\n                                                            <span class="icon-plus font-green" style="cursor:pointer;" data-ng-click="add(null, group.agents)"> </span>\n                                                           <span data-ng-show="group.agents.length > 1" class="icon-close font-red pull-right" style="cursor:pointer;" data-ng-click="remove(null, group.agents)"></span>\n                                                        </td>\n                             </tr>\n                                             <tr data-ng-repeat="agent in group.agents" data-ng-if="$middle">\n                                                      <td align="center">\n                                                           <span data-ng-class="{\'icon-like font-green\': agent.lastevent != \'called\' && agent.lastevent != \'connect\' ,\'icon-bell font-yellow\': agent.lastevent == \'called\', \'icon-call-in font-red\': agent.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td align="center">\n                                                           <span class="icon-cup" data-ng-class="agent.paused ? \'font-red\' : \'font-green\'"></span>\n                                                   </td>\n                                                 <td align="center">\n                                                           {{agent.membername}}\n                                                  </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.loggedAt}}" data-ng-show="agent.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                               <span class="badge badge-empty badge-danger" data-ng-show="!agent.logged"></span>\n                                                     </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.pausedAt}}" data-ng-show="agent.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{agent.paused ? \'(\' + agent.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.lastcall}}" data-ng-show="agent.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td align="center">\n                                                           {{agent.callstaken}}\n                                                  </td>\n                                                 <td align="center">\n                                                           <span data-ng-show="agent.logged" class="icon-cup pull-left" style="cursor:pointer;" data-ng-click="pause(null, agent)"> </span>\n                                                              <span class="icon-close font-red pull-right" style="cursor:pointer;" data-ng-click="remove(null, agent)"> </span>\n                                                     </td>\n                                         </tr>\n                                         <tr data-ng-repeat="agent in group.agents" data-ng-if="group.agents.length > 1 && $last" data-ng-repeat-end>\n                                                  <td align="center">\n                                                           <span data-ng-class="{\'icon-like font-green\': agent.lastevent != \'called\' && agent.lastevent != \'connect\' ,\'icon-bell font-yellow\': agent.lastevent == \'called\', \'icon-call-in font-red\': agent.lastevent == \'connect\'}"></span>\n                                                        </td>\n                                                 <td align="center">\n                                                           <span class="icon-cup" data-ng-class="agent.paused ? \'font-red\': \'font-green\'"></span>\n                                                    </td>\n                                                 <td align="center">\n                                                           {{agent.membername}}\n                                                  </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.loggedAt}}" data-ng-show="agent.logged">\n                                                                   April 1, 2014\n                                                         </time>\n                                                               <span class="badge badge-empty badge-danger" data-ng-show="!agent.logged"></span>\n                                                     </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.pausedAt}}" data-ng-show="agent.pausedAt">\n                                                                 April 1, 2014\n                                                         </time>\n                                                               <span> <strong>{{agent.paused ? \'(\' + agent.reason + \')\' : \'\'}}</strong></span>\n                                                 </td>\n                                                 <td align="center">\n                                                           <time is="relative-time" datetime="{{agent.lastcall}}" data-ng-show="agent.lastcall">\n                                                                 April 1, 2014\n                                                         </time>\n                                                       </td>\n                                                 <td align="center">\n                                                           {{agent.callstaken}}\n                                                  </td>\n                                                 <td align="center">\n                                                           <span data-ng-show="agent.logged" class="icon-cup pull-left" style="cursor:pointer;" data-ng-click="pause(null, agent)"> </span>\n                                                              <span class="icon-close font-red pull-right" style="cursor:pointer;" data-ng-click="remove(null, agent)"> </span>\n                                                     </td>\n                                         </tr>\n                                         <tr data-ng-hide="displayedGroups.length">\n                                                    <td colspan="9" style="text-align:center;">\n                                                           <i>No agents available</i>\n                                                    </td>\n                                         </tr>\n                           </tbody>\n                              <tfoot>\n                                             <tr>\n                                                  <td colspan="1">\n                                                              <div class="input-icon right">\n                                                                        <i class="fa fa-search"></i>\n                                                                  <input st-search="queue" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_QUEUE\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                              </div>\n                                                        <td colspan="9"></td>\n                                   </tr>\n                                   <tr>\n                                    <td colspan="10" class="text-center">\n                                                           <div class="pagination" st-pagination st-items-by-page="conf.agentsByPage.value" st-displayed-pages="7"></div>\n                                      </td>\n                               </tr>\n                               </tfoot>\n                            </div>\n                        </table>\n              <!-- END TABLE -->\n    </div>\n\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/realtime/view/queue/queue.modal.add.html",'<div class="modal-header" data-ng-init="initAdd()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_SELECTION\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info" data-ng-show="selected.queue">\n            <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n        <div class="form-group row">\n                                     <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_QUEUE\' | translate}}" class="form-control" data-ng-model="selected.queue" ng-disabled="true"/>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="agents.length">\n        <div class="form-group row">\n                                    <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <ui-select ng-model="selected.agent" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_AGENT\' | translate}}">{{$select.selected.name}}</ui-select-match>\n              <ui-select-choices repeat="{name: agent.name, id: agent.id} as agent in agents | filter: $select.search">\n                <div ng-bind-html="agent.name | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                 </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PENALTY\' | translate}}:</label>\n                                       <div class="col-md-10">\n            <input type="number" min="0" max="10" placeholder="{{\'APPLICATION_PENALTY\' | translate}}" class="form-control" data-ng-model="selected.penalty"/>\n                                      </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_PAUSE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.paused" btn-checkbox> {{ selected.paused ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-show="selected.paused">\n        <div class="form-group row">\n                                  <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_REASON\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <ui-select ng-model="selected.reason" theme="bootstrap" ng-disabled="disabled">\n              <ui-select-match placeholder="{{\'APPLICATION_REASON\' | translate}}">{{$select.selected}}</ui-select-match>\n              <ui-select-choices repeat="pause in pauses | filter: $select.search">\n                <div ng-bind-html="pause | highlight: $select.search"></div>\n              </ui-select-choices>\n            </ui-select>\n                                     </div>\n                                </div>\n                        </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                       <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGIN\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.login" btn-checkbox> {{ selected.login ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n                                    </div>\n                                </div>\n      </li>\n           </ul>\n    <!-- End List group -->\n  </div>\n  <div class="note note-warning" data-ng-hide="selected.queue">\n    <h4 class="block">Warning!</h4>\n    <p>\n       {{ \'MESSAGE_NO_QUEUES_AVAILABLE\' | translate }}\n    </p>\n  </div>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="okAdd()" data-ng-show="selected.queue">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/queue/queue.modal.remove.html",'<div class="modal-header" data-ng-init="initRemove()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_REMOVAL\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n           <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n        <div class="form-group row" data-ng-hide="data.length">\n                                  <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_AGENT\' | translate}}" class="form-control" data-ng-model="selected.membername" ng-disabled="true"/>\n                                     </div>\n                                </div>\n      </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                 <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_QUEUE\' | translate}}" class="form-control" data-ng-model="selected.queue" ng-disabled="true"/>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                 <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGOUT\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.logout" btn-checkbox> {{ selected.logout ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n            <span class="help-block">{{ \'MESSAGE_PERMANENT_REMOVAL_FROM_QUEUE\' | translate }}. </span>\n          </div>\n                              </div>\n      </li>\n           </ul>\n </div>\n  <button class="btn btn-danger btn-block" type="button" ng-click="okRemove()">{{ \'APPLICATION_REMOVE\' | translate }}</button>\n</div>\n<div class="modal-footer">\n  <!-- <button class="btn btn-success" type="button" ng-click="okRemove()">{{ \'APPLICATION_CONFIRM\' | translate }}</button> -->\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/queue/queue.remove.modal.html",'<div class="modal-header" data-ng-init="initRemove()">\n  <h3 class="modal-title">{{ \'APPLICATION_QUEUE_REMOVAL\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <div class="panel panel-info">\n              <!-- Default panel contents -->\n               <div class="panel-heading">\n                   <h3 class="panel-title"><span class="icon-doc"></span> Summary</h3>\n           </div>\n                <!-- List group -->\n           <ul class="list-group">\n      <li class="list-group-item">\n        <div class="form-group row">\n                                     <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_AGENT\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_AGENT\' | translate}}" class="form-control" data-ng-model="selected.membername" ng-disabled="true"/>\n                                     </div>\n                                </div>\n      </li>\n      <li class="list-group-item" data-ng-hide="data.length">\n        <div class="form-group row">\n                                      <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_QUEUE\' | translate}}:</label>\n                                 <div class="col-md-10">\n            <input type="text" placeholder="{{\'APPLICATION_QUEUE\' | translate}}" class="form-control" data-ng-model="selected.queue" ng-disabled="true"/>\n                                  </div>\n                                </div>\n      </li>\n      <li class="list-group-item">\n        <div class="form-group row">\n                                 <label class="col-md-2 control-label" style="margin-top: 7px;">{{\'APPLICATION_LOGOUT\' | translate}}:</label>\n                                        <div class="col-md-10">\n            <button type="button" class="btn btn-default form-control" data-ng-model="selected.logout" btn-checkbox> {{ selected.logout ? \'APPLICATION_YES\' : \'APPLICATION_NO\' | translate }} </button>\n            <span class="help-block">{{ \'MESSAGE_PERMANENT_REMOVAL_FROM_QUEUE\' | translate }}. </span>\n          </div>\n                              </div>\n      </li>\n           </ul>\n </div>\n  <button class="btn btn-danger btn-block" type="button" ng-click="okRemove()">{{ \'APPLICATION_REMOVE\' | translate }}</button>\n</div>\n<div class="modal-footer">\n  <!-- <button class="btn btn-success" type="button" ng-click="okRemove()">{{ \'APPLICATION_CONFIRM\' | translate }}</button> -->\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/voice/realtime/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n       <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-energy"></i>\n                                   <a href="/voice/realtime/list">{{ \'APPLICATION_REALTIME\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <div>\n             <nav class="navbar navbar-default" role="navigation">\n                     <div class="navbar-header">\n                       <button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">\n                                <span class="sr-only">Toggle navigation</span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                                <span class="icon-bar"></span>\n                            </button>\n                     <!-- <a class="navbar-brand" ui-sref="home">Brand</a> -->\n                 </div>\n\n                      <!-- Collect the nav links, forms, and other content for toggling -->\n                 <div class="collapse navbar-collapse" ng-class="!navCollapsed && \'in\'">\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_AGENTS\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'agents\'></tree>\n                             </li>\n                     </ul>\n                         <ul class="nav navbar-nav">\n                               <li dropdown>\n                             <a href="#" dropdown-toggle>\n                                      {{ \'APPLICATION_QUEUES\' | translate }}\n                                      <b class=\'caret\'></b>\n                                   </a>\n                                  <tree tree=\'queues\'></tree>\n                             </li>\n                     </ul>\n                     </div>\n                        <!-- /.navbar-collapse -->\n                </nav>\n            </div>\n                <div ui-view></div>\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/route/inbound/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n    <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-call-in"></i>\n                                  <a href="/voice/routes/inbound/list">{{ \'APPLICATION_INBOUND\' | translate }} {{ \'APPLICATION_ROUTES\' | translate }}</a>\n                           </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-users font-green-sharp"></i>\n                                   <span class="caption-subject">{{ \'APPLICATION_INBOUND\' | translate }} {{ \'APPLICATION_ROUTES\' | translate }}</a> </span>\n                          </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="routes.checked.length">\n                                          <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ROUTE\' | translate }} <i class="fa fa-angle-down"></i>\n                                                </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/routes/inbound/wizard">\n                                                               <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getRoutes([\'context\', \'exten\', \'app\', \'appdata\', \'description\'])" csv-header="[\'Context\', \'Exten\', \'App\', \'Appdata\', \'Description\']" field-separator=";" filename="routes_inbound.csv">\n                                 <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedRoutes" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                  <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.routesByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="routeByPage in routesByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="routeByPage.name | highlight: $select.search"></div>\n                                                                                               </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(checked)" checklist-model checklist-value="id"></th>\n                <th st-sort="exten">{{ \'APPLICATION_DID\' | translate }}</th>\n                                                               <th st-sort="context">{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                              <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="route in displayedRoutes"  class="animate-repeat">\n                                                            <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="routes.checked" checklist-value="route.id"></td>\n                                                               <td>{{route.exten}}</td>\n                                                              <td>{{route.context}}</td>\n                                          <td>{{route.description}}</td>\n                                        <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/routes/inbound/view/{{route.id}}/settings">\n                                                                            {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(route.exten,route.id)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedRoutes.length">\n                                                            <td colspan="5" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_ROUTES_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                <td>\n                  <div class="input-icon right">\n                    <i class="fa fa-search"></i>\n                    <input st-search="exten" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DID\' | translate | lowercase}}" class="form-control" type="search"/>\n                  </div>\n                </td>\n                                                          <td>\n                                                                  <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="context" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_CONTEXT\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                                </td>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.routesByPage.value" st-displayed-pages="7"></div>\n                                              </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/voice/route/inbound/view/view.application.html",'\n<div class="row" data-ng-init="initApplication(); getIntervals();">\n    <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_NEW_APPLICATION\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n                                     <div class="profile-usertitle-name">\n                                          {{(main.app | capitalize) || \'Application\'}}\n                                        </div>\n                <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.settings.$valid)">\n                                                 <form name="forms.settings" novalidate>\n                                                               <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                                                  <!-- START APP -->\n                                                                    <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid}">\n                                                                          <label class="control-label">{{ \'APPLICATION_APPLICATION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                <ui-select data-ng-model="main.app" name="app" theme="bootstrap" required>\n                                                <ui-select-match placeholder="{{ \'APPLICATION_APPLICATION\' | translate }}">{{$select.selected.name}}</ui-select-match>\n                                              <ui-select-choices repeat="app.value as app in $application.applications| filter: $select.search">\n                                                      <div ng-bind-html="app.name | highlight: $select.search"></div>\n                                             </ui-select-choices>\n                                                </ui-select>\n                                                                                <span data-ng-show="(forms.settings.app.$touched || forms.settings.$submitted) && forms.settings.app.$invalid && forms.settings.app.$error.required" class="help-block help-block-error">\n                                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                        <!-- END APP -->\n\n                                                                    <div id="Queue" class="app-settings" ng-slide-down="main.app == \'Queue\'" lazy-render duration="1">\n                                                                          <!-- START QUEUE -->\n                                                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$invalid}">\n                                                                                       <label class="control-label">{{\'APPLICATION_QUEUE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                        <ui-select data-ng-model="application.queue" name="queue" theme="bootstrap" required>\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="queue.name as queue in items | filter: $select.search">\n                                                                                                    <div ng-bind-html="queue.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.queue.$touched || forms.settings.$submitted) && forms.settings.queue.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END QUEUE -->\n\n                                                                          <!-- START OPTIONS -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_OPTIONS\' | translate}}</label>\n                                                                                  <ui-select multiple data-ng-model="application.app_options" theme="bootstrap" name="app_options">\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($item.name)}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="queueOpt.value as queueOpt in $application.queueOptions | filter: $select.search">\n                                                                                                 {{$translate.instant(queueOpt.name)}}\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$error.required" class="help-block help-block-error">\n                                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END OPTIONS -->\n\n                                                                                <!-- START URL -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid}">\n                                                                                   <label class="control-label">{{ \'APPLICATION_URL\' | translate }}</label>\n                                                                                    <input type="text" name="url" placeholder="{{ \'APPLICATION_URL\' | translate }}" class="form-control" data-ng-model="application.url">\n                                                                                       <span data-ng-show="(forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid && forms.settings.url.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END URL -->\n\n                                                                            <!-- START AUDIOFILE -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.audiofile.$touched || forms.settings.$submitted) && forms.settings.audiofile.$invalid}">\n                                                                                       <label class="control-label">{{\'APPLICATION_AUDIO_FILE\' | translate}}</label>\n                                                                                       <ui-select data-ng-model="application.audiofile" name="audiofile" theme="bootstrap">\n                                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="audio.converted_path+\'/\'+audio.save_name as audio in items2 | filter: $select.search">\n                                                                                                   <div ng-bind-html="audio.display_name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.audiofile.$touched || forms.settings.$submitted) && forms.settings.audiofile.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END AUDIOFILE -->\n\n                                                                              <!-- START TIMEOUT -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                                                                   <label class="control-label">{{ \'APPLICATION_TIMEOUT\' | translate }}</label>\n                                                                                        <input type="number" name="timeout" placeholder="" class="form-control" data-ng-model="application.timeout">\n                                                                                  <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END TIMEOUT -->\n\n                                                                        </div>\n                                                                        <div id="Playback" class="app-settings" ng-slide-down="main.app == \'Playback\'" lazy-render duration="1">\n                                                                            <!-- START AUDIOFILE -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.audiofile.$touched || forms.settings.$submitted) && forms.settings.audiofile.$invalid}">\n                                                                                       <label class="control-label">{{\'APPLICATION_AUDIO_FILE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                   <ui-select data-ng-model="application.audiofile" name="audiofile" theme="bootstrap" required>\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.display_name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="audio.converted_path+\'/\'+audio.save_name as audio in items | filter: $select.search">\n                                                                                                    <div ng-bind-html="audio.display_name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.audiofile.$touched || forms.settings.$submitted) && forms.settings.audiofile.$error.required" class="help-block help-block-error">\n                                                                                                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END AUDIOFILE -->\n\n                                                                              <!-- START OPTIONS -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_OPTIONS\' | translate}}</label>\n                                                                                  <ui-select data-ng-model="application.app_options" theme="bootstrap" name="app_options">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="audioOpt.value as audioOpt in $application.audioOptions | filter: $select.search">\n                                                                                                 {{$translate.instant(audioOpt.name)}}\n                                                                                         </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$error.required" class="help-block help-block-error">\n                                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END OPTIONS -->\n                                                                  </div>\n                                                                        <div id="Dial" class="app-settings" ng-slide-down="main.app == \'Dial\'" lazy-render duration="1">\n                                                                            <!-- START INTERFACE -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.interface.$touched || forms.settings.$submitted) && forms.settings.interface.$invalid}">\n                                                                                       <label class="control-label">{{ \'APPLICATION_TYPE\' | translate }}/{{ \'APPLICATION_IDENTIFIER\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                  <input type="text" name="interface" placeholder="SIP/0000" class="form-control" data-ng-model="application.interface" required>\n                                                                                       <span data-ng-show="(forms.settings.interface.$touched || forms.settings.$submitted) && forms.settings.interface.$invalid && forms.settings.interface.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END INTERFACE -->\n\n                                                                              <!-- START TIMEOUT -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid}">\n                                                                                   <label class="control-label">{{ \'APPLICATION_TIMEOUT\' | translate }}</label>\n                                                                                        <input type="number" name="timeout" placeholder="" class="form-control" data-ng-model="application.timeout">\n                                                                                  <span data-ng-show="(forms.settings.timeout.$touched || forms.settings.$submitted) && forms.settings.timeout.$invalid && forms.settings.timeout.$error.required" class="help-block help-block-error">\n                                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END TIMEOUT -->\n\n                                                                                <!-- START OPTIONS -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$invalid}">\n                                                                                   <label class="control-label">{{ \'APPLICATION_OPTIONS\' | translate }}</label>\n                                                                                        <input type="text" name="app_options" placeholder="" class="form-control" data-ng-model="application.app_options">\n                                                                                    <span data-ng-show="(forms.settings.app_options.$touched || forms.settings.$submitted) && forms.settings.app_options.$invalid && forms.settings.app_options.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END OPTIONS -->\n\n                                                                                <!-- START URL -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid}">\n                                                                                   <label class="control-label">{{ \'APPLICATION_URL\' | translate }}</label>\n                                                                                    <input type="text" name="url" placeholder="{{ \'APPLICATION_URL\' | translate }}" class="form-control" data-ng-model="application.url">\n                                                                                       <span data-ng-show="(forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid && forms.settings.url.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END URL -->\n                                                                      </div>\n                                                                        <div id="AGI" class="app-settings" ng-slide-down="main.app == \'AGI\'" lazy-render duration="1">\n                                                                              <!-- START PROJECT -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.project.$touched || forms.settings.$submitted) && forms.settings.project.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_PROJECT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                      <ui-select data-ng-model="application.project" name="project" theme="bootstrap" required>\n                                                                                             <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="project.name as project in items | filter: $select.search">\n                                                                                                        <div ng-bind-html="project.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.project.$touched || forms.settings.$submitted) && forms.settings.project.$error.required" class="help-block help-block-error">\n                                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END PROJECT -->\n\n                                                                                <!-- START URL -->\n                                                                            <!-- <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid}">\n                                                                                      <label class="control-label">{{ \'APPLICATION_URL\' | translate }}</label>\n                                                                                    <div class="input-group">\n                                                                                             <input type="text" name="url" placeholder="agi://127.0.0.1/square" class="form-control" data-ng-model="application.url" data-ng-disabled="!application.urlEnabled" data-ng-required="application.urlEnabled" rpattern="/^agi:\\/\\/(?:[0-9]{1,3}\\.){3}[0-9]{1,3}\\/square$/">\n                                                                                                <span class="input-group-addon">\n                                                                                                      <input type="checkbox" data-ng-model="application.urlEnabled">\n                                                                                                </span>\n                                                                                       </div>\n                                                                                        <span data-ng-show="(forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid && forms.settings.url.$error.required" class="help-block help-block-error">\n                                                                                             <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                                       <span data-ng-show="(forms.settings.url.$touched || forms.settings.$submitted) && forms.settings.url.$invalid && forms.settings.url.$error.pattern" class="help-block help-block-error">\n                                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_FORMAT\' | translate}}.\n                                                                                   </span>\n                                                                               </div> -->\n                                                                            <!-- END URL -->\n\n                                                                    </div>\n                                                                        <div id="Goto" class="app-settings" ng-slide-down="main.app == \'Goto\'" lazy-render duration="1">\n                                                                            <!-- START CONTEXT -->\n                                                                                <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.context.$touched || forms.settings.$submitted) && forms.settings.context.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                      <ui-select data-ng-model="application.alt_context" name="context" theme="bootstrap" required>\n                                                                                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                              <ui-select-choices repeat="context.name as context in items | filter: $select.search">\n                                                                                                        <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.context.$touched || forms.settings.$submitted) && forms.settings.context.$error.required" class="help-block help-block-error">\n                                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END CONTEXT -->\n\n                                                                                <!-- START EXTENSION -->\n                                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.extension.$touched || forms.settings.$submitted) && forms.settings.extension.$invalid}">\n                                                                                       <label class="control-label">{{ \'APPLICATION_EXTENSION\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                  <input type="text" name="extension" placeholder="" class="form-control" data-ng-model="application.alt_extension" required>\n                                                                                   <span data-ng-show="(forms.settings.extension.$touched || forms.settings.$submitted) && forms.settings.extension.$invalid && forms.settings.extension.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END EXTENSION -->\n\n                                                                              <!-- START PRIORITY -->\n                                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.priority.$touched || forms.settings.$submitted) && forms.settings.priority.$invalid}">\n                                                                                 <label class="control-label">{{ \'APPLICATION_PRIORITY\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                   <input type="number" name="priority" placeholder="" class="form-control" data-ng-model="application.alt_priority" required>\n                                                                                   <span data-ng-show="(forms.settings.priority.$touched || forms.settings.$submitted) && forms.settings.priority.$invalid" class="help-block help-block-error">\n                                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END PRIORITY -->\n                                                                 </div>\n                                                                        <div id="Hangup" class="app-settings" ng-slide-down="main.app == \'Hangup\'" lazy-render duration="1">\n                                                                                <!-- START HANGUPCAUSE -->\n                                                                            <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.hangupCause.$touched || forms.settings.$submitted) && forms.settings.hangupCause.$invalid}">\n                                                                                   <label class="control-label">{{\'APPLICATION_HANGUP_CAUSE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                 <ui-select data-ng-model="application.causecode" theme="bootstrap" name="hangupCause" required>\n                                                                                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                          <ui-select-choices repeat="hangupCause.value as hangupCause in $application.hangupCauses | filter: $select.search">\n                                                                                                   {{$translate.instant(hangupCause.name)}}\n                                                                                              </ui-select-choices>\n                                                                                  </ui-select>\n                                                                                  <span data-ng-show="(forms.settings.hangupCause.$touched || forms.settings.$submitted) && forms.settings.hangupCause.$error.required" class="help-block help-block-error">\n                                                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END HANGUPCAUSE -->\n                                                                      </div>\n                                                                        <div id="Set" class="app-settings" ng-slide-down="main.app == \'Set\'" lazy-render duration="1">\n                                                                              <!-- START VARIABLE -->\n                                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.variable.$touched || forms.settings.$submitted) && forms.settings.variable.$invalid}">\n                                                                                 <label class="control-label">{{ \'APPLICATION_VARIABLE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                   <input type="text" name="variable" placeholder="" class="form-control" data-ng-model="application.variable" required>\n                                                                                 <span data-ng-show="(forms.settings.variable.$touched || forms.settings.$submitted) && forms.settings.variable.$invalid && forms.settings.variable.$error.required" class="help-block help-block-error">\n                                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END VARIABLE -->\n\n                                                                               <!-- START VARVALUE -->\n                                                                               <div class="form-group" data-ng-class="{\'has-error\': (forms.settings.varvalue.$touched || forms.settings.$submitted) && forms.settings.varvalue.$invalid}">\n                                                                                 <label class="control-label">{{ \'APPLICATION_VALUE\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                      <input type="text" name="varvalue" placeholder="" class="form-control" data-ng-model="application.value" required>\n                                                                                    <span data-ng-show="(forms.settings.varvalue.$touched || forms.settings.$submitted) && forms.settings.varvalue.$invalid && forms.settings.varvalue.$error.required" class="help-block help-block-error">\n                                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END VARVALUE -->\n                                                                 </div>\n                                                                        <div id="Custom" class="app-settings" ng-slide-down="main.app == \'custom\'" lazy-render duration="1">\n\n                                                                              <!-- START CUSTOMAPP -->\n                                                                              <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.customApp.$touched || forms.settings.$submitted) && forms.settings.customApp.$invalid}">\n                                                                                      <label class="control-label">{{ \'APPLICATION_CUSTOM_APP\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                 <input type="text" name="customApp" placeholder="{{ \'APPLICATION_CUSTOM_APP\' | translate }}" class="form-control" data-ng-model="application.customApp" required>\n                                                                                   <span data-ng-show="(forms.settings.customApp.$touched || forms.settings.$submitted) && forms.settings.customApp.$invalid && forms.settings.customApp.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END CUSTOMAPP -->\n\n                                                                              <!-- START APPDATA -->\n                                                                                <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.appdata.$touched || forms.settings.$submitted) && forms.settings.appdata.$invalid}">\n                                                                                  <label class="control-label">{{ \'APPLICATION_ARGUMENTS\' | translate }}</label>\n                                                                                      <input type="text" name="appdata" placeholder="{{ \'APPLICATION_ARGUMENTS\' | translate }}" class="form-control" data-ng-model="application.appdata">\n                                                                                 <span data-ng-show="(forms.settings.appdata.$touched || forms.settings.$submitted) && forms.settings.appdata.$invalid && forms.settings.appdata.$error.required" class="help-block help-block-error">\n                                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END APPDATA -->\n                                                                  </div>\n                                                                        <div id="Voicemail" class="app-settings" ng-slide-down="main.app == \'Voicemail\'" lazy-render duration="1">\n                                                                          <!-- START VOICEMAIL -->\n                                                                              <div class="form-group"  data-ng-class="{\'has-error\': (forms.settings.voicemail.$touched || forms.settings.$submitted) && forms.settings.voicemail.$invalid}">\n                                                                                      <label class="control-label">{{ \'APPLICATION_MAILBOX\' | translate }}@{{ \'APPLICATION_CONTEXT\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                                                  <input type="text" name="voicemail" placeholder="{{ \'APPLICATION_MAILBOX\' | translate }}@{{ \'APPLICATION_CONTEXT\' | translate }}" class="form-control" data-ng-model="application.mailbox" required>\n                                                                                      <span data-ng-show="(forms.settings.voicemail.$touched || forms.settings.$submitted) && forms.settings.voicemail.$invalid && forms.settings.voicemail.$error.required" class="help-block help-block-error">\n                                                                                           <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                                 </span>\n                                                                               </div>\n                                                                                <!-- END VOICEMAIL -->\n                                                                        </div>\n                                                                        <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                                          </form>\n                                                               </wz-step>\n                                                                    <wz-step title="{{\'APPLICATION_INTERVAL\' | translate}}" canexit="formValidation(forms.interval.IntervalId.$valid || forms.interval.hasOwnProperty(\'t_from\') || forms.interval.intType.$modelValue === \'always\')">\n                                                                               <form name="forms.interval" novalidate>\n                                                                               <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                                             <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                                                  <!-- START INTERVAL_TYPE -->\n                                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.intType.$touched || forms.interval.$submitted) && forms.interval.intType.$invalid}">\n                                                                           <label class="control-label">{{\'APPLICATION_INTERVAL_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                                <ui-select data-ng-model="interval.intType" theme="bootstrap" name="intType" required>\n                                                                                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                  <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                                               {{$translate.instant(intType.name)}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span data-ng-show="(forms.interval.intType.$touched || forms.interval.$submitted) && forms.interval.intType.$error.required" class="help-block help-block-error">\n                                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                         </span>\n                                                                       </div>\n                                                                        <!-- END INTERVAL_TYPE -->\n                                                                    <div id="customInterval" class="app-settings" ng-slide-down="interval.intType == \'custom\'" lazy-render duration="1">\n                                                                                        <!-- START TIME -->\n                                                                                   <div class="form-group">\n                                                                                              <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                                           <div class="input-group input-large">\n                                                                                                 <fieldset class="pull-left" ng-disabled="interval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="interval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                                                  <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                                        <fieldset ng-disabled="interval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="interval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                                                       <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="interval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                                                                                         </div>\n                                                                                        </div>\n                                                                                        <!-- END TIME -->\n\n                                                                                   <!-- START WEEKDAY -->\n                                                                                        <div class="form-group">\n                                                                                              <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                                                <div class="input-group input-large">\n                                                                                                 <ui-select data-ng-model="interval.wd_from" theme="bootstrap" name="wd_from">\n                                                                                                         <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                                        {{$translate.instant(weekDay.name)}}\n                                                                                                          </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                                  <span class="input-group-addon">to</span>\n                                                                                                     <ui-select data-ng-model="interval.wd_to" theme="bootstrap" name="wd_to">\n                                                                                                             <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                                        {{$translate.instant(weekDay.name)}}\n                                                                                                          </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                        <!-- END WEEKDAY -->\n\n                                                                                        <!-- START MONTHDAY -->\n                                                                                       <div class="form-group">\n                                                                                              <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                                               <div class="input-group input-large">\n                                                                                                 <ui-select data-ng-model="interval.md_from" theme="bootstrap" name="md_from">\n                                                                                                         <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                                                       {{monthDay}}\n                                                                                                          </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                                  <span class="input-group-addon">to</span>\n                                                                                                     <ui-select data-ng-model="interval.md_to" theme="bootstrap" name="md_to">\n                                                                                                             <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                                                       {{monthDay}}\n                                                                                                          </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                        <!-- END MONTHDAY -->\n\n                                                                                       <!-- START MONTH -->\n                                                                                  <div class="form-group">\n                                                                                              <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                                          <div class="input-group input-large">\n                                                                                                 <ui-select data-ng-model="interval.m_from" theme="bootstrap" name="m_from">\n                                                                                                           <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                                        {{$translate.instant(month.name)}}\n                                                                                                            </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                                  <span class="input-group-addon">to</span>\n                                                                                                     <ui-select data-ng-model="interval.m_to" theme="bootstrap" name="m_to">\n                                                                                                               <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                                               <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                                        {{$translate.instant(month.name)}}\n                                                                                                            </ui-select-choices>\n                                                                                                  </ui-select>\n                                                                                          </div>\n                                                                                        </div>\n                                                                                        <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div id="customInterval" class="app-settings" ng-slide-down="interval.intType == \'list\'" lazy-render duration="1">\n\n                                                                <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.IntervalId.$touched || forms.interval.$submitted) && forms.interval.IntervalId.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="interval.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                          <ui-select-choices repeat="interval.id as interval in Intervals | filter: $select.search">\n                                                                                    {{$translate.instant(interval.name)}}\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.interval.IntervalId.$touched || forms.interval.$submitted) && forms.interval.IntervalId.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n                                                                <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                             <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                                  </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
@@ -43,5 +44,5 @@ a.put("app/voice/route/internal/view/view.applications.html",'<div ui-view class
 a.put("app/voice/route/outbound/view/view.routeSettings.html",'\n<div class="row" data-ng-init="initApplication();getApplication();getIntervals();">\n <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_APPLICATION_SETTINGS\' | translate }} WIZARD</a> </span>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="updateItem()">\n                                     <div class="profile-usertitle-name">\n                                          {{(main.app | capitalize) || \'Application\'}}\n                                        </div>\n                <wz-step title="{{\'APPLICATION_APPLICATION\' | translate}}" canexit="formValidation(forms.info.$valid)">\n                                             <form name="forms.info" novalidate>\n                                                   <div id="Dial" class="app-settings" ng-slide-down="main.app == \'Dial\'" lazy-render duration="1">\n                                                    <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n\n                                                        <!-- START TRUNK -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.info.trunk.$touched || forms.info.$submitted) && forms.info.trunk.$invalid}">\n                                                           <label class="control-label">{{\'APPLICATION_TRUNK\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <ui-select data-ng-model="application.TrunkId" name="trunk" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="trunk.id as trunk in items | filter: $select.search">\n                                                                              <div ng-bind-html="trunk.name | highlight: $select.search"></div>\n                                                                     </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.info.trunk.$touched || forms.info.$submitted) && forms.info.trunk.$error.required" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TRUNK -->\n\n                                                  <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.info.context.$touched || forms.info.$submitted) && forms.info.context.$invalid}">\n                                                               <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="application.context" name="context" theme="bootstrap" required>\n                                                                     <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in items2 | filter: $select.search">\n                                                                               <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.info.context.$touched || forms.info.$submitted) && forms.info.context.$error.required" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <!-- START CALLERID -->\n                                                       <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.callerID.$touched || forms.info.$submitted) && forms.info.callerID.$invalid}">\n                                                            <label class="control-label">{{ \'APPLICATION_CALLERID\' | translate }}</label>\n                                                               <input type="text" name="callerID" placeholder="{{ \'APPLICATION_CALLERID\' | translate }}" class="form-control" data-ng-model="application.callerID">\n                                                                <span data-ng-show="(forms.info.callerID.$touched || forms.info.$submitted) && forms.info.callerID.$invalid" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CALLERID -->\n\n                                                               <!-- START CUTDIGITS -->\n                                                      <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_CUTDIGITS\' | translate}}</label>\n                                                                <input type="number" class="form-control" name="cutdigits" data-ng-model="application.cutdigits">\n                                                             <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                       </div>\n                                                        <!-- END CUTDIGITS -->\n                                                </div>\n                                                <div id="Custom" class="app-settings" ng-slide-down="main.app == \'custom\'" lazy-render duration="1">\n\n                                                      <!-- START CUSTOMAPP -->\n                                                      <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.customApp.$touched || forms.info.$submitted) && forms.info.customApp.$invalid}">\n                                                          <label class="control-label">{{ \'APPLICATION_CUSTOM_APP\' | translate }}<span class="required" aria-required="true">*</span></label>\n                                                         <input type="text" name="customApp" placeholder="{{ \'APPLICATION_CUSTOM_APP\' | translate }}" class="form-control" data-ng-model="application.customApp" required>\n                                                           <span data-ng-show="(forms.info.customApp.$touched || forms.info.$submitted) && forms.info.customApp.$invalid && forms.info.customApp.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CUSTOMAPP -->\n\n                                                      <!-- START APPDATA -->\n                                                        <div class="form-group"  data-ng-class="{\'has-error\': (forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid}">\n                                                              <label class="control-label">{{ \'APPLICATION_ARGUMENTS\' | translate }}</label>\n                                                              <input type="text" name="appdata" placeholder="{{ \'APPLICATION_ARGUMENTS\' | translate }}" class="form-control" data-ng-model="application.appdata">\n                                                         <span data-ng-show="(forms.info.appdata.$touched || forms.info.$submitted) && forms.info.appdata.$invalid && forms.info.appdata.$error.required" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END APPDATA -->\n                                          </div>\n                                                <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                  </form>\n                                       </wz-step>\n                                            <wz-step title="{{\'APPLICATION_INTERVAL\' | translate}}" canexit="formValidation(forms.interval.IntervalId.$valid || forms.interval.hasOwnProperty(\'t_from\') || forms.interval.intType.$modelValue === \'always\')">\n                                                       <form name="forms.interval" novalidate>\n                                                               <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                             <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                          <!-- START INTERVAL_TYPE -->\n                                          <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.intType.$touched || forms.interval.$submitted) && forms.interval.intType.$invalid}">\n                                                   <label class="control-label">{{\'APPLICATION_INTERVAL_TYPE\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                        <ui-select data-ng-model="interval.intType" theme="bootstrap" name="intType" required>\n                                                                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                          <ui-select-choices repeat="intType.value as intType in $application.intTypes | filter: $select.search">\n                                                                       {{$translate.instant(intType.name)}}\n                                                          </ui-select-choices>\n                                                  </ui-select>\n                                                  <span data-ng-show="(forms.interval.intType.$touched || forms.interval.$submitted) && forms.interval.intType.$error.required" class="help-block help-block-error">\n                                                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END INTERVAL_TYPE -->\n                                            <div id="customInterval" class="app-settings" ng-slide-down="interval.intType == \'custom\'" lazy-render duration="1">\n                                                                <!-- START TIME -->\n                                                           <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_TIME\' | translate }}</label>\n                                                                   <div class="input-group input-large">\n                                                                         <fieldset class="pull-left" ng-disabled="interval.alwaysTime"><uib-timepicker name="t_from" data-ng-model="interval.t_from" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                          <div class="input-group-addon col-md-1 interval-to pull-left">to</div>\n                                                                                <fieldset ng-disabled="interval.alwaysTime"><uib-timepicker  name="t_to" data-ng-model="interval.t_to" show-meridian="false" show-spinners="false"></uib-timepicker></fieldset>\n                                                                               <label class="control-label pointer-cursor"><input type="checkbox" data-ng-model="interval.alwaysTime">{{\'APPLICATION_ALWAYS\' | translate}}</label>\n                                                                 </div>\n                                                                </div>\n                                                                <!-- END TIME -->\n\n                                                           <!-- START WEEKDAY -->\n                                                                <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_WEEKDAY\' | translate }}</label>\n                                                                        <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="interval.wd_from" theme="bootstrap" name="wd_from">\n                                                                                 <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{$translate.instant(weekDay.name)}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="interval.wd_to" theme="bootstrap" name="wd_to">\n                                                                                     <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="weekDay.value as weekDay in $interval.daysOfWeek | filter: $select.search">\n                                                                                                {{$translate.instant(weekDay.name)}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END WEEKDAY -->\n\n                                                                <!-- START MONTHDAY -->\n                                                               <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTHDAY\' | translate }}</label>\n                                                                       <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="interval.md_from" theme="bootstrap" name="md_from">\n                                                                                 <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="interval.md_to" theme="bootstrap" name="md_to">\n                                                                                     <ui-select-match>{{$select.selected}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="monthDay in $interval.daysOfMonth | filter: $select.search">\n                                                                                               {{monthDay}}\n                                                                                  </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTHDAY -->\n\n                                                               <!-- START MONTH -->\n                                                          <div class="form-group">\n                                                                      <label class="control-label">{{ \'APPLICATION_MONTH\' | translate }}</label>\n                                                                  <div class="input-group input-large">\n                                                                         <ui-select data-ng-model="interval.m_from" theme="bootstrap" name="m_from">\n                                                                                   <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{$translate.instant(month.name)}}\n                                                                                    </ui-select-choices>\n                                                                          </ui-select>\n                                                                          <span class="input-group-addon">to</span>\n                                                                             <ui-select data-ng-model="interval.m_to" theme="bootstrap" name="m_to">\n                                                                                       <ui-select-match placeholder="">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                                       <ui-select-choices repeat="month.value as month in $interval.months | filter: $select.search">\n                                                                                                {{$translate.instant(month.name)}}\n                                                                                    </ui-select-choices>\n                                                                          </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <!-- END MONTH -->\n                                                    </div>\n\n                                                      <div id="customInterval" class="app-settings" ng-slide-down="interval.intType == \'list\'" lazy-render duration="1">\n\n                                                                <!-- START INTERVALS -->\n                                                              <div class="form-group" data-ng-class="{\'has-error\': (forms.interval.IntervalId.$touched || forms.interval.$submitted) && forms.interval.IntervalId.$invalid}">\n                                                                     <label class="control-label">{{\'APPLICATION_INTERVALS\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                    <ui-select data-ng-model="interval.IntervalId" theme="bootstrap" name="IntervalId" required>\n                                                                          <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$translate.instant($select.selected.name)}}</ui-select-match>\n                                                                          <ui-select-choices repeat="interval.id as interval in Intervals | filter: $select.search">\n                                                                                    {{$translate.instant(interval.name)}}\n                                                                         </ui-select-choices>\n                                                                  </ui-select>\n                                                                  <span data-ng-show="(forms.interval.IntervalId.$touched || forms.interval.$submitted) && forms.interval.IntervalId.$error.required" class="help-block help-block-error">\n                                                                              <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END INTERVALS -->\n\n                                                      </div>\n                                                        <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <button class="btn green-haze" type="submit" ng-click="goNext()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                                  </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/route/outbound/view/view.routes.html",'<div ui-view class="profile-content">\n<div class="row" data-ng-init="getRouteApplications()">\n   <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACTIONS\' | translate}}</span>\n                         </div>\n                                <div class="actions">\n                                 <div class="btn-group">\n                                               <a class="btn green-jungle " href="/voice/routes/outbound/view/{{route.id}}/route" data-toggle="dropdown">\n                                                    <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ROUTE\' | translate }}\n                                         </a>\n                                  </div>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                                <th>{{ \'APPLICATION_APPLICATION\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_CONTEXT\' | translate }}</th>\n                                                            <th>{{ \'APPLICATION_ARGUMENTS\' | translate }}</th>\n                                              <th>{{ \'APPLICATION_TIME\' | translate }}</th>\n                                                           <th></th>\n                                               </tr>\n                                         </thead>\n                                      <tbody ui-sortable="sortableOptions" data-ng-model="routeApplications">\n                                         <tr data-ng-repeat="application in routeApplications | orderBy:\'priority\'">\n                                                             <td>{{application.app}}</td>\n                                                          <td>{{application.context}}</td>\n                                                              <td>{{application.appdata}}</td>\n                                                              <td>{{application.interval}}</td>\n                                           <td>\n                                                                    <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/routes/outbound/view/{{route.id}}/routes/settings/{{application.id}}">\n                                                                         {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(\'Route\',application.id)">\n                                                                                {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="routeApplications.length">\n                                                          <td colspan="5" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_ROUTES_AVAILABLE\' | translate }}</i>\n                                                              </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n</div>\n'),a.put("app/voice/route/outbound/view/view.settings.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_OUTBOUND\' | translate}} {{ \'APPLICATION_ROUTE\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                             </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body" data-ng-init="getContexts()">\n                               <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateRoute()" novalidate>\n\n                                                       <!-- START EXTEN -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': (forms.general.exten.$touched || forms.general.$submitted) && forms.general.exten.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_PATTERN\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="exten" placeholder="{{\'APPLICATION_PATTERN\' | translate}}" class="form-control" data-ng-model="route.exten" required/>\n                                                             <span data-ng-show="(forms.general.exten.$touched || forms.general.$submitted) && forms.general.exten.$error.required" class="help-block help-block-error">\n                                                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END EXTEN -->\n\n                                                  <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="route.context" name="context" theme="bootstrap" required>\n                                                                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="route.description"/></textarea>\n                                                        </div>\n                                                        <!-- END DESCRIPTION -->\n\n                                                    <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/route/outbound/wizard/wizard.html",'<div class="col-md-12">\n  <!-- BEGIN PAGE HEADER-->\n  <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-call-out"></i>\n                         <a href="/voice/routes/outbound/list">{{ \'APPLICATION_OUTBOUND\' | translate }} {{ \'APPLICATION_ROUTES\' | translate }}</a>\n                         <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered" data-ng-init="getContexts()">\n     <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-call-out font-green-sharp"></i>\n                        <span class="caption-subject">{{ \'APPLICATION_OUTBOUND\' | translate }} {{ \'APPLICATION_ROUTE\' | translate }} WIZARD</a> </span>\n           </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="exitValidation(forms.route.$valid)">\n                           <form name="forms.route" novalidate>\n\n            <!-- START EXTEN -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.route.exten.$touched || forms.route.$submitted) && forms.route.exten.$invalid}">\n              <label class="control-label">{{\'APPLICATION_PATTERN\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="exten" placeholder="{{\'APPLICATION_PATTERN\' | translate}}" class="form-control" data-ng-model="item.exten" required/>\n              <span data-ng-show="(forms.route.exten.$touched || forms.route.$submitted) && forms.route.exten.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END EXTEN -->\n\n                                             <!-- START DESCRIPTION -->\n                                            <div class="form-group">\n                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/></textarea>\n                                         </div>\n                                                <!-- END DESCRIPTION -->\n\n\n                                          <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                        </form>\n                     </wz-step>\n\n                                <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/voice/voicemail/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope-letter"></i>\n                                  <a href="/voice/voicemails/list">{{ \'APPLICATION_VOICEMAILS\' | translate }}</a>\n                             </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-envelope-letter font-green-sharp"></i>\n                                 <span class="caption-subject">{{ \'APPLICATION_VOICEMAILS\' | translate }}</a> </span>\n                                </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="voicemails.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle " href="#" data-toggle="dropdown">\n                                                 <i class="icon-plus"></i> {{ \'APPLICATION_NEW_VOICEMAIL\' | translate }} <i class="fa fa-angle-down"></i>\n                                            </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/voice/voicemails/wizard">\n                                                           <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getVoicemails([\'mailbox\', \'fullname\', \'email\'])" csv-header="[\'Mailbox\', \'Fullname\', \'Email\']" field-separator=";" filename="voicemails.csv">\n                                   <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedVoicemails" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="5">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.voicemailsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="voicemailByPage in voicemailsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="voicemailByPage.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(voicemail, checked)" checklist-model checklist-value="uniqueid"></th>\n                                                  <th st-sort="mailbox">{{ \'APPLICATION_MAILBOX\' | translate }}</th>\n                                                  <th st-sort="fullname">{{ \'APPLICATION_FULLNAME\' | translate }}</th>\n                                                <th st-sort="email">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                          <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="voicemail in displayedVoicemails" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="voicemails.checked" checklist-value="voicemail.uniqueid"></td>\n                                                         <td>{{voicemail.mailbox}}</td>\n                <td>{{voicemail.fullname}}</td>\n                                             <td>{{voicemail.email}}</td>\n                                          <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/voice/voicemails/view/{{voicemail.uniqueid}}/settings">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(voicemail.mailbox,voicemail.uniqueid)">\n                                                                            {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedVoicemails.length">\n                                                                <td colspan="5" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_VOICEMAILS_AVAILABLE\' | translate }}</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="mailbox" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_MAILBOX\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="fullname" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_FULLNAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                  </td>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="5" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.voicemailsByPage.value" st-displayed-pages="7"></div>\n                                          </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/voice/voicemail/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getVoicemail()">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-envelope-letter"></i>\n                                  <a href="/voice/voicemails/list">{{ \'APPLICATION_VOICEMAILS\' | translate }}</a>\n                                     <i data-ng-show="voicemail" class="fa fa-angle-right"></i>\n                            </li>\n                         <li data-ng-show="voicemail">\n                                 <a href="#">{{voicemail.mailbox}}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/voicemail.png" class="img-responsive">\n                          </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{voicemail.mailbox}}\n                                 </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.voice.voicemails.view.settings\')}">\n                                                     <a data-ng-href="/voice/voicemails/view/{{voicemail.uniqueid}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n            <li data-ng-class="{active: $state.is(\'main.voice.voicemails.view.messages\')}">\n              <a data-ng-href="/voice/voicemails/view/{{voicemail.uniqueid}}/messages">\n              <i class="icon-speech"></i>\n              {{ \'APPLICATION_MESSAGES\' | translate}} </a>\n            </li>\n                                     </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/voice/voicemail/view/view.messages.html",'<div class="row" data-ng-init="getMessages()">\n  <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title  tabbable-line">\n                            <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_MESSAGES\' | translate}}</span>\n                                </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table class="table table-striped table-bordered table-hover">\n                                          <thead>\n                                               <tr>\n                                                    <th>{{ \'APPLICATION_CALLERID\' | translate }}</th>\n                                                   <th>{{ \'APPLICATION_DATE\' | translate }}</th>\n                                                           <th>{{ \'APPLICATION_DURATION\' | translate }}</th>\n                                                           <th>{{ \'APPLICATION_RECORDING\' | translate }}</th>\n                                                          <th width="20%">{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                  </tr>\n                                         </thead>\n                                      <tbody data-ng-model="voicemailMessages">\n                                       <tr data-ng-repeat="message in voicemailMessages">\n                                                                <td>{{message.callerid}}</td>\n                                                         <td>{{returnMessageDate(message.stamp)}}</td>\n                                                         <td>{{returnDuration(message.duration) | date: \'mm:ss\'}}</td>\n                                                               <td>\n                                                                  <audio controls ng-src="{{encodeRecording(message.recording)}}" preload="none">\n                                   Your browser does not support the audio tag.\n                                </audio>\n                                                    </td>\n                                       <td>\n                                                                    <a class="btn default btn-xs green-stripe" href="/api/voice/voicemails/messages/{{message.id}}/download" target="_self">\n                                                                              {{ \'APPLICATION_DOWNLOAD\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(\'message\',message.id)">\n                                                                          {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="voicemailMessages.length">\n                                                          <td colspan="5" style="text-align:center;">\n                                                                   <i>No messages available</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                            </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/voicemail/view/view.settings.html",'<div class="row" data-ng-init="getContexts()">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_VOICEMAIL\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                           </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                                 <!-- <li>\n                                             <a href="#" data-target="#tab_1_2" data-toggle="tab">{{ \'APPLICATION_ADVANCED\' | translate}}</a>\n                                    </li> -->\n                             </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateVoiceVoicemail()" novalidate>\n\n                                                      <!-- START MAILBOX -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.mailbox.$invalid}">\n                                                          <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="voicemail.mailbox" required/>\n                                                             <span data-ng-show="forms.general.$submitted && forms.general.mailbox.$invalid" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END MAILBOX -->\n\n                                                        <!-- START PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_NEW_PASSWORD\' | translate}}</label>\n                                                             <input type="password" name="password" placeholder="{{\'APPLICATION_NEW_PASSWORD\' | translate}}" class="form-control" data-ng-model="voicemail.password" />\n                                                          <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n                                                       <!-- START CONFIRM PASSWORD -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}</label>\n                                                         <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="voicemail.rpassword" nx-equal="voicemail.password"/>\n                                                               <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid || forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                                  <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONFIRM PASSWORD -->\n\n                                                       <!-- START FULLNAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.fullname.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                             <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="voicemail.fullname" required/>\n                                                          <span data-ng-show="forms.general.$submitted && forms.general.fullname.$invalid" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END FULLNAME -->\n\n                                                       <!-- START EMAIL -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.email.$invalid}">\n                                                            <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                                <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="voicemail.email" required/>\n                                                          <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END EMAIL -->\n\n                                                  <!-- START CONTEXT -->\n                                                        <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n                                                              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                              <ui-select data-ng-model="voicemail.context" name="context" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                      <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                                                                                <div ng-bind-html="context.name | highlight: $select.search"></div>\n                                                                   </ui-select-choices>\n                                                          </ui-select>\n                                                          <span class="help-block">\n                                                                     {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n                                                               </span>\n                                                               <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                                                                       <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END CONTEXT -->\n\n                                                        <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n                                      <!-- ADVANCED TAB -->\n                                 <!-- <div class="tab-pane" id="tab_1_2">\n                                              <form name="forms.advanced" data-ng-submit="updateVoiceVoicemail()" novalidate>\n\n\n                                                   <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div> -->\n                                    <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/voice/voicemail/wizard/wizard.html",'<div class="col-md-12" data-ng-init="initWizard();getContexts();">\n  <!-- BEGIN PAGE HEADER-->\n    <div class="page-bar">\n                <ul class="page-breadcrumb">\n                  <li>\n                          <i class="icon-rocket"></i>\n                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                           <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-envelope-letter"></i>\n                          <a href="/voice/voicemails/list">{{ \'APPLICATION_VOICEMAILS\' | translate }}</a>\n                             <i class="fa fa-angle-right"></i>\n                     </li>\n                 <li>\n                          <i class="icon-options"></i>\n                          <a href="#">{{ \'APPLICATION_WIZARD\' | translate }}</a>\n                      </li>\n         </ul>\n </div>\n  <!-- END PAGE HEADER-->\n\n  <!-- BEGIN PORTLET-->\n  <div class="portlet light bordered">\n          <div class="portlet-title">\n           <div class="caption font-green-sharp">\n                        <i class="icon-envelope-letter font-green-sharp"></i>\n                         <span class="caption-subject">{{ \'APPLICATION_VOICEMAIL\' | translate }} WIZARD</a> </span>\n                  </div>\n        </div>\n        <div class="portlet-body">\n            <wizard on-finish="createItem()">\n                             <wz-step title="{{\'APPLICATION_GENERAL\' | translate}}" canexit="exitValidation(forms.general.$valid)">\n                          <form name="forms.general" novalidate>\n\n                        <!-- START MAILBOX -->\n                        <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.mailbox.$invalid}">\n                            <label class="control-label">{{\'APPLICATION_MAILBOX\' | translate}}<span class="required" aria-required="true">*</span></label>\n                              <input type="text" name="mailbox" placeholder="{{\'APPLICATION_MAILBOX\' | translate}}" class="form-control" data-ng-model="item.mailbox" required/>\n                                                  <span data-ng-show="forms.general.$submitted && forms.general.mailbox.$invalid" class="help-block help-block-error">\n                            <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                               </span>\n                             </div>\n                        <!-- END MAILBOX -->\n\n                                          <!-- START PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.password.$invalid}">\n                                                 <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="password" placeholder="{{\'APPLICATION_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                   <span data-ng-show="forms.general.$submitted && forms.general.password.$invalid" class="help-block help-block-error">\n                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END PASSWORD -->\n\n                                               <!-- START CONFIRM PASSWORD -->\n                                               <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.rpassword.$invalid}">\n                                                        <label class="control-label">{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}<span class="required" aria-required="true">*</span></label>\n                                                     <input type="password" name="rpassword" placeholder="{{\'APPLICATION_CONFIRM_PASSWORD\' | translate}}" class="form-control" data-ng-model="item.rpassword" nx-equal="item.password" required/>\n                                                        <span data-ng-show="forms.general.$submitted && (forms.general.rpassword.$invalid || forms.general.rpassword.$invalid)" class="help-block help-block-error">\n                                                          <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_WRONG_PASSWORD\' | translate}}.\n                                                 </span>\n                                               </div>\n                                                <!-- END CONFIRM PASSWORD -->\n\n            <!-- START FULLNAME -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.fullname.$invalid}">\n              <label class="control-label">{{\'APPLICATION_FULLNAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="text" name="fullname" placeholder="{{\'APPLICATION_FULLNAME\' | translate}}" class="form-control" data-ng-model="item.fullname" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.fullname.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END FULLNAME -->\n\n            <!-- START EMAIL -->\n            <div class="form-group" data-ng-class="{\'has-error\': forms.general.$submitted && forms.general.email.$invalid}">\n              <label class="control-label">{{\'APPLICATION_EMAIL\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <input type="email" name="email" placeholder="{{\'APPLICATION_EMAIL\' | translate}}" class="form-control" data-ng-model="item.email" required/>\n              <span data-ng-show="forms.general.$submitted && forms.general.host.$invalid" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END EMAIL -->\n\n            <!-- START CONTEXT -->\n            <div class="form-group" data-ng-class="{\'has-error\': (forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$invalid}">\n              <label class="control-label">{{\'APPLICATION_CONTEXT\' | translate}}<span class="required" aria-required="true">*</span></label>\n              <ui-select data-ng-model="item.context" name="context" theme="bootstrap" required>\n                <ui-select-match placeholder="{{\'APPLICATION_SEARCH_FILTER\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                <ui-select-choices repeat="context.name as context in voiceContexts | filter: $select.search">\n                  <div ng-bind-html="context.name | highlight: $select.search"></div>\n                </ui-select-choices>\n              </ui-select>\n              <span class="help-block">\n                {{ \'DESCRIPTION_VOICE_CONTEXT\' | translate }}\n              </span>\n              <span data-ng-show="(forms.general.context.$touched || forms.general.$submitted) && forms.general.context.$error.required" class="help-block help-block-error">\n                <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n              </span>\n            </div>\n            <!-- END CONTEXT -->\n\n                                          <button class="btn green-haze" type="submit" ng-click="next()">{{\'APPLICATION_CONTINUE\' | translate}} <i class="fa fa-angle-right"></i></button>\n                                    </form>\n                               </wz-step>\n\n                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                    <button class="btn green-haze" type="button" ng-click="previous()"><i class="fa fa-angle-left"></i> {{\'APPLICATION_BACK\' | translate}}</button>\n                                     <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                         </wz-step>\n            </wizard>\n     </div>\n  </div>\n  <!-- END PORTLET-->\n</div>\n'),a.put("app/yourdashboard/list/create.modal.html",'<div class="modal-header">\n  <h3 class="modal-title">{{ \'APPLICATION_NEW_DASHBOARD\' | translate }}</h3>\n</div>\n<div class="modal-body">\n  <form name="forms.dashboard" novalidate>\n\n    <!-- START NAME -->\n    <div class="form-group" data-ng-class="{\'has-error\': (forms.dashboard.name.$touched || forms.dashboard.$submitted) && forms.dashboard.name.$invalid}">\n      <label class="control-label">{{\'APPLICATION_NAME\' | translate}}<span class="required" aria-required="true">*</span></label>\n      <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n      <span data-ng-show="(forms.dashboard.name.$touched || forms.dashboard.$submitted) && forms.dashboard.name.$error.required" class="help-block help-block-error">\n        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n      </span>\n    </div>\n    <!-- END NAME -->\n\n    <!-- START DESCRIPTION -->\n    <div class="form-group">\n      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n      <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"></textarea>\n    </div>\n    <!-- END DESCRIPTION -->\n\n  </form>\n</div>\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" ng-click="ok()" ng-disabled="forms.dashboard.$invalid">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("app/yourdashboard/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n      <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-screen-desktop"></i>\n                                   <a href="/yourdashboards/list">{{ \'APPLICATION_YOUR_DASHBOARDS\' | translate }}</a>\n                          </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-docs font-green-sharp"></i>\n                                    <span class="caption-subject">{{ \'APPLICATION_YOUR_DASHBOARDS\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="dashboards.checked.length">\n                                              <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <button class="btn green-jungle " ng-click="create()">\n                                                        <i class="icon-plus"></i> {{ \'APPLICATION_NEW_DASHBOARD\' | translate }}\n                                             </button>\n                                     </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getDashboards([\'name\', \'description\'])" csv-header="[\'Name\', \'Description\']" field-separator=";" filename="dashboards.csv">\n                                 <i class="icon-cloud-download"></i></a>\n                                       <!-- <a class="btn btn-icon-only btn-default fullscreen" href="#"></a> -->\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedDashboards" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="4">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.dashboardsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                            <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="dashboardByPage in dashboardsByPage | filter: $select.search">\n                                                                                                     <div ng-bind-html="dashboardByPage.name | highlight: $select.search"></div>\n                                                                                           </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(dashboard, checked)" checklist-model checklist-value="id"></th>\n                                                <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="description">{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                              <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="dashboard in displayedDashboards" class="animate-repeat">\n                                                             <td style="text-align: center; vertical-align: middle"><input data-ng-hide="dashboard.defaultEntry" type="checkbox" checklist-model="dashboards.checked" checklist-value="dashboard.id"></td>\n                                                         <td>{{dashboard.name}}</td>\n                                         <td>{{dashboard.description}}</td>\n                                            <td>\n                                                                    <a class="btn default btn-xs green-stripe" data-ng-href="/yourdashboards/show/{{dashboard.id}}">\n                                                                              {{ \'APPLICATION_VIEW\' | translate}}\n                                         </a>\n                                          <a class="btn default btn-xs blue-stripe" data-ng-href="/yourdashboards/view/{{dashboard.id}}/settings">\n                                                                              {{ \'APPLICATION_SETTINGS\' | translate}}\n                                             </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(dashboard.name,dashboard.id)" data-ng-class="{\'disabled\': dashboard.defaultEntry}">\n                                                                              {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedDashboards.length">\n                                                                <td colspan="4" style="text-align:center;">\n                                                                   <i>{{ \'MESSAGE_NO_DASHBOARDS_AVAILABLE\' | translate }}</i>\n                                                          </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="description" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_DESCRIPTION\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                  </div>\n                                                    </td>\n                                                 <td/>\n                                               </tr>\n                                           <tr>\n                                            <td colspan="4" class="text-center">\n                                            <div st-pagination class="pagination" st-items-by-page="conf.dashboardsByPage.value" st-displayed-pages="7"></div>\n                                          </td>\n                                       </tr>\n                                       </tfoot>\n                            </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/yourdashboard/show/show.html",'<div class="col-md-12" ng-init="getDashboard()">\n  <adf-dashboard\n          name="{{dashboard.name}}"\n          collapsible="{{dashboard.collapsible}}"\n          maximizable="{{dashboard.maximizable}}"\n          enableconfirmdelete="{{dashboard.enableconfirmdelete}}"\n          structure="{{dashboard.structure}}"\n          editable="{{dashboard.editable}}"\n          adf-model="dashboard.model"/>\n</div>\n'),a.put("app/yourdashboard/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="getDashboard()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-screen-desktop"></i>\n                                   <a href="/yourdashboards/list">{{ \'APPLICATION_YOUR_DASHBOARDS\' | translate }}</a>\n                                  <i data-ng-show="dashboard" class="fa fa-angle-right"></i>\n                            </li>\n                         <li data-ng-show="dashboard">\n                                 <a href="#">{{dashboard.name}}</a>\n                            </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img data-ng-src="assets/images/media/dashboard.png" class="img-responsive">\n                          </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{dashboard.name}}\n                                    </div>\n                                        <!-- <div class="profile-usertitle-job">\n                                              {{user.role}}\n                                 </div> -->\n                            </div>\n                                <!-- END SIDEBAR USER TITLE -->\n\n                             <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.yourdashboards.view.settings\')}">\n                                                       <a data-ng-href="/yourdashboards/view/{{dashboard.id}}/settings">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_SETTINGS\' | translate}} </a>\n                                                </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/yourdashboard/view/view.settings.html",'<div class="row">\n     <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{ \'APPLICATION_DASHBOARD\' | translate}} {{ \'APPLICATION_SETTINGS\' | translate}} </span>\n                           </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{ \'APPLICATION_GENERAL\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n\n                      <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.general" data-ng-submit="forms.general.$valid && updateDashboard()" novalidate>\n\n                                                   <!-- START VISIBLE TO ADMIN -->\n                                                       <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_VISIBLE_TO_ADMIN\' | translate}}</label><br>\n                                                             <input\n                                                                        bs-switch\n                                                                     ng-model="dashboard.admin"\n                                                                    type="checkbox"\n                                                                       switch-active="{{ radioSwitch.isActive }}"\n                                                                    switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                        switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                        switch-on-color="{{ radioSwitch.onColor }}"\n                                                                   switch-off-color="{{ radioSwitch.offColor }}"\n                                                                 switch-animate="{{ radioSwitch.animate }}"\n                                                                    switch-size="{{ radioSwitch.size }}"\n                                                                  switch-label="{{ radioSwitch.label }}"\n                                                                        switch-icon="{{ radioSwitch.icon }}"\n                                                                  switch-radio-off="{{ radioSwitch.radioOff }}"\n                                                                 switch-label-width="{{ radioSwitch.labelWidth }}"\n                                                                     switch-handle-width="{{ radioSwitch.handleWidth }}">\n                                                  </div>\n                                                        <!-- END VISIBLE TO ADMIN -->\n\n                                                       <!-- START VISIBLE TO USER -->\n                                                        <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_VISIBLE_TO_USER\' | translate}}</label><br>\n                                                              <input\n                                                                        bs-switch\n                                                                     ng-model="dashboard.user"\n                                                                     type="checkbox"\n                                                                       switch-active="{{ radioSwitch.isActive }}"\n                                                                    switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                        switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                        switch-on-color="{{ radioSwitch.onColor }}"\n                                                                   switch-off-color="{{ radioSwitch.offColor }}"\n                                                                 switch-animate="{{ radioSwitch.animate }}"\n                                                                    switch-size="{{ radioSwitch.size }}"\n                                                                  switch-label="{{ radioSwitch.label }}"\n                                                                        switch-icon="{{ radioSwitch.icon }}"\n                                                                  switch-radio-off="{{ radioSwitch.radioOff }}"\n                                                                 switch-label-width="{{ radioSwitch.labelWidth }}"\n                                                                     switch-handle-width="{{ radioSwitch.handleWidth }}">\n                                                  </div>\n                                                        <!-- END VISIBLE TO USER -->\n\n                                                        <!-- START VISIBLE TO AGENT -->\n                                                       <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_VISIBLE_TO_AGENT\' | translate}}</label><br>\n                                                             <input\n                                                                        bs-switch\n                                                                     ng-model="dashboard.agent"\n                                                                    type="checkbox"\n                                                                       switch-active="{{ radioSwitch.isActive }}"\n                                                                    switch-on-text="{{ \'APPLICATION_YES\' | translate }}"\n                                                                        switch-off-text="{{ \'APPLICATION_NO\' | translate }}"\n                                                                        switch-on-color="{{ radioSwitch.onColor }}"\n                                                                   switch-off-color="{{ radioSwitch.offColor }}"\n                                                                 switch-animate="{{ radioSwitch.animate }}"\n                                                                    switch-size="{{ radioSwitch.size }}"\n                                                                  switch-label="{{ radioSwitch.label }}"\n                                                                        switch-icon="{{ radioSwitch.icon }}"\n                                                                  switch-radio-off="{{ radioSwitch.radioOff }}"\n                                                                 switch-label-width="{{ radioSwitch.labelWidth }}"\n                                                                     switch-handle-width="{{ radioSwitch.handleWidth }}">\n                                                  </div>\n                                                        <!-- END VISIBLE TO AGENT -->\n\n                                                       <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <textarea type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="dashboard.description"></textarea>\n                                                     </div>\n                                                        <!-- END DESCRIPTION -->\n                                                      <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END ADVANCED TAB -->\n\n                           </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/zendesk/list/list.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row">\n  <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <i class="icon-handbag"></i>\n                                  <a href="/zendesk/list">{{ \'APPLICATION_ZENDESK\' | translate }}</a>\n                         </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-handbag font-green-sharp"></i>\n                                 <span class="caption-subject">{{ \'APPLICATION_ZENDESK\' | translate }}</a> </span>\n                           </div>\n                                <div class="actions">\n                                 <div class="btn-group" data-ng-show="accounts.checked.length">\n                                                <a class="btn red" href="#" data-ng-click="deleteItems()">\n                                                    <i class="icon-trash"></i> {{ \'APPLICATION_DELETE\' | translate }}\n                                           </a>\n                                  </div>\n                                        <div class="btn-group">\n                                               <a class="btn green-jungle" href="#" data-toggle="dropdown">\n                                                  <i class="icon-plus"></i> {{ \'APPLICATION_NEW_ACCOUNT\' | translate }} <i class="fa fa-angle-down"></i>\n                                              </a>\n                                          <ul class="dropdown-menu pull-right">\n                                                 <li>\n                                                          <a href="/zendesk/wizard">\n                                                            <i class="icon-user-following"></i> {{ \'APPLICATION_WIZARD\' | translate }} </a>\n                                                     </li>\n                                         </ul>\n                                 </div>\n                                        <a class="btn btn-icon-only btn-default" href="#" ng-csv="getAccounts([\'name\',\'username\',\'remoteUri\',\'authType\',\'token\',\'password\'])" csv-header="[\'Name\', \'Username\', \'Remote Address\', \'Authentication Type\', \'Token\', \'Password\']" field-separator=";" filename="zendesk_accounts.csv">\n                                    <i class="icon-cloud-download"></i></a>\n                               </div>\n                        </div>\n                        <div class="portlet-body">\n                            <!-- START TABLE -->\n                          <table st-table="displayedZdAccounts" st-pipe="initList" class="table table-striped table-bordered table-hover">\n                                      <div class="table-responsive">\n                                          <thead>\n                                                     <tr>\n                                                          <th colspan="7">\n                                                                      <div class="row">\n                                                                             <div class="col-md-6">\n                                                                                        <ui-select class="input-xsmall" ng-model="conf.accountsByPage" theme="bootstrap" ng-disabled="disabled">\n                                                                                              <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                                                                                             <ui-select-choices repeat="accountByPage in accountsByPage | filter: $select.search">\n                                                                                                 <div ng-bind-html="accountByPage.name | highlight: $select.search"></div>\n                                                                                             </ui-select-choices>\n                                                                                  </ui-select>\n                                                                          </div>\n                                                                                <div class="col-md-6">\n                                                                                        <div class="input-group input-medium pull-right">\n                                                                                             <input st-search placeholder="{{ \'APPLICATION_SEARCH\' | translate }}" class="form-control" type="search" />\n                                                                                         <span class="input-group-addon">\n                                                                                                      <i class="fa fa-search"></i>\n                                                                                          </span>\n                                                                                       </div>\n                                                                                </div>\n                                                                        </div>\n                                                                </th>\n                                                 </tr>\n                                           <tr>\n                                                                <th class="small-cells" style="text-align: center; vertical-align: middle"><input type="checkbox" ng-change="check(account, checked)" checklist-model checklist-value="id"></th>\n                                                  <th st-sort="name">{{ \'APPLICATION_NAME\' | translate }}</th>\n                                                <th st-sort="username">{{ \'APPLICATION_EMAIL\' | translate }}</th>\n                                                               <th st-sort="remoteUri">{{ \'APPLICATION_REMOTE_ADDRESS\' | translate }}</th>\n                                                         <th>{{ \'APPLICATION_DESCRIPTION\' | translate }}</th>\n                                                                <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                              </tr>\n                                         </thead>\n                                      <tbody>\n                                         <tr data-ng-repeat="account in displayedZdAccounts" class="animate-repeat">\n                                                               <td style="text-align: center; vertical-align: middle"><input type="checkbox" checklist-model="accounts.checked" checklist-value="account.id"></td>\n                                         <td>{{account.name}}</td>\n                                             <td>{{account.username}}</td>\n                                                           <td>{{account.remoteUri}}</td>\n                                                                <td>{{account.description}}</td>\n                                            <td>\n                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/zendesk/view/{{account.id}}/account">\n                                                                                {{ \'APPLICATION_EDIT\' | translate }}\n                                                </a>\n                                                                  <a class="btn default btn-xs green-stripe" data-ng-click="checkAccount(account.id)">\n                                                                          {{ \'APPLICATION_CHECK_CONNECTION\' | translate }}\n                                            </a>\n                                          <a class="btn default btn-xs red-stripe" data-ng-click="deleteItem(account.name,account.id)">\n                                                                         {{ \'APPLICATION_DELETE\' | translate }}\n                                              </a>\n                                        </td>\n                                       </tr>\n                                                     <tr data-ng-hide="displayedZdAccounts.length">\n                                                                <td colspan="7" style="text-align:center;">\n                                                                   <i>No account available</i>\n                                                           </td>\n                                                 </tr>\n                                   </tbody>\n                                      <tfoot>\n                                                     <tr>\n                                                          <td/>\n                                             <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="name" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_NAME\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                        </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="email" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_EMAIL\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                      </div>\n                                                    </td>\n                                                 <td>\n                                                                      <div class="input-icon right">\n                                                                                <i class="fa fa-search"></i>\n                                                                          <input st-search="remoteUri" placeholder="{{ \'APPLICATION_SEARCH\' | translate }} {{ \'APPLICATION_BY\' | translate | lowercase }} {{ \'APPLICATION_REMOTE_ADDRESS\' | translate | lowercase}}" class="form-control" type="search"/>\n                                                                 </div>\n                                                    </td>\n                                                 <td/>\n                                                             <td/>\n                                           </tr>\n                                           <tr>\n                                            <td colspan="7" class="text-center">\n                                                                    <div class="pagination" st-pagination st-items-by-page="conf.accountsByPage.value" st-displayed-pages="7"></div>\n                                            </td>\n                                       </tr>\n                                       </tfoot>\n                                    </div>\n                                </table>\n                              <!-- END TABLE -->\n                    </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
 a.put("app/zendesk/view/view.account.html",'<div class="row">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_ACCOUNT\' | translate}}</span>\n                         </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_GENERALS\' | translate}}</a>\n                                     </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- GENERAL TAB -->\n                                  <div class="tab-pane active" id="tab_1_1">\n                                            <form name="forms.formSetting" data-ng-submit="forms.formSetting.$valid && updateItem()" novalidate>\n              <!-- START NAME -->\n                                                       <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.name" required/>\n                                                                <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n                                                     <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="account.description"/>\n                                                    </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.username" required/>\n                                                                <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START REMOTE ADDRESS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="account.remoteUri" required />\n                                                            <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START AUTH TYPE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.authType.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_AUTHENTICATION_TYPE\' | translate}}</label>\n                                                              <ui-select data-ng-model="account.authType" name="authType" theme="bootstrap" required>\n                                                                       <ui-select-match placeholder="{{\'APPLICATION_AUTHENTICATION_TYPE\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                        <ui-select-choices repeat="type in [\'password\', \'token\'] | filter: $select.search">\n                                                                               <div data-ng-bind="type | capitalize | highlight: $select.search"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.authType.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START AUTH TYPE -->\n\n              <!-- START PASSWORD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}" ng-slide-down="account.authType == \'password\'" lazy-render duration="1">\n                                                               <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.password" required/>\n                                                            <span data-ng-show="forms.formSetting.password.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n              <!-- START TOKEN -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.token.$invalid}" ng-slide-down="account.authType == \'token\'" lazy-render duration="1">\n                                                             <label class="control-label">{{\'APPLICATION_TOKEN\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="token" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="account.token" required/>\n                                                              <span data-ng-show="forms.formSetting.token.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TOKEN -->\n\n                                                  <input class="btn green-haze" type="submit" value="{{\'APPLICATION_UPDATE\' | translate}}"/>\n                                          </form>\n                                       </div>\n                                        <!-- END GENERAL TAB -->\n\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/zendesk/view/view.configuration.html",'<div class="row" data-ng-init="initConfiguration()">\n     <div class="col-md-12">\n               <!-- BEGIN  PORTLET-->\n                <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_CONFIGURATION\' | translate }} WIZARD</a> </span>\n                              </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createConfiguration()">\n            <wz-step title="{{\'APPLICATION_SETTINGS\' | translate}}" canexit="formValidation(formsConfiguration.info.$valid)">\n                                                   <form name="formsConfiguration.info" novalidate>\n                                                              <!-- START NAME -->\n                                                           <div class="form-group" data-ng-class="{\'has-error\': formsConfiguration.info.$submitted && formsConfiguration.info.name.$invalid}">\n                                                                 <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                        <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="configuration.name" required/>\n                                                                  <span data-ng-show="formsConfiguration.info.name.$invalid && formsConfiguration.info.$submitted" class="help-block help-block-error">\n                                                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                                 </span>\n                                                               </div>\n                                                                <!-- END NAME -->\n                                                             <!-- START DESCRIPTION -->\n                                                            <div class="form-group">\n                                                                      <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                                      <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="configuration.description"/>\n                                                              </div>\n                                                                <!-- END DESCRIPTION -->\n\n                                                            <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="goNext()"/>\n                                                       </form>\n                                               </wz-step>\n\n                                          <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                                     <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                                    <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                         </wz-step>\n                            </wizard>\n                     </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/zendesk/view/view.configurationSettings.html",'<div class="row" data-ng-init="getConfiguration();getVariables();getFields();">\n        <div class="col-md-12">\n               <div class="portlet light">\n                   <div class="portlet-title tabbable-line">\n                             <div class="caption caption-md">\n                                      <i class="icon-globe theme-font hide"></i>\n                                    <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATION\' | translate}}: {{configurationName}}</span>\n                            </div>\n                                <ul class="nav nav-tabs">\n                                     <li class="active">\n                                           <a href="#" data-target="#tab_1_1" data-toggle="tab">{{\'APPLICATION_SUBJECT\' | translate}}</a>\n                                      </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_2" data-toggle="tab">{{\'APPLICATION_DESCRIPTION\' | translate}}</a>\n                                  </li>\n          <li>\n                                         <a href="#" data-target="#tab_1_3" data-toggle="tab">{{\'APPLICATION_FIELDS\' | translate}}</a>\n                                       </li>\n                         </ul>\n                 </div>\n                        <div class="portlet-body">\n                            <div class="tab-content">\n                                     <!-- SUBJECT TAB -->\n                                  <div class="tab-pane ui-padding active" id="tab_1_1">\n            <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by blank space:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemSubject()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                          <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="subjectItem in subjectConfig">\n                 <div class="col-md-3">\n                  <ui-select ng-model="subjectItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(subjectItem)">\n                       <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'string\'">\n                        <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="subjectItem.content" data-ng-change="updateField(subjectItem)">\n                      </div>\n                      </div>\n                <div class="col-md-8" data-ng-if="subjectItem.type==\'variable\'">\n                      <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="subjectItem.VariableId" data-ng-change="updateField(subjectItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(subjectItem)"><i class="fa fa-times"></i></button>\n                  </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END SUBJECT TAB -->\n          <!-- DESCRIPTION TAB -->\n                                  <div class="tab-pane ui-padding" id="tab_1_2">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">All following fields will be join by new line:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemDescription()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                            <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                                                    <div class="row" data-ng-repeat="descriptionItem in descriptionConfig">\n                                                               <!-- <pre>\n                                                                    {{descriptionItem|json}}\n                                                              </pre> -->\n                  <div class="col-md-2">\n                  <ui-select ng-model="descriptionItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                        <ui-select-choices repeat="item in descFieldType | filter: $select.search">\n                     <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                       </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-9" data-ng-if="descriptionItem.type==\'string\'">\n                    <div class="form-group">\n                        <input type="text" class="form-control" data-ng-model="descriptionItem.content" data-ng-change="updateField(descriptionItem)">\n                      </div>\n                      </div>\n                                                          <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <input type="text" class="form-control" placeholder="Key" data-ng-model="descriptionItem.key" data-ng-change="updateField(descriptionItem)">\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\'">\n                                                                       <ui-select ng-model="descriptionItem.keyType" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeDescType(descriptionItem)">\n                        <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                     <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                         <div ng-bind-html="item | highlight: $select.search | capitalize"></div>\n                    </ui-select-choices>\n                        </ui-select>\n                                                          </div>\n                                                                <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'string\'">\n                                                                        <input type="text" class="form-control" placeholder="Value" data-ng-model="descriptionItem.keyContent" data-ng-change="updateField(descriptionItem)">\n                                                         </div>\n                      <div class="col-md-3" data-ng-if="descriptionItem.type==\'key_value\' && descriptionItem.keyType==\'variable\'">\n                        <div class="form-group">\n                        <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="descriptionItem.VariableId" data-ng-change="updateField(descriptionItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(descriptionItem)"><i class="fa fa-times"></i></button>\n                      </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END DESCRIPTION TAB -->\n          <!-- FIELDS TAB -->\n                                   <div class="tab-pane ui-padding" id="tab_1_3">\n                                                <div class="row">\n              <div class="col-md-11">\n                <span class="caption-subject">Add how to fill the fields present in your account:</span>\n              </div>\n              <div class="col-md-1 pull-rigth">\n                <button class="btn btn-icon-only green" data-ng-click="addItemField()"><i class="fa fa-plus"></i></button>\n              </div>\n            </div>\n            <hr>\n                                             <!-- <div ng-scrollbars ng-scrollbars-config="config"> -->\n                <div class="row" data-ng-repeat="fieldItem in fieldConfig">\n                     <div class="col-md-3">\n                  <ui-select ng-model="fieldItem.idField" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeFieldType(fieldItem)">\n                   <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.title}}</ui-select-match>\n                    <ui-select-choices repeat="item.id as item in accountFields | filter: $select.search">\n                          <div ng-bind-html="item.title | highlight: $select.search"></div>\n                   </ui-select-choices>\n                        </ui-select>\n                </div>\n                <div class="col-md-8" data-ng-if="getSystemFieldOptions(fieldItem.idField)">\n                    <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.content" theme="bootstrap" ng-disabled="disabled" data-ng-change="updateField(fieldItem)">\n                               <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                             <ui-select-choices repeat="item.value as item in getSystemFieldOptions(fieldItem.idField) | filter: $select.search">\n                                    <div ng-bind-html="item.name | highlight: $select.search"></div>\n                            </ui-select-choices>\n                                </ui-select>\n                  </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField)">\n                                                                 <div class="form-group">\n                                                                              <ui-select ng-model="fieldItem.type" theme="bootstrap" ng-disabled="disabled" data-ng-change="changeType(fieldItem)">\n                           <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected | ucfirst}}</ui-select-match>\n                                <ui-select-choices repeat="item in fieldType | filter: $select.search">\n                                 <div ng-bind-html="item | highlight: $select.search | ucfirst"></div>\n                               </ui-select-choices>\n                                </ui-select>\n                                                                  </div>\n                                                                </div>\n                                                                <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'string\'">\n                        <div class="form-group">\n                                                                              <input type="text" class="form-control" data-ng-model="fieldItem.content" data-ng-change="updateField(fieldItem)">\n                    </div>\n                      </div>\n                                                          <div class="col-md-4" data-ng-if="!getSystemFieldOptions(fieldItem.idField) && fieldItem.type === \'variable\'">\n                      <div class="form-group">\n                                                                              <ui-select theme="bootstrap" ng-disabled="disabled" data-ng-model="fieldItem.VariableId" data-ng-change="updateField(fieldItem)">\n                         <ui-select-match placeholder="{{\'APPLICATION_SEARCH\' | translate}}">{{$select.selected.name}}</ui-select-match>\n                     <ui-select-choices repeat="variable.id as variable in variables | filter: $select.search">\n                              <div ng-bind-html="variable.name | highlight: $select.search"></div>\n                        </ui-select-choices>\n                        </ui-select>\n                        </div>\n                      </div>\n                <div class="col-md-1">\n                  <div class="form-group">\n                        <button class="btn btn-icon-only red" data-ng-click="removeItem(fieldItem)"><i class="fa fa-times"></i></button>\n                    </div>\n                      </div>\n              </div>\n                                            <!-- </div> -->\n                                       </div>\n                                        <!-- END FIELDS TAB -->\n                               </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/zendesk/view/view.configurations.html",'<div ui-view class="profile-content">\n   <div class="row" data-ng-init="getConfigurations()">\n          <div class="col-md-12">\n                       <div class="portlet light">\n                           <div class="portlet-title  tabbable-line">\n                                    <div class="caption caption-md">\n                                              <i class="icon-globe theme-font hide"></i>\n                                            <span class="caption-subject font-blue-madison bold uppercase">{{\'APPLICATION_CONFIGURATIONS\' | translate}}</span>\n                                  </div>\n                                        <div class="actions">\n                                         <div class="btn-group">\n                                                       <a class="btn green-jungle " href="/zendesk/view/{{account.id}}/configuration" data-toggle="dropdown">\n                                                                <i class="icon-plus"></i> {{ \'APPLICATION_NEW_CONFIGURATION\' | translate }}\n                                                 </a>\n                                          </div>\n                                        </div>\n                                </div>\n                                <div class="portlet-body">\n                                    <!-- START TABLE -->\n                                  <table class="table table-striped table-bordered table-hover">\n                                                  <thead>\n                                                       <tr>\n                                                            <th>{{\'APPLICATION_NAME\' | translate}}</th>\n                                                                     <th>{{\'APPLICATION_DESCRIPTION\' | translate}}</th>\n                                                                  <th>{{ \'APPLICATION_ACTIONS\' | translate }}</th>\n                                                      </tr>\n                                                 </thead>\n                                                    <tbody>\n                                                   <tr data-ng-repeat="configuration in configurations">\n                                                                     <td>{{configuration.name}}</td>\n                                                                       <td>{{configuration.description}}</td>\n                                                      <td>\n                                                                            <a class="btn default btn-xs blue-stripe" data-ng-href="/zendesk/view/{{account.id}}/configurations/settings/{{configuration.id}}">\n                                                                                   {{ \'APPLICATION_SETTINGS\' | translate}}\n                                                     </a>\n                                                  <a class="btn default btn-xs red-stripe" data-ng-click="deleteConfiguration(configuration.name,configuration.id)">\n                                                                                    {{ \'APPLICATION_DELETE\' | translate }}\n                                                      </a>\n                                                </td>\n                                               </tr>\n                                                             <tr data-ng-hide="configurations.length">\n                                                                     <td colspan="5" style="text-align:center;">\n                                                                           <i>No configuration available</i>\n                                                                     </td>\n                                                         </tr>\n                                           </tbody>\n                                    </table>\n                                      <!-- END TABLE -->\n                            </div>\n                        </div>\n                </div>\n        </div>\n</div>\n'),a.put("app/zendesk/view/view.html",'<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initView()">\n        <div class="col-md-12">\n               <div class="page-bar">\n                        <ul class="page-breadcrumb">\n                          <li>\n                                  <i class="icon-rocket"></i>\n                                   <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                   <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n          <i class="icon-handbag"></i>\n          <a href="/zendesk/list">{{ \'APPLICATION_ZENDESK\' | translate }}</a>\n                                 <i class="fa fa-angle-right"></i>\n                             </li>\n                         <li>\n                                  <a href="#">{{account.name}}</a>\n                              </li>\n                 </ul>\n         </div>\n\n              <!-- BEGIN PROFILE SIDEBAR -->\n                <div class="profile-sidebar">\n                 <!-- PORTLET MAIN -->\n                 <div class="portlet light profile-sidebar-portlet">\n                           <!-- SIDEBAR USERPIC -->\n                              <div class="profile-image">\n                                   <img src="assets/images/media/zendesk.png" class="img-responsive">\n                            </div>\n                                <!-- END SIDEBAR USERPIC -->\n                          <!-- SIDEBAR USER TITLE -->\n                           <div class="profile-usertitle">\n                                       <div class="profile-usertitle-name">\n                                          {{account.name}}\n                                      </div>\n                                        <div class="profile-usertitle-job">\n                                           {{account.remoteUri}}\n                                 </div>\n                                </div>\n                                <!-- END SIDEBAR USER TITLE -->\n                               <!-- SIDEBAR MENU -->\n                         <div class="profile-usermenu">\n                                        <ul class="nav">\n                                              <li data-ng-class="{active: $state.is(\'main.zendesk.view.account\')}">\n                                                       <a ng-href="/zendesk/view/{{account.id}}/account">\n                                                    <i class="icon-user"></i>\n                                                     {{ \'APPLICATION_ACCOUNT\' | translate }} </a>\n                                                </li>\n                                         <li data-ng-class="{active: $state.includes(\'main.zendesk.view.configurations\') || $state.is(\'main.zendesk.view.configuration\')}">\n                                                        <a ng-href="/zendesk/view/{{account.id}}/configurations">\n                                                     <i class="icon-settings"></i>\n                                                 {{ \'APPLICATION_CONFIGURATIONS\' | translate }} </a>\n                                         </li>\n                                 </ul>\n                         </div>\n                                <!-- END MENU -->\n                     </div>\n                        <!-- END PORTLET MAIN -->\n             </div>\n                <!-- END BEGIN PROFILE SIDEBAR -->\n            <!-- BEGIN PROFILE CONTENT -->\n                <div ui-view class="profile-content">\n         </div>\n                <!-- END PROFILE CONTENT -->\n  </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),a.put("app/zendesk/wizard/wizard.html",'<!-- BEGIN PAGE HEADER-->\n<div class="row">\n     <div class="col-md-12">\n                       <div class="page-bar">\n                                <ul class="page-breadcrumb">\n                                  <li>\n                                          <i class="icon-rocket"></i>\n                                           <a href="/">{{ \'APPLICATION_DASHBOARD\' | translate }}</a>\n                                           <i class="fa fa-angle-right"></i>\n                                     </li>\n                                 <li>\n                                          <i class="icon-handbag"></i>\n                                          <a href="/zendesk/list">{{ \'APPLICATION_ZENDESK\' | translate }}</a>\n                                 </li>\n                         </ul>\n                 </div>\n                </div>\n</div>\n<!-- END PAGE HEADER-->\n\n<!-- BEGIN PAGE CONTENT-->\n<div class="row" data-ng-init="initWizard()">\n  <div class="col-md-12">\n               <!-- BEGIN Portlet PORTLET-->\n         <div class="portlet light bordered">\n                  <div class="portlet-title">\n                           <div class="caption font-green-sharp">\n                                        <i class="icon-notebook font-green-sharp"></i>\n                                        <span class="caption-subject">{{ \'APPLICATION_ACCOUNT\' | translate }} WIZARD</a> </span>\n                            </div>\n                        </div>\n                        <div class="portlet-body">\n                            <wizard on-finish="createItem()">\n          <wz-step title="{{\'APPLICATION_ACCOUNT_INFO\' | translate}}" canexit="exitValidation(forms.formSetting.$valid)">\n                                                <form name="forms.formSetting" novalidate>\n\n                                                  <!-- START NAME -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.name.$invalid}">\n                                                             <label class="control-label">{{\'APPLICATION_NAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                                <input type="text" name="name" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.name" required/>\n                                                           <span data-ng-show="forms.formSetting.name.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                     <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END NAME -->\n\n                                                   <!-- START DESCRIPTION -->\n                                                    <div class="form-group">\n                                                              <label class="control-label">{{\'APPLICATION_DESCRIPTION\' | translate}}</label>\n                                                              <input type="text" name="description" placeholder="{{\'APPLICATION_DESCRIPTION\' | translate}}" class="form-control" data-ng-model="item.description"/>\n                                                       </div>\n                                                        <!-- END DESCRIPTION -->\n\n              <!-- START USERNAME -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.username.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_USERNAME\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="text" name="username" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.username" required ng-remote-validate="/api/zendesk/accounts/validate/username"/>\n                                                              <span data-ng-show="forms.formSetting.username.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formSetting.username.$touched || forms.formSetting.$submitted) && forms.formSetting.username.$error.ngRemoteValidate" class="help-block help-block-error">\n                                   <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_USERNAME\' | translate}}.\n                                       </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n              <!-- START REMOTE ADDRESS -->\n                                                  <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.remoteUri.$invalid}">\n                                                                <label class="control-label">{{\'APPLICATION_REMOTE_ADDRESS\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                              <input type="url" name="remoteUri" placeholder="{{\'APPLICATION_REMOTE_ADDRESS\' | translate}}" class="form-control" data-ng-model="item.remoteUri" required ng-remote-validate="/api/zendesk/accounts/validate/remoteUri"/>\n                                                          <span data-ng-show="forms.formSetting.remoteUri.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                        <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                               <span data-ng-show="(forms.formSetting.remoteUri.$touched || forms.formSetting.$submitted) && forms.formSetting.remoteUri.$error.ngRemoteValidate" class="help-block help-block-error">\n                                         <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_EXIST_DOMAIN\' | translate}}.\n                                 </span>\n                                                       </div>\n                                                        <!-- END USERNAME -->\n\n                                                       <!-- START AUTH TYPE -->\n                                                      <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.authType.$invalid}">\n                                                         <label class="control-label">{{\'APPLICATION_AUTHENTICATION_TYPE\' | translate}}</label>\n                                                              <ui-select data-ng-model="item.authType" name="authType" theme="bootstrap" required>\n                                                                  <ui-select-match placeholder="{{\'APPLICATION_AUTHENTICATION_TYPE\' | translate}}">{{$select.selected | capitalize}}</ui-select-match>\n                                                                        <ui-select-choices repeat="type in [\'password\', \'token\'] | filter: $select.search">\n                                                                               <div data-ng-bind="type | capitalize | highlight: $select.search"></div>\n                                                                      </ui-select-choices>\n                                                          </ui-select>\n                                                          <span data-ng-show="forms.formSetting.authType.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- START AUTH TYPE -->\n\n              <!-- START PASSWORD -->\n                                                     <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.password.$invalid}" ng-slide-down="item.authType == \'password\'" lazy-render duration="1">\n                                                          <label class="control-label">{{\'APPLICATION_PASSWORD\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                            <input type="password" name="password" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.password" required/>\n                                                               <span data-ng-show="forms.formSetting.password.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                 <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END PASSWORD -->\n\n              <!-- START TOKEN -->\n                                                   <div class="form-group" data-ng-class="{\'has-error\': forms.formSetting.$submitted && forms.formSetting.token.$invalid}" ng-slide-down="item.authType == \'token\'" lazy-render duration="1">\n                                                                <label class="control-label">{{\'APPLICATION_TOKEN\' | translate}} <span class="required" aria-required="true">*</span></label>\n                                                               <input type="text" name="token" placeholder="{{\'APPLICATION_NAME\' | translate}}" class="form-control" data-ng-model="item.token" required/>\n                                                         <span data-ng-show="forms.formSetting.token.$invalid && forms.formSetting.$submitted" class="help-block help-block-error">\n                                                                    <strong>{{\'APPLICATION_WARNING\' | translate}}!</strong> {{\'MESSAGE_REQUIRED_FIELD\' | translate}}.\n                                                         </span>\n                                                       </div>\n                                                        <!-- END TOKEN -->\n\n                                                  <input class="btn green-haze" type="submit" value="{{\'APPLICATION_CONTINUE\' | translate}}" data-ng-click="next()"/>\n\n                                               </form>\n                                       </wz-step>\n\n                                  <wz-step title="{{\'APPLICATION_CONFIRM\' | translate}}">\n                                             <p>{{\'MESSAGE_CONFIGURATION_COMPLETED\' | translate}}</p>\n                                            <input type="submit" class="btn green-haze" wz-next value="{{\'APPLICATION_CONFIRM\' | translate}}"/>\n                                 </wz-step>\n\n                          </wizard>\n\n                   </div>\n                </div>\n                <!-- END Portlet PORTLET-->\n   </div>\n</div>\n<!-- END PAGE CONTENT-->\n'),
-a.put("components/footer/footer.html",'<!-- BEGIN FOOTER -->\n<div class="page-footer" data-ng-init="initFooter()">\n  <div class="page-footer-inner">\n     {{info.name}} v. {{info.version}} | 2015-2016 &copy; Powered by Xenialab\n  </div>\n  <div class="scroll-to-top">\n    <i class="icon-arrow-up"></i>\n  </div>\n</div>\n<!-- END FOOTER -->\n'),a.put("components/header/header.html",'<!-- BEGIN HEADER INNER -->\n<div class="page-header-inner" data-ng-init="initHeader()">\n  <!-- BEGIN LOGO -->\n  <div class="page-logo">\n    <a href="/">\n    <img src="assets/images/logo.png" alt="logo" class="logo-default"/>\n    </a>\n    <div class="menu-toggler sidebar-toggler">\n      <!-- DOC: Remove the above "hide" to enable the sidebar toggler button on header -->\n    </div>\n  </div>\n  <!-- END LOGO -->\n  <!-- BEGIN HEADER SEARCH BOX -->\n  <!-- DOC: Apply "search-form-expanded" right after the "search-form" class to have half expanded search box -->\n  <form class="search-form hide" action="extra_search.html" method="GET">\n    <div class="input-group">\n      <input type="text" class="form-control" placeholder="Search..." name="query">\n      <span class="input-group-btn">\n      <a href="javascript:;" class="btn submit"><i class="icon-magnifier"></i></a>\n      </span>\n    </div>\n  </form>\n  <!-- END HEADER SEARCH BOX -->\n  <!-- BEGIN RESPONSIVE MENU TOGGLER -->\n  <a href="javascript:;" class="menu-toggler responsive-toggler" data-toggle="collapse" data-target=".navbar-collapse">\n  </a>\n  <!-- END RESPONSIVE MENU TOGGLER -->\n  <!-- BEGIN TOP NAVIGATION MENU -->\n  <div class="top-menu">\n    <ul class="nav navbar-nav pull-right">\n      <!-- BEGIN LANGUAGE BAR -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-language">\n        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n        <img ng-src="assets/images/flags/{{ language }}.png">\n        <i class="fa fa-angle-down"></i>\n        </a>\n        <ul class="dropdown-menu dropdown-menu-default">\n          <li>\n            <a href="#" ng-click="changeLanguage(\'it\')">\n            <img alt="" src="assets/images/flags/it.png"> Italian </a>\n          </li>\n          <li>\n            <a href="#" ng-click="changeLanguage(\'en_EN\')">\n            <img alt="" src="assets/images/flags/en_EN.png"> English </a>\n          </li>\n        </ul>\n      </li>\n      <!-- END LANGUAGE BAR -->\n      <!-- BEGIN USER LOGIN DROPDOWN -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-user">\n        <a href="#" class="dropdown-toggle" dropdown-menu-hover data-toggle="dropdown" data-close-others="true">\n        <img class="img-circle" data-ng-src="api/users/avatar/{{getCurrentUser().userpic || \'unknown_avatar\'}}" alt="...">\n        <span class="username username-hide-on-mobile">\n          {{ getCurrentUser().fullname }} </span>\n        <i class="fa fa-angle-down"></i>\n        </a>\n        <ul class="dropdown-menu dropdown-menu-default">\n          <li>\n            <a ng-href=" {{isAdmin() ? \'/users/view/\'+getCurrentUser().id+\'/account\' : \'/agents/view/\'+getCurrentUser().id+\'/account\'}}">\n            <i class="icon-key"></i>Change password</a>\n          </li>\n          <!-- <li>\n            <a href="#">\n            <i class="icon-calendar"></i> My Calendar </a>\n          </li> -->\n          <!-- <li>\n            <a href="#">\n            <i class="icon-envelope-open"></i> My Inbox <span class="badge badge-danger">\n            3 </span>\n            </a>\n          </li> -->\n          <!-- <li>\n            <a href="#/todo">\n            <i class="icon-rocket"></i> My Tasks <span class="badge badge-success">\n            7 </span>\n            </a>\n          </li> -->\n          <!-- <li class="divider">\n          </li> -->\n          <!-- <li>\n            <a href="#">\n            <i class="icon-lock"></i> Lock Screen </a>\n          </li> -->\n          <li data-ng-click="logout()">\n            <a href="#">\n            <i class="icon-logout"></i> Log Out </a>\n          </li>\n        </ul>\n      </li>\n      <!-- END USER LOGIN DROPDOWN -->\n      <!-- BEGIN QUICK SIDEBAR TOGGLER -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-quick-sidebar-toggler" data-ng-click="toggleQuickSidebar()">\n        <a href="#" class="dropdown-toggle">\n        <i class="icon-logout"></i>\n        </a>\n      </li>\n      <!-- END QUICK SIDEBAR TOGGLER -->\n    </ul>\n  </div>\n  <!-- END TOP NAVIGATION MENU -->\n</div>\n<!-- END HEADER INNER -->\n'),a.put("components/modal/delete.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text"></p>\n  <div ng-if="modal.html" ng-bind-html="modal.html"></div>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button>\n</div>\n'),a.put("components/quickSidebar/modal/add.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title | translate" class="modal-title"></h4>\n</div>\n\n<div class="modal-body">\n  <div class="portlet box blue">\n            <div class="portlet-title">\n                   <div class="caption">\n                         <i class="icon-people"></i>{{\'APPLICATION_SELECTED_AGENTS\' | translate}}\n                    </div>\n                </div>\n                <div class="portlet-body">\n                    <ul>\n                          <li data-ng-repeat="item in items">\n                                    {{item.fullname}}\n                            </li>\n\n        <li data-ng-repeat="item in selected.items">\n                                  {{item.fullname}}\n                            </li>\n                 </ul>\n         </div>\n        </div>\n\n  <ui-select multiple name="items" ng-model="selected.items" theme="bootstrap">\n    <ui-select-match placeholder="{{\'APPLICATION_SELECTED_AGENTS\' | translate}}">{{$item.fullname}}</ui-select-match>\n    <ui-select-choices repeat="{id: agent.id, fullname: agent.fullname} as agent in agents.rows | filter: $select.search">\n      {{agent.fullname}}\n    </ui-select-choices>\n  </ui-select>\n</div>\n\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" data-ng-click="ok()" data-ng-show="selected.items.length">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" data-ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("components/quickSidebar/modal/close.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title | translate" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text | translate"></p>\n  <!-- <div ng-if="modal.html" ng-bind-html="modal.html"></div> -->\n</div>\n<div class="modal-footer">\n  <button class="btn btn-danger" type="button" ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n  <!-- <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button> -->\n</div>\n'),a.put("components/quickSidebar/quickSidebar.html",'<div class="page-quick-sidebar">\n  <div class="nav-justified">\n    <ul class="nav nav-tabs nav-justified">\n      <li data-ng-class="{active:currentTab==0}" data-ng-click="goToTab(0)">\n        <a href="#">\n          <!-- <i class="icon-people"></i> <span class="badge badge-danger">2</span> -->\n          <i class="icon-people"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==1}" data-ng-click="goToTab(1)">\n        <a href="#">\n          <!-- <i class="icon-eye"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-eye"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==2}" data-ng-click="goToTab(2)">\n        <a href="#">\n          <!-- <i class="icon-globe"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-globe"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==3}" data-ng-click="goToTab(3)">\n        <a href="#">\n          <!-- <i class="icon-bubbles"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-bubbles"></i>\n        </a>\n      </li>\n    </ul>\n    <div class="tab-content">\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==0 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list" >\n          <div class="quicksidebar-search">\n            <div class="input-group">\n                                                       <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_AGENT\' | translate}}..." ng-model="searchAgent">\n                                                       <span class="input-group-btn">\n                                                        <i class="icon-magnifier"></i>\n                                                        </span>\n                                               </div>\n          </div>\n          <ul class="media-list list-items" data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="agent in agents.rows | orderBy:\'-online\' | filter:searchAgent as resultsAgent" data-ng-if="agent.id !== currentUser.id">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">8</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{agent.userpic ? agent.userpic : \'unknown_avatar\'}}" alt="{{agent.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(agent.id)">\n                <h4 class="media-heading"><span class="item-status">{{agent.fullname | characters:15 :true}} {{agent.internal}}</h4>\n                <div class="media-heading-small">\n                   <span class="badge badge-empty" data-ng-class="agent.online ? \'badge-success\' : \'badge-danger\'"></span></span> {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{agent.updatedAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="agents.rows.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_AGENTS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="resultsAgent.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_AGENTS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==1 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchUser">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="user in users.rows | orderBy:\'-online\' | filter:searchUser as resultsUser" data-ng-if="user.id !== currentUser.id">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(user.id)">\n                <h4 class="media-heading">{{user.fullname | characters:15 :true}} {{user.internal}}</h4>\n                <div class="media-heading-small">\n                   <span class="badge badge-empty" data-ng-class="user.online ? \'badge-success\' : \'badge-danger\'"></span> {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{user.updatedAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="users.rows.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_USERS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="resultsUser.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_USERS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==2 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchChatRoomsExternals">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="chatRoom in chatRooms | filter:{type:\'external\'} | filter:searchChatRoomsExternals as resultsChatRoomsExternals">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(null, chatRoom.id)">\n                <h4 class="media-heading">{{chatRoom.ChatVisitor.email}}</h4>\n                <div class="media-heading-small">\n                   {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{chatRoom.createdAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" data-ng-if="resultsChatRoomsExternals.length === 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHATS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==3 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchChatRoomsGroups">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="chatRoom in chatRooms | filter:chatRoomsGroupsGreaterThan(2) | filter:searchChatRoomsGroups as resultsChatRoomsGroups">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(null, chatRoom.id)">\n                <h4 class="media-heading">{{chatRoom.name}}</h4>\n                <div class="media-heading-small">\n                   {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{chatRoom.updatedAt}}">April 1, 2014</time>\n                </div>\n                <div class="media-heading-small">\n                  <div data-ng-repeat="user in chatRoom.Users | map: \'fullname\'" class="inline">\n                    {{ $last ? user : user + \', \'}}\n                  </div>\n                </div>\n              </div>\n            </li>\n            <!-- <li class="media animate-repeat" ng-if="chatRooms.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHAT_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li> -->\n            <li class="media animate-repeat" data-ng-if="resultsChatRoomsGroups.length === 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHATS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat page-quick-sidebar-content-item-shown" ng-class="{active:messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list" >\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_MESSAGE\' | translate}}..." ng-model="searchMessage">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n        </div>\n        <div class="page-quick-sidebar-item">\n          <div class="page-quick-sidebar-chat-user" data-wrapper-class="page-quick-sidebar-list">\n            <div class="page-quick-sidebar-nav">\n                <a href="#" class="page-quick-sidebar-back-to-list" data-ng-click="goBack()"><i class="icon-arrow-left"></i>Back</a>\n            </div>\n            <div id="page-quick-sidebar-chat-user-messages" class="page-quick-sidebar-chat-user-messages" data-ng-style="style2" ng-scrollbars>\n              <div class="post animate-repea" data-ng-repeat="chatMessage in chatRoom.ChatMessages | filter:searchMessage as resultsMessage" data-ng-class="chatMessage.UserId === currentUser.id ? \'in\' : \'out\'">\n                <img class="avatar" alt="" ng-src="api/users/avatar/unknown_avatar"/>\n                <div class="message">\n                  <span class="arrow"></span>\n                  <a href="#" class="name">{{chatMessage.User.fullname || chatMessage.ChatVisitor .fullname}}</a> -\n                  <span class="datetime">\n                    <time is="relative-time" datetime="{{chatMessage.createdAt}}">\n                      April 1, 2014\n                    </time>\n                  </span>\n                  <ng-emoticons class="body" emoticons-data="chatMessage.body" emoticons-options="options"/>\n                  <!-- <div class="body" ng-bind-html="chatMessage.body"></div>\n                  <!-- <div ng-bind-html="chatMessage.body | emoticons:{\'linkTarget\':\'_blank\',\'newLine\':true}" class="ng-emoticons"></div> --> -->\n                </div>\n              </div>\n\n              <div class="media-body" style="text-align: center;" data-ng-if="resultsMessage.length == 0">\n                <h5 class="media-heading"><i>{{\'MESSAGE_NO_MESSAGES_FOUND\' | translate | lowercase}}</i></h5>\n              </div>\n\n              <div class="media-body" style="text-align: center;" data-ng-if="chatRoom.status === \'close\'">\n                <h5 class="media-heading"><i>{{\'MESSAGE_CHAT_CLOSED\' | translate | lowercase}}</i></h5>\n              </div>\n\n            </div>\n            <div class="page-quick-sidebar-chat-user-form">\n              <textarea rows="3" class="form-control" style="border:none;resize: none;" placeholder="Type a message here..." ng-enter="sendMessage()" data-ng-model="message.body" data-ng-disabled="chatRoom.status === \'close\'"></textarea>\n              <div class="btn-group" style="width:100%;background-color:white">\n                <button type="button" class="btn btn-default" style="border:none" data-ng-disabled="chatRoom.status === \'close\'" data-ng-click="addAgent(chatRoom.id)"><i class="icon-plus font-blue"></i></button>\n                <button type="button" class="btn btn-default pull-right" style="border:none" data-ng-disabled="chatRoom.status === \'close\'" data-ng-click="closeChatRoom(chatRoom.id)" data-ng-show="chatRoom.type === \'external\'"><i class="icon-close font-red"></i></button>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n'),a.put("components/sidebar/sidebar.html",'<div id="page-sidebar" class="page-sidebar navbar-collapse collapse">\n  <!-- BEGIN SIDEBAR MENU -->\n  <!-- DOC: Apply "page-sidebar-menu-light" class right after "page-sidebar-menu" to enable light sidebar menu style(without borders) -->\n  <!-- DOC: Apply "page-sidebar-menu-hover-submenu" class right after "page-sidebar-menu" to enable hoverable(hover vs accordion) sub menu mode -->\n  <!-- DOC: Apply "page-sidebar-menu-closed" class right after "page-sidebar-menu" to collapse("page-sidebar-closed" class must be applied to the body element) the sidebar sub menu mode -->\n  <!-- DOC: Set data-auto-scroll="false" to disable the sidebar from auto scrolling/focusing -->\n  <!-- DOC: Set data-keep-expand="true" to keep the submenues expanded -->\n  <!-- DOC: Set data-auto-speed="200" to adjust the sub menu slide up/down speed -->\n  <ul data-ng-click="mainTab.active=true" class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200" data-ng-class="{\'page-sidebar-menu-closed\': settings.layout.pageSidebarClosed}">\n    <!-- DOC: To remove the search box from the sidebar you just need to completely remove the below "sidebar-search-wrapper" LI element -->\n    <li class="sidebar-search-wrapper">\n      <!-- BEGIN RESPONSIVE QUICK SEARCH FORM -->\n      <!-- DOC: Apply "sidebar-search-bordered" class the below search form to have bordered search box -->\n      <!-- DOC: Apply "sidebar-search-bordered sidebar-search-solid" class the below search form to have bordered & solid search box -->\n      <form class="sidebar-search sidebar-search-bordered" action="extra_search.html" method="POST">\n        <a href="javascript:;" class="remove">\n        <i class="icon-close"></i>\n        </a>\n        <!-- <div class="input-group">\n          <input type="text" class="form-control" placeholder="Search...">\n          <span class="input-group-btn">\n          <a href="javascript:;" class="btn submit"><i class="icon-magnifier"></i></a>\n          </span>\n        </div> -->\n      </form>\n      <!-- END RESPONSIVE QUICK SEARCH FORM -->\n    </li>\n\n    <!-- START DASHBOARD CASE -->\n    <li class="start" data-ng-show="isAssociated(\'dashboard\')" data-ng-class="{active: $state.is(\'main.dashboard\')}">\n      <a href="/dashboard/voice">\n        <i class="icon-rocket"></i>\n        <span class="title">{{\'APPLICATION_DASHBOARD\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.dashboard\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END DASHBOARD CASE -->\n\n    <!-- START YOURDASHBOARD LIST CASE -->\n    <li data-ng-class="{active: $state.is(\'main.yourdashboards.show\')}" data-ng-show="Auth.isAdmin()">\n      <a href="javascript:;">\n        <i class="icon-screen-desktop"></i>\n        <span class="title" >{{\'APPLICATION_YOUR_DASHBOARDS\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.yourdashboards.show\') }"></span>\n      </a>\n      <ul class="sub-menu" data-ng-init="getSidebarDashboards()">\n        <li data-ng-class="{active: $stateParams.id == dashboard.id && $state.includes(\'main.yourdashboards.show\')}" data-ng-repeat="dashboard in dashboards" data-ng-show="dashboard[Auth.getRole()] && dashboard.visible">\n          <a href="/yourdashboards/show/{{dashboard.id}}" >\n          <i class="icon-screen-tablet"></i>\n          <span class="title" >{{dashboard.name}}  </span>\n          </a>\n        </li>\n       </ul>\n    </li>\n    <!-- END YOURDASHBOARD LIST CASE -->\n\n    <!-- START STAFF SEPARATOR -->\n    <li class="heading" data-ng-show="Auth.isAdmin()">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_STAFF\' | translate}}  </span> </h3>\n    </li>\n    <!-- END STAFF SEPARATOR -->\n\n    <!-- START USERS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'users\')" data-ng-class="{active: $state.includes(\'main.users\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.users\')}">\n      <a href="/users/list">\n        <i class="icon-eye"></i>\n        <span class="title" >{{\'APPLICATION_USERS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.users\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END USERS CASE -->\n\n    <!-- START AGENTS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'agents\')" data-ng-class="{active: $state.includes(\'main.agents\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.agents\')}">\n      <a href="/agents/list">\n        <i class="icon-people"></i>\n        <span class="title" >{{\'APPLICATION_AGENTS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.agents\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END AGENTS CASE -->\n\n    <!-- START TEAMS CASE -->\n    <li data-ng-show="isAssociated(\'teams\')" data-ng-class="{active: $state.includes(\'main.teams\')}">\n      <a href="/teams/list">\n        <i class="icon-shield"></i>\n        <span class="title" >{{\'APPLICATION_TEAMS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.teams\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END TEAMS CASE -->\n    <!-- END STAFF SEPARATOR -->\n\n    <!-- START CONTACT_MANAGER SEPARATOR -->\n    <li class="heading" data-ng-show="Auth.isAdmin()">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_CONTACT_MANAGER\' | translate}}  </span> </h3>\n    </li>\n    <!-- END CONTACT_MANAGER SEPARATOR -->\n\n    <!-- START CONTACT_MANAGER CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.contactmanager\')}">\n      <a href="/contactmanager/list">\n        <i class=" fa fa-users"></i>\n        <span class="title" >{{\'APPLICATION_CONTACT_MANAGER\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.contactmanager\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END CONTACT_MANAGER CASE -->\n    <!-- END CONTACT_MANAGER SEPARATOR -->\n\n    <!-- START CHANNELS SEPARATOR -->\n    <li class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_CHANNELS\' | translate}}  </span> </h3>\n    </li>\n\n    <!-- START icon-link CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{ active: $state.includes(\'main.voice\') }">\n      <a href="javascript:;">\n        <i class="icon-earphones-alt"></i>\n        <span class="title">{{ \'APPLICATION_VOICE\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.voice\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.voice.queues\')}">\n          <a href="/voice/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title">{{\'APPLICATION_QUEUES\' | translate}}</span>\n          </a>\n        </li>\n        <li>\n          <a href="javascript:;">\n          <i class="icon-directions"></i>\n          <span class="title"> {{ \'APPLICATION_ROUTES\' | translate}} </span>\n          <span class="arrow" data-ng-class="{ open: $state.includes(\'main.voice.routes\') }"></span>\n          <ul class="sub-menu">\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.inbound\')}">\n              <a href="/voice/routes/inbound/list">\n              <i class="icon-call-in"></i>\n              <span class="title"> {{\'APPLICATION_INBOUND\' | translate}} </span>\n              </a>\n            </li>\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.outbound\')}">\n              <a href="/voice/routes/outbound/list">\n              <i class="icon-call-out"></i>\n              <span class="title"> {{\'APPLICATION_OUTBOUND\' | translate}} </span>\n              </a>\n            </li>\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.internal\')}">\n              <a href="/voice/routes/internal/list">\n              <i class="icon-reload"></i>\n              <span class="title"> {{\'APPLICATION_INTERNALS\' | translate}} </span>\n              </a>\n            </li>\n          </ul>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.contexts\')}">\n          <a href="/voice/contexts/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_CONTEXTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.voicemails\')}">\n          <a href="/voice/voicemails/list">\n          <i class="icon-envelope-letter"></i>\n          <span class="title"> {{\'APPLICATION_VOICEMAILS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.mohs\')}">\n          <a href="/voice/mohs/list">\n          <i class="icon-music-tone"></i>\n          <span class="title"> {{\'APPLICATION_MOH\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.voice.realtime\')}">\n          <a href="/voice/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END icon-link CASE -->\n\n    <!-- START CHAT CASE -->\n    <li data-ng-show="isAssociated(\'chat\')" data-ng-class="{ active: $state.includes(\'main.chat\') }">\n      <a href="javascript:;">\n        <i class="icon-bubble"></i>\n        <span class="title">{{\'APPLICATION_CHAT\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.chat\') }"></span>\n      </a>\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.chat.websites\')}">\n          <a href="/chat/websites/list">\n          <i class="icon-globe"></i>\n          <span class="title"> {{\'APPLICATION_WEB_SITES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.chat.queues\')}">\n          <a href="/chat/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_QUEUES\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.chat.realtime\')}">\n          <a href="/chat/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END CHAT CASE -->\n\n    <!-- START MAIL CASE -->\n    <li data-ng-class="{ active: $state.includes(\'main.mail\') }">\n      <a href="javascript:;">\n        <i class="icon-envelope"></i>\n        <span class="title">{{\'APPLICATION_MAIL\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.mail\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.accounts\') || $state.includes(\'main.mail.account\')}">\n          <a href="/mail/accounts/list">\n          <i class="icon-notebook"></i>\n          <span class="title"> {{\'APPLICATION_ACCOUNTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.queues\') || $state.includes(\'main.mail.queue\')}">\n          <a href="/mail/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_QUEUES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.mail.inbox\')}">\n          <a href="/mail/inbox/incoming">\n          <i class="icon-note"></i>\n          <span class="title"> {{\'APPLICATION_INBOX\' | translate}} </span>\n          </a>\n        </li>\n        <!-- <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.statistics\')}">\n          <a href="/mail/statistics/summary">\n          <i class="icon-eyeglass"></i>\n          <span class="title"> {{\'APPLICATION_STATISTICS\' | translate}} </span>\n          </a>\n        </li> -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.templates\')}">\n          <a href="/mail/templates/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_TEMPLATES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.timeline\')}">\n          <a href="/mail/timeline/list">\n          <i class="icon-list"></i>\n          <span class="title"> {{\'APPLICATION_TIMELINE\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.realtime\')}">\n          <a href="/mail/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END MAIL CASE -->\n\n    <!-- START FAX CASE -->\n    <li data-ng-class="{active: $state.includes(\'main.fax\')}">\n    <!-- <li data-ng-show="license.fax" data-ng-class="{active: $state.includes(\'main.fax\')}"> -->\n      <a href="javascript:;">\n        <i class="icon-paper-plane"></i>\n        <span class="title"> {{ \'APPLICATION_FAX\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.fax\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.accounts\')}">\n          <a href="/fax/accounts/list">\n          <i class="icon-notebook"></i>\n          <span class="title"> {{ \'APPLICATION_ACCOUNTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.queues\')}">\n          <a href="/fax/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{ \'APPLICATION_QUEUES\' | translate }} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.fax.inbox\')}">\n          <a href="/fax/inbox/incoming">\n          <i class="icon-note"></i>\n          <span class="title"> {{ \'APPLICATION_INBOX\' | translate }} </span>\n          </a>\n        </li>\n        <!-- <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.statistics\')}">\n          <a href="/fax/statistics/summary">\n          <i class="icon-eyeglass"></i>\n          <span class="title"> {{ \'APPLICATION_STATISTICS\' | translate }} </span>\n          </a>\n        </li> -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.automations\')}">\n          <a href="/fax/automations/list">\n          <i class="icon-settings"></i>\n          <span class="title"> {{\'APPLICATION_AUTOMATIONS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.timeline\')}">\n          <a href="/fax/timeline/list">\n          <i class="icon-list"></i>\n          <span class="title"> {{\'APPLICATION_TIMELINE\' | translate}} </span>\n          </a>\n        </li>\n      </ul>\n    </li>\n    <!-- END FAX CASE -->\n    <!-- END CHANNELS SEPARATOR -->\n\n    <!-- START INTEGRATIONS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span translate> APPLICATION_INTEGRATIONS </span> </h3>\n    </li>\n    <!-- START INTEGRATION CASE -->\n    <!--\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.is(\'main.market\')}">\n      <a href="/market">\n        <i class="icon-handbag"></i>\n        <span class="title" translate>Market Place</span>\n        <span data-ng-show="$state.includes(\'main.market\')" class="selected"></span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.is(\'main.integrations.list\')}">\n      <a href="/integrations/list">\n        <i class="icon-game-controller"></i>\n        <span class="title" translate>Test Your App</span>\n        <span data-ng-show="$state.includes(\'main.integrations.list\')" class="selected"></span>\n      </a>\n    </li>\n    -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.zendesk\')}">\n      <a href="/zendesk/list">\n        <i class="icon-handbag"></i>\n        <span class="title" >{{\'APPLICATION_ZENDESK\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.zendesk\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END INTEGRATIONS SEPARATOR -->\n\n    <!-- START TOOLS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_TOOLS\' | translate}}  </span> </h3>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.triggers\')}">\n      <a href="/triggers/list">\n      <i class="icon-bulb"></i>\n      <span class="title"> {{\'APPLICATION_TRIGGERS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.automations\')}">\n      <a href="/automations/list">\n      <i class="icon-settings"></i>\n      <span class="title"> {{\'APPLICATION_AUTOMATIONS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.trunks\')}">\n      <a href="/trunks/list">\n      <i class="icon-link"></i>\n      <span class="title"> {{\'APPLICATION_TRUNKS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.intervals\')}">\n      <a href="/intervals/list">\n      <i class="icon-clock"></i>\n      <span class="title"> {{\'APPLICATION_INTERVALS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.variables\')}">\n      <a href="/variables/list">\n      <i class="fa fa-eye"></i>\n      <span class="title" >{{\'APPLICATION_VARIABLES\' | translate}}  </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.tags\')}">\n      <a href="/tags/list">\n      <i class="icon-tag"></i>\n      <span class="title" >{{\'APPLICATION_TAGS\' | translate}}  </span>\n      </a>\n    </li>\n    <!-- START CALLYSQUARE CASE -->\n    <!-- <li data-ng-show="isAssociated(\'callysquare\')" data-ng-class="{active: $state.includes(\'main.square\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.square\')}">\n      <a href="javascript:;">\n        <i class="fa fa-superscript"></i>\n        <span class="title" >{{\'APPLICATION_CALLYSQUARE\' | translate}}</span>\n        <span class="arrow"></span>\n      </a>\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.square.projects\')}">\n          <a href="/square/projects/list">\n          <i class="fa fa-slack"></i>\n          <span class="title" >{{\'APPLICATION_PROJECTS\' | translate}}  </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.square.odbc\')}">\n          <a href="/square/odbcs/list">\n          <i class="fa fa-database"></i>\n          <span class="title" >{{\'APPLICATION_ODBC\' | translate}}  </span>\n          </a>\n        </li>\n       </ul>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.yourdashboards.list\') || $state.includes(\'main.yourdashboards.settings\')}">\n      <a href="/yourdashboards/list">\n      <i class="icon-grid"></i>\n      <span class="title"> {{\'APPLICATION_DASHBOARDS_MANAGER\' | translate}} </span>\n      </a>\n    </li>\n    <!-- END CALLYSQUARE CASE -->\n\n    <!-- START AUTODIALER CASE -->\n    <!-- <li data-ng-show="Auth.isAdmin()">\n      <a href="javascript:;">\n        <i class="icon-call-out"></i>\n        <span class="title">AutoDialer</span>\n        <span class="arrow"></span>\n      </a>\n      <ul class="sub-menu">\n      </ul>\n    </li> -->\n    <!-- END AUTODIALER CASE -->\n\n    <!-- START ANALYTICS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'analytics\')"> -->\n    <!-- <li data-ng-show="Auth.isAdmin()">\n      <a href="#/analytics">\n        <i class="icon-graph"></i>\n        <span class="title" >{{\'APPLICATION_ANALYTICS\' | translate}}</span>\n      </a>\n    </li> -->\n    <!-- END ANALYTICS CASE -->\n\n    <!-- END TOOLS SEPARATOR -->\n\n    <!-- START AUDIO SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_AUDIO\' | translate}}  </span> </h3>\n    </li>\n    <!-- END AUDIO SEPARATOR -->\n\n    <!-- START AUDIO CASE -->\n    <!-- <li data-ng-show="isAssociated(\'audio\')" data-ng-class="{active: $state.is(\'main.sound\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.sounds\')}">\n      <a href="/sounds/list">\n        <i class="icon-music-tone-alt"></i>\n        <span class="title" >{{\'APPLICATION_SOUNDS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.sounds\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END AUDIO CASE -->\n\n\n    <!-- START SETTINGS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_SETTINGS\' | translate}}  </span> </h3>\n    </li>\n    <!-- END SETTINGS SEPARATOR -->\n\n    <!-- START UPDATES CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.updates\')}">\n      <a href="/updates/list">\n        <i class="icon-cloud-download"></i>\n        <span class="title" >{{\'APPLICATION_UPDATES\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.updates\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END UPDATES CASE -->\n\n  </ul>\n  <!-- END SIDEBAR MENU -->\n</div>\n');
+a.put("components/footer/footer.html",'<!-- BEGIN FOOTER -->\n<div class="page-footer" data-ng-init="initFooter()">\n  <div class="page-footer-inner">\n     {{info.name}} v. {{info.version}} | 2015-2016 &copy; Powered by Xenialab\n  </div>\n  <div class="scroll-to-top">\n    <i class="icon-arrow-up"></i>\n  </div>\n</div>\n<!-- END FOOTER -->\n'),a.put("components/header/header.html",'<!-- BEGIN HEADER INNER -->\n<div class="page-header-inner" data-ng-init="initHeader()">\n  <!-- BEGIN LOGO -->\n  <div class="page-logo">\n    <a href="/">\n    <img src="assets/images/logo.png" alt="logo" class="logo-default"/>\n    </a>\n    <div class="menu-toggler sidebar-toggler">\n      <!-- DOC: Remove the above "hide" to enable the sidebar toggler button on header -->\n    </div>\n  </div>\n  <!-- END LOGO -->\n  <!-- BEGIN HEADER SEARCH BOX -->\n  <!-- DOC: Apply "search-form-expanded" right after the "search-form" class to have half expanded search box -->\n  <form class="search-form hide" action="extra_search.html" method="GET">\n    <div class="input-group">\n      <input type="text" class="form-control" placeholder="Search..." name="query">\n      <span class="input-group-btn">\n      <a href="javascript:;" class="btn submit"><i class="icon-magnifier"></i></a>\n      </span>\n    </div>\n  </form>\n  <!-- END HEADER SEARCH BOX -->\n  <!-- BEGIN RESPONSIVE MENU TOGGLER -->\n  <a href="javascript:;" class="menu-toggler responsive-toggler" data-toggle="collapse" data-target=".navbar-collapse">\n  </a>\n  <!-- END RESPONSIVE MENU TOGGLER -->\n  <!-- BEGIN TOP NAVIGATION MENU -->\n  <div class="top-menu">\n    <ul class="nav navbar-nav pull-right">\n      <!-- BEGIN LANGUAGE BAR -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-language">\n        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">\n        <img ng-src="assets/images/flags/{{ language }}.png">\n        <i class="fa fa-angle-down"></i>\n        </a>\n        <ul class="dropdown-menu dropdown-menu-default">\n          <li>\n            <a href="#" ng-click="changeLanguage(\'it\')">\n            <img alt="" src="assets/images/flags/it.png"> Italian </a>\n          </li>\n          <li>\n            <a href="#" ng-click="changeLanguage(\'en_EN\')">\n            <img alt="" src="assets/images/flags/en_EN.png"> English </a>\n          </li>\n        </ul>\n      </li>\n      <!-- END LANGUAGE BAR -->\n      <!-- BEGIN USER LOGIN DROPDOWN -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-user">\n        <a href="#" class="dropdown-toggle" dropdown-menu-hover data-toggle="dropdown" data-close-others="true">\n        <img class="img-circle" data-ng-src="api/users/avatar/{{getCurrentUser().userpic || \'unknown_avatar\'}}" alt="...">\n        <span class="username username-hide-on-mobile">\n          {{ getCurrentUser().fullname }} </span>\n        <i class="fa fa-angle-down"></i>\n        </a>\n        <ul class="dropdown-menu dropdown-menu-default">\n          <li>\n            <a ng-href=" {{isAdmin() ? \'/users/view/\'+getCurrentUser().id+\'/account\' : \'/agents/view/\'+getCurrentUser().id+\'/account\'}}">\n            <i class="icon-key"></i>Change password</a>\n          </li>\n          <!-- <li>\n            <a href="#">\n            <i class="icon-calendar"></i> My Calendar </a>\n          </li> -->\n          <!-- <li>\n            <a href="#">\n            <i class="icon-envelope-open"></i> My Inbox <span class="badge badge-danger">\n            3 </span>\n            </a>\n          </li> -->\n          <!-- <li>\n            <a href="#/todo">\n            <i class="icon-rocket"></i> My Tasks <span class="badge badge-success">\n            7 </span>\n            </a>\n          </li> -->\n          <!-- <li class="divider">\n          </li> -->\n          <!-- <li>\n            <a href="#">\n            <i class="icon-lock"></i> Lock Screen </a>\n          </li> -->\n          <li data-ng-click="logout()">\n            <a href="#">\n            <i class="icon-logout"></i> Log Out </a>\n          </li>\n        </ul>\n      </li>\n      <!-- END USER LOGIN DROPDOWN -->\n      <!-- BEGIN QUICK SIDEBAR TOGGLER -->\n      <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->\n      <li class="dropdown dropdown-quick-sidebar-toggler" data-ng-click="toggleQuickSidebar()">\n        <a href="#" class="dropdown-toggle">\n        <i class="icon-logout"></i>\n        </a>\n      </li>\n      <!-- END QUICK SIDEBAR TOGGLER -->\n    </ul>\n  </div>\n  <!-- END TOP NAVIGATION MENU -->\n</div>\n<!-- END HEADER INNER -->\n'),a.put("components/modal/delete.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text"></p>\n  <div ng-if="modal.html" ng-bind-html="modal.html"></div>\n</div>\n<div class="modal-footer">\n  <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button>\n</div>\n'),a.put("components/quickSidebar/modal/add.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title | translate" class="modal-title"></h4>\n</div>\n\n<div class="modal-body">\n  <div class="portlet box blue">\n            <div class="portlet-title">\n                   <div class="caption">\n                         <i class="icon-people"></i>{{\'APPLICATION_SELECTED_AGENTS\' | translate}}\n                    </div>\n                </div>\n                <div class="portlet-body">\n                    <ul>\n                          <li data-ng-repeat="item in items">\n                                    {{item.fullname}}\n                            </li>\n\n        <li data-ng-repeat="item in selected.items">\n                                  {{item.fullname}}\n                            </li>\n                 </ul>\n         </div>\n        </div>\n\n  <ui-select multiple name="items" ng-model="selected.items" theme="bootstrap">\n    <ui-select-match placeholder="{{\'APPLICATION_SELECTED_AGENTS\' | translate}}">{{$item.fullname}}</ui-select-match>\n    <ui-select-choices repeat="{id: agent.id, fullname: agent.fullname} as agent in agents.rows | filter: $select.search">\n      {{agent.fullname}}\n    </ui-select-choices>\n  </ui-select>\n</div>\n\n<div class="modal-footer">\n  <button class="btn btn-success" type="button" data-ng-click="ok()" data-ng-show="selected.items.length">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" data-ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n</div>\n'),a.put("components/quickSidebar/modal/close.html",'<div class="modal-header">\n  <button ng-if="modal.dismissable" type="button" ng-click="$dismiss()" class="close">&times;</button>\n  <h4 ng-if="modal.title" ng-bind="modal.title | translate" class="modal-title"></h4>\n</div>\n<div class="modal-body">\n  <p ng-if="modal.text" ng-bind="modal.text | translate"></p>\n  <!-- <div ng-if="modal.html" ng-bind-html="modal.html"></div> -->\n</div>\n<div class="modal-footer">\n  <button class="btn btn-danger" type="button" ng-click="ok()">{{ \'APPLICATION_CONFIRM\' | translate }}</button>\n  <button class="btn default" type="button" ng-click="cancel()">{{ \'APPLICATION_CANCEL\' | translate }}</button>\n  <!-- <button ng-repeat="button in modal.buttons" ng-class="button.classes" ng-click="button.click($event)" ng-bind="button.text" class="btn"></button> -->\n</div>\n'),a.put("components/quickSidebar/quickSidebar.html",'<div class="page-quick-sidebar">\n  <div class="nav-justified">\n    <ul class="nav nav-tabs nav-justified">\n      <li data-ng-class="{active:currentTab==0}" data-ng-click="goToTab(0)">\n        <a href="#">\n          <!-- <i class="icon-people"></i> <span class="badge badge-danger">2</span> -->\n          <i class="icon-people"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==1}" data-ng-click="goToTab(1)">\n        <a href="#">\n          <!-- <i class="icon-eye"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-eye"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==2}" data-ng-click="goToTab(2)">\n        <a href="#">\n          <!-- <i class="icon-globe"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-globe"></i>\n        </a>\n      </li>\n      <li data-ng-class="{active:currentTab==3}" data-ng-click="goToTab(3)">\n        <a href="#">\n          <!-- <i class="icon-bubbles"></i> <span class="badge badge-success">7</span> -->\n        <i class="icon-bubbles"></i>\n        </a>\n      </li>\n    </ul>\n    <div class="tab-content">\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==0 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list" >\n          <div class="quicksidebar-search">\n            <div class="input-group">\n                                                       <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_AGENT\' | translate}}..." ng-model="searchAgent">\n                                                       <span class="input-group-btn">\n                                                        <i class="icon-magnifier"></i>\n                                                        </span>\n                                               </div>\n          </div>\n          <ul class="media-list list-items" data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="agent in agents.rows | orderBy:\'-online\' | filter:searchAgent as resultsAgent" data-ng-if="agent.id !== currentUser.id">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">8</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{agent.userpic ? agent.userpic : \'unknown_avatar\'}}" alt="{{agent.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(agent.id)">\n                <h4 class="media-heading"><span class="item-status">{{agent.fullname | characters:15 :true}} {{agent.internal}}</h4>\n                <div class="media-heading-small">\n                   <span class="badge badge-empty" data-ng-class="agent.online ? \'badge-success\' : \'badge-danger\'"></span></span> {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{agent.updatedAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="agents.rows.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_AGENTS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="resultsAgent.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_AGENTS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==1 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchUser">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="user in users.rows | orderBy:\'-online\' | filter:searchUser as resultsUser" data-ng-if="user.id !== currentUser.id">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(user.id)">\n                <h4 class="media-heading">{{user.fullname | characters:15 :true}} {{user.internal}}</h4>\n                <div class="media-heading-small">\n                   <span class="badge badge-empty" data-ng-class="user.online ? \'badge-success\' : \'badge-danger\'"></span> {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{user.updatedAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="users.rows.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_USERS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n            <li class="media animate-repeat" ng-if="resultsUser.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_USERS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==2 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchChatRoomsExternals">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="chatRoom in chatRooms | filter:{type:\'external\'} | filter:searchChatRoomsExternals as resultsChatRoomsExternals">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(null, chatRoom.id)">\n                <h4 class="media-heading">{{chatRoom.ChatVisitor.email}}</h4>\n                <div class="media-heading-small">\n                   {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{chatRoom.createdAt}}">April 1, 2014</time>\n                </div>\n              </div>\n            </li>\n            <li class="media animate-repeat" data-ng-if="resultsChatRoomsExternals.length === 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHATS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat" ng-class="{active:currentTab==3 && !messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list">\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_USER\' | translate}}..." ng-model="searchChatRoomsGroups">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n          <ul class="media-list list-items"  data-ng-style="style" ng-scrollbars>\n            <li class="media animate-repeat" data-ng-repeat="chatRoom in chatRooms | filter:chatRoomsGroupsGreaterThan(2) | filter:searchChatRoomsGroups as resultsChatRoomsGroups">\n              <div class="media-status">\n                <!-- <span class="badge badge-success">3</span> -->\n              </div>\n              <img class="media-object" data-ng-src="api/users/avatar/{{user.userpic ? user.userpic : \'unknown_avatar\'}}" alt="{{user.fullname}}">\n              <div class="media-body" data-ng-click="goToMessage(null, chatRoom.id)">\n                <h4 class="media-heading">{{chatRoom.name}}</h4>\n                <div class="media-heading-small">\n                   {{\'APPLICATION_LAST_SEEN\' | translate | lowercase}} <time is="relative-time" datetime="{{chatRoom.updatedAt}}">April 1, 2014</time>\n                </div>\n                <div class="media-heading-small">\n                  <div data-ng-repeat="user in chatRoom.Users | map: \'fullname\'" class="inline">\n                    {{ $last ? user : user + \', \'}}\n                  </div>\n                </div>\n              </div>\n            </li>\n            <!-- <li class="media animate-repeat" ng-if="chatRooms.length == 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHAT_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li> -->\n            <li class="media animate-repeat" data-ng-if="resultsChatRoomsGroups.length === 0">\n              <div class="media-body" style="text-align: center;">\n                <h4 class="media-heading"><i>{{\'MESSAGE_NO_CHATS_FOUND\' | translate | lowercase}}</i></h4>\n              </div>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class="tab-pane page-quick-sidebar-chat page-quick-sidebar-content-item-shown" ng-class="{active:messagesTab}">\n        <div class="page-quick-sidebar-chat-users" data-rail-color="#ddd" data-wrapper-class="page-quick-sidebar-list" >\n          <div class="quicksidebar-search">\n            <div class="input-group">\n              <input type="search" class="form-control" placeholder="{{\'APPLICATION_SEARCH\' | translate}} {{\'APPLICATION_MESSAGE\' | translate}}..." ng-model="searchMessage">\n              <span class="input-group-btn">\n              <i class="icon-magnifier"></i>\n              </span>\n            </div>\n          </div>\n        </div>\n        <div class="page-quick-sidebar-item">\n          <div class="page-quick-sidebar-chat-user" data-wrapper-class="page-quick-sidebar-list">\n            <div class="page-quick-sidebar-nav">\n                <a href="#" class="page-quick-sidebar-back-to-list" data-ng-click="goBack()"><i class="icon-arrow-left"></i>Back</a>\n            </div>\n            <div id="page-quick-sidebar-chat-user-messages" class="page-quick-sidebar-chat-user-messages" data-ng-style="style2" ng-scrollbars>\n              <div class="post animate-repea" data-ng-repeat="chatMessage in chatRoom.ChatMessages | filter:searchMessage as resultsMessage" data-ng-class="chatMessage.UserId === currentUser.id ? \'in\' : \'out\'">\n                <img class="avatar" alt="" ng-src="api/users/avatar/unknown_avatar"/>\n                <div class="message">\n                  <span class="arrow"></span>\n                  <a href="#" class="name">{{chatMessage.User.fullname || chatMessage.ChatVisitor .fullname}}</a> -\n                  <span class="datetime">\n                    <time is="relative-time" datetime="{{chatMessage.createdAt}}">\n                      April 1, 2014\n                    </time>\n                  </span>\n                  <ng-emoticons class="body" emoticons-data="chatMessage.body" emoticons-options="options"/>\n                  <!-- <div class="body" ng-bind-html="chatMessage.body"></div>\n                  <!-- <div ng-bind-html="chatMessage.body | emoticons:{\'linkTarget\':\'_blank\',\'newLine\':true}" class="ng-emoticons"></div> --> -->\n                </div>\n              </div>\n\n              <div class="media-body" style="text-align: center;" data-ng-if="resultsMessage.length == 0">\n                <h5 class="media-heading"><i>{{\'MESSAGE_NO_MESSAGES_FOUND\' | translate | lowercase}}</i></h5>\n              </div>\n\n              <div class="media-body" style="text-align: center;" data-ng-if="chatRoom.status === \'close\'">\n                <h5 class="media-heading"><i>{{\'MESSAGE_CHAT_CLOSED\' | translate | lowercase}}</i></h5>\n              </div>\n\n            </div>\n            <div class="page-quick-sidebar-chat-user-form">\n              <textarea rows="3" class="form-control" style="border:none;resize: none;" placeholder="Type a message here..." ng-enter="sendMessage()" data-ng-model="message.body" data-ng-disabled="chatRoom.status === \'close\'"></textarea>\n              <div class="btn-group" style="width:100%;background-color:white">\n                <button type="button" class="btn btn-default" style="border:none" data-ng-disabled="chatRoom.status === \'close\'" data-ng-click="addAgent(chatRoom.id)"><i class="icon-plus font-blue"></i></button>\n                <button type="button" class="btn btn-default pull-right" style="border:none" data-ng-disabled="chatRoom.status === \'close\'" data-ng-click="closeChatRoom(chatRoom.id)" data-ng-show="chatRoom.type === \'external\'"><i class="icon-close font-red"></i></button>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n'),a.put("components/sidebar/sidebar.html",'<div id="page-sidebar" class="page-sidebar navbar-collapse collapse">\n  <!-- BEGIN SIDEBAR MENU -->\n  <!-- DOC: Apply "page-sidebar-menu-light" class right after "page-sidebar-menu" to enable light sidebar menu style(without borders) -->\n  <!-- DOC: Apply "page-sidebar-menu-hover-submenu" class right after "page-sidebar-menu" to enable hoverable(hover vs accordion) sub menu mode -->\n  <!-- DOC: Apply "page-sidebar-menu-closed" class right after "page-sidebar-menu" to collapse("page-sidebar-closed" class must be applied to the body element) the sidebar sub menu mode -->\n  <!-- DOC: Set data-auto-scroll="false" to disable the sidebar from auto scrolling/focusing -->\n  <!-- DOC: Set data-keep-expand="true" to keep the submenues expanded -->\n  <!-- DOC: Set data-auto-speed="200" to adjust the sub menu slide up/down speed -->\n  <ul data-ng-click="mainTab.active=true" class="page-sidebar-menu" data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200" data-ng-class="{\'page-sidebar-menu-closed\': settings.layout.pageSidebarClosed}">\n    <!-- DOC: To remove the search box from the sidebar you just need to completely remove the below "sidebar-search-wrapper" LI element -->\n    <li class="sidebar-search-wrapper">\n      <!-- BEGIN RESPONSIVE QUICK SEARCH FORM -->\n      <!-- DOC: Apply "sidebar-search-bordered" class the below search form to have bordered search box -->\n      <!-- DOC: Apply "sidebar-search-bordered sidebar-search-solid" class the below search form to have bordered & solid search box -->\n      <form class="sidebar-search sidebar-search-bordered" action="extra_search.html" method="POST">\n        <a href="javascript:;" class="remove">\n        <i class="icon-close"></i>\n        </a>\n        <!-- <div class="input-group">\n          <input type="text" class="form-control" placeholder="Search...">\n          <span class="input-group-btn">\n          <a href="javascript:;" class="btn submit"><i class="icon-magnifier"></i></a>\n          </span>\n        </div> -->\n      </form>\n      <!-- END RESPONSIVE QUICK SEARCH FORM -->\n    </li>\n\n    <!-- START DASHBOARD CASE -->\n    <li class="start" data-ng-show="isAssociated(\'dashboard\')" data-ng-class="{active: $state.is(\'main.dashboard\')}">\n      <a href="/dashboard/voice">\n        <i class="icon-rocket"></i>\n        <span class="title">{{\'APPLICATION_DASHBOARD\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.dashboard\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END DASHBOARD CASE -->\n\n    <!-- START YOURDASHBOARD LIST CASE -->\n    <li data-ng-class="{active: $state.is(\'main.yourdashboards.show\')}" data-ng-show="Auth.isAdmin()">\n      <a href="javascript:;">\n        <i class="icon-screen-desktop"></i>\n        <span class="title" >{{\'APPLICATION_YOUR_DASHBOARDS\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.yourdashboards.show\') }"></span>\n      </a>\n      <ul class="sub-menu" data-ng-init="getSidebarDashboards()">\n        <li data-ng-class="{active: $stateParams.id == dashboard.id && $state.includes(\'main.yourdashboards.show\')}" data-ng-repeat="dashboard in dashboards" data-ng-show="dashboard[Auth.getRole()] && dashboard.visible">\n          <a href="/yourdashboards/show/{{dashboard.id}}" >\n          <i class="icon-screen-tablet"></i>\n          <span class="title" >{{dashboard.name}}  </span>\n          </a>\n        </li>\n       </ul>\n    </li>\n    <!-- END YOURDASHBOARD LIST CASE -->\n\n    <!-- START STAFF SEPARATOR -->\n    <li class="heading" data-ng-show="Auth.isAdmin()">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_STAFF\' | translate}}  </span> </h3>\n    </li>\n    <!-- END STAFF SEPARATOR -->\n\n    <!-- START USERS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'users\')" data-ng-class="{active: $state.includes(\'main.users\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.users\')}">\n      <a href="/users/list">\n        <i class="icon-eye"></i>\n        <span class="title" >{{\'APPLICATION_USERS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.users\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END USERS CASE -->\n\n    <!-- START AGENTS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'agents\')" data-ng-class="{active: $state.includes(\'main.agents\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.agents\')}">\n      <a href="/agents/list">\n        <i class="icon-people"></i>\n        <span class="title" >{{\'APPLICATION_AGENTS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.agents\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END AGENTS CASE -->\n\n    <!-- START TEAMS CASE -->\n    <li data-ng-show="isAssociated(\'teams\')" data-ng-class="{active: $state.includes(\'main.teams\')}">\n      <a href="/teams/list">\n        <i class="icon-shield"></i>\n        <span class="title" >{{\'APPLICATION_TEAMS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.teams\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END TEAMS CASE -->\n    <!-- END STAFF SEPARATOR -->\n\n    <!-- START CONTACT_MANAGER SEPARATOR -->\n    <li class="heading" data-ng-show="Auth.isAdmin()">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_CONTACT_MANAGER\' | translate}}  </span> </h3>\n    </li>\n    <!-- END CONTACT_MANAGER SEPARATOR -->\n\n    <!-- START CONTACT_MANAGER CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.contactmanager\')}">\n      <a href="/contactmanager/list">\n        <i class=" fa fa-users"></i>\n        <span class="title" >{{\'APPLICATION_CONTACT_MANAGER\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.contactmanager\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END CONTACT_MANAGER CASE -->\n    <!-- END CONTACT_MANAGER SEPARATOR -->\n\n    <!-- START CHANNELS SEPARATOR -->\n    <li class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_CHANNELS\' | translate}}  </span> </h3>\n    </li>\n\n    <!-- START icon-link CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{ active: $state.includes(\'main.voice\') }">\n      <a href="javascript:;">\n        <i class="icon-earphones-alt"></i>\n        <span class="title">{{ \'APPLICATION_VOICE\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.voice\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.voice.queues\')}">\n          <a href="/voice/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title">{{\'APPLICATION_QUEUES\' | translate}}</span>\n          </a>\n        </li>\n        <li>\n          <a href="javascript:;">\n          <i class="icon-directions"></i>\n          <span class="title"> {{ \'APPLICATION_ROUTES\' | translate}} </span>\n          <span class="arrow" data-ng-class="{ open: $state.includes(\'main.voice.routes\') }"></span>\n          <ul class="sub-menu">\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.inbound\')}">\n              <a href="/voice/routes/inbound/list">\n              <i class="icon-call-in"></i>\n              <span class="title"> {{\'APPLICATION_INBOUND\' | translate}} </span>\n              </a>\n            </li>\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.outbound\')}">\n              <a href="/voice/routes/outbound/list">\n              <i class="icon-call-out"></i>\n              <span class="title"> {{\'APPLICATION_OUTBOUND\' | translate}} </span>\n              </a>\n            </li>\n            <li data-ng-class="{active: $state.includes(\'main.voice.routes.internal\')}">\n              <a href="/voice/routes/internal/list">\n              <i class="icon-reload"></i>\n              <span class="title"> {{\'APPLICATION_INTERNALS\' | translate}} </span>\n              </a>\n            </li>\n          </ul>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.contexts\')}">\n          <a href="/voice/contexts/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_CONTEXTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.voicemails\')}">\n          <a href="/voice/voicemails/list">\n          <i class="icon-envelope-letter"></i>\n          <span class="title"> {{\'APPLICATION_VOICEMAILS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.voice.mohs\')}">\n          <a href="/voice/mohs/list">\n          <i class="icon-music-tone"></i>\n          <span class="title"> {{\'APPLICATION_MOH\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.voice.realtime\')}">\n          <a href="/voice/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END icon-link CASE -->\n\n    <!-- START CHAT CASE -->\n    <li data-ng-show="isAssociated(\'chat\')" data-ng-class="{ active: $state.includes(\'main.chat\') }">\n      <a href="javascript:;">\n        <i class="icon-bubble"></i>\n        <span class="title">{{\'APPLICATION_CHAT\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.chat\') }"></span>\n      </a>\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.chat.websites\')}">\n          <a href="/chat/websites/list">\n          <i class="icon-globe"></i>\n          <span class="title"> {{\'APPLICATION_WEB_SITES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.chat.queues\')}">\n          <a href="/chat/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_QUEUES\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.chat.realtime\')}">\n          <a href="/chat/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END CHAT CASE -->\n\n    <!-- START MAIL CASE -->\n    <li data-ng-class="{ active: $state.includes(\'main.mail\') }">\n      <a href="javascript:;">\n        <i class="icon-envelope"></i>\n        <span class="title">{{\'APPLICATION_MAIL\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.mail\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.accounts\') || $state.includes(\'main.mail.account\')}">\n          <a href="/mail/accounts/list">\n          <i class="icon-notebook"></i>\n          <span class="title"> {{\'APPLICATION_ACCOUNTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.queues\') || $state.includes(\'main.mail.queue\')}">\n          <a href="/mail/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_QUEUES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.mail.inbox\')}">\n          <a href="/mail/inbox/incoming">\n          <i class="icon-note"></i>\n          <span class="title"> {{\'APPLICATION_INBOX\' | translate}} </span>\n          </a>\n        </li>\n        <!-- <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.statistics\')}">\n          <a href="/mail/statistics/summary">\n          <i class="icon-eyeglass"></i>\n          <span class="title"> {{\'APPLICATION_STATISTICS\' | translate}} </span>\n          </a>\n        </li> -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.templates\')}">\n          <a href="/mail/templates/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{\'APPLICATION_TEMPLATES\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.timeline\')}">\n          <a href="/mail/timeline/list">\n          <i class="icon-list"></i>\n          <span class="title"> {{\'APPLICATION_TIMELINE\' | translate}} </span>\n          </a>\n        </li>\n        <!-- START REALTIME CASE -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.mail.realtime\')}">\n          <a href="/mail/realtime/view/agents">\n          <i class="icon-energy"></i>\n          <span class="title">{{\'APPLICATION_REALTIME\' | translate}}</span>\n          </a>\n        </li>\n        <!-- END REALTIME CASE -->\n      </ul>\n    </li>\n    <!-- END MAIL CASE -->\n\n    <!-- START FAX CASE -->\n    <li data-ng-class="{active: $state.includes(\'main.fax\')}">\n    <!-- <li data-ng-show="license.fax" data-ng-class="{active: $state.includes(\'main.fax\')}"> -->\n      <a href="javascript:;">\n        <i class="icon-paper-plane"></i>\n        <span class="title"> {{ \'APPLICATION_FAX\' | translate}}</span>\n        <span class="arrow" data-ng-class="{ open: $state.includes(\'main.fax\') }"></span>\n      </a>\n\n      <ul class="sub-menu">\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.accounts\')}">\n          <a href="/fax/accounts/list">\n          <i class="icon-notebook"></i>\n          <span class="title"> {{ \'APPLICATION_ACCOUNTS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.queues\')}">\n          <a href="/fax/queues/list">\n          <i class="icon-docs"></i>\n          <span class="title"> {{ \'APPLICATION_QUEUES\' | translate }} </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.fax.inbox\')}">\n          <a href="/fax/inbox/incoming">\n          <i class="icon-note"></i>\n          <span class="title"> {{ \'APPLICATION_INBOX\' | translate }} </span>\n          </a>\n        </li>\n        <!-- <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.statistics\')}">\n          <a href="/fax/statistics/summary">\n          <i class="icon-eyeglass"></i>\n          <span class="title"> {{ \'APPLICATION_STATISTICS\' | translate }} </span>\n          </a>\n        </li> -->\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.automations\')}">\n          <a href="/fax/automations/list">\n          <i class="icon-settings"></i>\n          <span class="title"> {{\'APPLICATION_AUTOMATIONS\' | translate}} </span>\n          </a>\n        </li>\n        <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.fax.timeline\')}">\n          <a href="/fax/timeline/list">\n          <i class="icon-list"></i>\n          <span class="title"> {{\'APPLICATION_TIMELINE\' | translate}} </span>\n          </a>\n        </li>\n      </ul>\n    </li>\n    <!-- END FAX CASE -->\n    <!-- END CHANNELS SEPARATOR -->\n\n    <!-- START INTEGRATIONS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span translate> APPLICATION_INTEGRATIONS </span> </h3>\n    </li>\n    <!-- START INTEGRATION CASE -->\n    <!--\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.is(\'main.market\')}">\n      <a href="/market">\n        <i class="icon-handbag"></i>\n        <span class="title" translate>Market Place</span>\n        <span data-ng-show="$state.includes(\'main.market\')" class="selected"></span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.is(\'main.integrations.list\')}">\n      <a href="/integrations/list">\n        <i class="icon-game-controller"></i>\n        <span class="title" translate>Test Your App</span>\n        <span data-ng-show="$state.includes(\'main.integrations.list\')" class="selected"></span>\n      </a>\n    </li>\n    -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.zendesk\')}">\n      <a href="/zendesk/list">\n        <i class="icon-handbag"></i>\n        <span class="title" >{{\'APPLICATION_ZENDESK\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.zendesk\')" class="selected"></span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.desk\')}">\n      <a href="/desk/list">\n        <i class="icon-handbag"></i>\n        <span class="title" >{{\'APPLICATION_DESK_COM\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.desk\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END INTEGRATIONS SEPARATOR -->\n\n    <!-- START TOOLS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_TOOLS\' | translate}}  </span> </h3>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.triggers\')}">\n      <a href="/triggers/list">\n      <i class="icon-bulb"></i>\n      <span class="title"> {{\'APPLICATION_TRIGGERS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.automations\')}">\n      <a href="/automations/list">\n      <i class="icon-settings"></i>\n      <span class="title"> {{\'APPLICATION_AUTOMATIONS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.trunks\')}">\n      <a href="/trunks/list">\n      <i class="icon-link"></i>\n      <span class="title"> {{\'APPLICATION_TRUNKS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.intervals\')}">\n      <a href="/intervals/list">\n      <i class="icon-clock"></i>\n      <span class="title"> {{\'APPLICATION_INTERVALS\' | translate}} </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.variables\')}">\n      <a href="/variables/list">\n      <i class="fa fa-eye"></i>\n      <span class="title" >{{\'APPLICATION_VARIABLES\' | translate}}  </span>\n      </a>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.tags\')}">\n      <a href="/tags/list">\n      <i class="icon-tag"></i>\n      <span class="title" >{{\'APPLICATION_TAGS\' | translate}}  </span>\n      </a>\n    </li>\n    <!-- START CALLYSQUARE CASE -->\n    <!-- <li data-ng-show="isAssociated(\'callysquare\')" data-ng-class="{active: $state.includes(\'main.square\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.square\')}">\n      <a href="javascript:;">\n        <i class="fa fa-superscript"></i>\n        <span class="title" >{{\'APPLICATION_CALLYSQUARE\' | translate}}</span>\n        <span class="arrow"></span>\n      </a>\n      <ul class="sub-menu">\n        <li data-ng-class="{active: $state.includes(\'main.square.projects\')}">\n          <a href="/square/projects/list">\n          <i class="fa fa-slack"></i>\n          <span class="title" >{{\'APPLICATION_PROJECTS\' | translate}}  </span>\n          </a>\n        </li>\n        <li data-ng-class="{active: $state.includes(\'main.square.odbc\')}">\n          <a href="/square/odbcs/list">\n          <i class="fa fa-database"></i>\n          <span class="title" >{{\'APPLICATION_ODBC\' | translate}}  </span>\n          </a>\n        </li>\n       </ul>\n    </li>\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.yourdashboards.list\') || $state.includes(\'main.yourdashboards.settings\')}">\n      <a href="/yourdashboards/list">\n      <i class="icon-grid"></i>\n      <span class="title"> {{\'APPLICATION_DASHBOARDS_MANAGER\' | translate}} </span>\n      </a>\n    </li>\n    <!-- END CALLYSQUARE CASE -->\n\n    <!-- START AUTODIALER CASE -->\n    <!-- <li data-ng-show="Auth.isAdmin()">\n      <a href="javascript:;">\n        <i class="icon-call-out"></i>\n        <span class="title">AutoDialer</span>\n        <span class="arrow"></span>\n      </a>\n      <ul class="sub-menu">\n      </ul>\n    </li> -->\n    <!-- END AUTODIALER CASE -->\n\n    <!-- START ANALYTICS CASE -->\n    <!-- <li data-ng-show="isAssociated(\'analytics\')"> -->\n    <!-- <li data-ng-show="Auth.isAdmin()">\n      <a href="#/analytics">\n        <i class="icon-graph"></i>\n        <span class="title" >{{\'APPLICATION_ANALYTICS\' | translate}}</span>\n      </a>\n    </li> -->\n    <!-- END ANALYTICS CASE -->\n\n    <!-- END TOOLS SEPARATOR -->\n\n    <!-- START AUDIO SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_AUDIO\' | translate}}  </span> </h3>\n    </li>\n    <!-- END AUDIO SEPARATOR -->\n\n    <!-- START AUDIO CASE -->\n    <!-- <li data-ng-show="isAssociated(\'audio\')" data-ng-class="{active: $state.is(\'main.sound\')}"> -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.sounds\')}">\n      <a href="/sounds/list">\n        <i class="icon-music-tone-alt"></i>\n        <span class="title" >{{\'APPLICATION_SOUNDS\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.sounds\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END AUDIO CASE -->\n\n\n    <!-- START SETTINGS SEPARATOR -->\n    <li data-ng-show="Auth.isAdmin()" class="heading">\n      <h3 class="uppercase"> <span >{{\'APPLICATION_SETTINGS\' | translate}}  </span> </h3>\n    </li>\n    <!-- END SETTINGS SEPARATOR -->\n\n    <!-- START UPDATES CASE -->\n    <li data-ng-show="Auth.isAdmin()" data-ng-class="{active: $state.includes(\'main.updates\')}">\n      <a href="/updates/list">\n        <i class="icon-cloud-download"></i>\n        <span class="title" >{{\'APPLICATION_UPDATES\' | translate}}</span>\n        <span data-ng-show="$state.includes(\'main.updates\')" class="selected"></span>\n      </a>\n    </li>\n    <!-- END UPDATES CASE -->\n\n  </ul>\n  <!-- END SIDEBAR MENU -->\n</div>\n');
 }]);
\ No newline at end of file
diff --git a/public/assets/images/media/desk.png b/public/assets/images/media/desk.png
new file mode 100644 (file)
index 0000000..8cedde6
Binary files /dev/null and b/public/assets/images/media/desk.png differ
index acc05fc..15283d0 100644 (file)
@@ -9,6 +9,7 @@
   "APPLICATION_NEW_CONTACT": "New Contact",
   "APPLICATION_NEW_REPORT": "New Report",
   "APPLICATION_REPORT": "Report",
+  "APPLICATION_ALWAYS": "Always",
   "APPLICATION_REPORTS": "Reports",
   "MESSAGE_NO_CONTACTS_AVAILABLE": "No contacts available",
   "APPLICATION_USER": "User",
   "APPLICATION_CONFIGURATION": "Configuration",
   "MESSAGE_EXIST_CUSTOM_FIELD": "Account/Field combination already exists",
   "APPLICATION_NEW_CONFIGURATION": "New Configuration",
-  "MESSAGE_VARIABLE_CONFIGURATION_ASSOCIATED": "The Variable is associated with one or more Zendesk configuration, delete them first"
+  "MESSAGE_VARIABLE_CONFIGURATION_ASSOCIATED": "The Variable is associated with one or more Zendesk configuration, delete them first",
+  "APPLICATION_DESK_COM": "Desk.com"
 }
index 69f7f90..fe6a995 100644 (file)
@@ -11,6 +11,7 @@
   "APPLICATION_EMAILS": "Indirizzi email",
   "APPLICATION_ADD_PHONE": "Aggiungi telefono",
   "APPLICATION_ADD_EMAIL": "Aggiungi email",
+  "APPLICATION_ALWAYS": "Sempre",
   "APPLICATION_NEW_REPORT": "Nuovo Report",
   "APPLICATION_REPORT": "Report",
   "APPLICATION_REPORTS": "Reports",
   "APPLICATION_CONFIGURATION": "Configurazione",
   "MESSAGE_EXIST_CUSTOM_FIELD": "Combinazione Account/Field è già presente",
   "APPLICATION_NEW_CONFIGURATION": "Nuova Configurazione",
-  "MESSAGE_VARIABLE_CONFIGURATION_ASSOCIATED": "La Variabile è associata con una o più configurazione Zendesk, eliminale e riprova"
+  "MESSAGE_VARIABLE_CONFIGURATION_ASSOCIATED": "La Variabile è associata con una o più configurazione Zendesk, eliminale e riprova",
+  "APPLICATION_DESK_COM": "Desk.com"
 }
index 1a512c2..80b18a0 100644 (file)
@@ -61,7 +61,7 @@
     <![endif]-->
     <script src="app/0e6d6720.vendor.js"></script>
 
-    <script src="app/02d8bd33.app.js"></script>
+    <script src="app/f64cd087.app.js"></script>
 
     <!-- BEGIN JAVASCRIPTS(Load javascripts at bottom, this will reduce page load time) -->
     <!-- BEGIN CORE PLUGINS -->
similarity index 92%
rename from release-notes/changelog_0.0.9.txt
rename to release-notes/changelog_0.0.10.txt
index 68b5e16..c191855 100644 (file)
@@ -1,5 +1,10 @@
 # xCALLY MOTION Changelog
 
+- * f70b871 - 2015-12-10: New Version 
+- * fe17b4d - 2015-12-10: client assets languages 
+- * 8c3abaa - 2015-12-10: add desk.js package 
+- * 91b3ca4 - 2015-12-10: update languages 
+- * ce287ad - 2015-12-10: desk.com integration: account list 
 - * fd2facf - 2015-12-10: minor bug fix 
 - * d5ced21 - 2015-12-10: routes.js 
 - * c3c7497 - 2015-12-10: Updated language files 
@@ -66,6 +71,4 @@
 - * 367be9b - 2015-12-04: client side component sidebar 
 - * 7995de6 - 2015-12-04: client side languages 
 - * 1605e5a - 2015-12-04: server side app update 
-- * 69767ee - 2015-12-03: Zendesk: add body configuration, remove custom fields section 
-- * 06df96e - 2015-12-03: init version package.son 
 
diff --git a/server/api/desk_account/desk_account.controller.js b/server/api/desk_account/desk_account.controller.js
new file mode 100644 (file)
index 0000000..8dcd448
--- /dev/null
@@ -0,0 +1,188 @@
+'use strict';
+
+var _ = require('lodash');
+var util = require('util');
+var desk = require('desk.js');
+
+var DeskAccount = require('../../models').DeskAccount;
+
+// Get list of desk_accounts
+exports.index = function(req, res) {
+  var attributes = ['description', 'name', 'username', 'remoteUri'];
+  var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
+  var page = req.query.page ? parseInt(req.query.page, 10) : 0;
+
+  var query = {
+    where: {},
+    limit: per_page,
+    offset: page * per_page
+  };
+
+  _.forIn(req.query, function(value, key) {
+    switch (key) {
+      case 'per_page':
+      case 'page':
+        break;
+      case 'sort_by':
+        query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
+        break;
+      case 'sort_order':
+        break;
+      case '$':
+        query.where.$or = [];
+        attributes.forEach(function(attribute) {
+          var tmp = {};
+          tmp[attribute] = {
+            $like: '%' + value + '%'
+          };
+
+          query.where.$or.push(tmp);
+        });
+        break;
+      default:
+        query.where[key] = {
+          $like: {}
+        };
+        query.where[key].$like = '%' + value + '%';
+    }
+  });
+
+  DeskAccount
+    .findAndCountAll(query)
+    .then(function(result) {
+
+      var total_pages = Math.ceil(result.count / per_page);
+      var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
+      var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
+
+      return res.status(200).send({
+        count: result.count,
+        rows: result.rows,
+        next_page: next_page,
+        previous_page: previous_page,
+        total_pages: total_pages
+      });
+
+    })
+    .catch(function(err) {
+      return res.status(500).send({
+        error: 'Something blew up!'
+      });
+    });
+};
+
+// Get a single desk_account
+exports.show = function(req, res) {
+  DeskAccount
+    .findById(req.params.id)
+    .then(function(desk_account) {
+      if (!desk_account) {
+        return res.sendStatus(404);
+      }
+      return res.send(desk_account);
+    })
+    .catch(function(err) {
+      return handleError(res, err);
+    });
+};
+
+// Creates a new desk_account in the DB.
+exports.create = function(req, res) {
+  DeskAccount
+    .create(req.body)
+    .then(function(desk_account) {
+      return res.status(201).send(desk_account);
+    })
+    .catch(function(err) {
+      return handleError(res, err);
+    });
+};
+
+// Updates an existing desk_account in the DB.
+exports.update = function(req, res) {
+  if (req.body.id) {
+    delete req.body.id;
+  }
+  DeskAccount
+    .findById(req.params.id)
+    .then(function(desk_account) {
+      if (!desk_account) {
+        return res.sendStatus(404);
+      }
+      var updated = _.merge(desk_account, req.body);
+      updated.save()
+        .then(function() {
+          return res.status(200).send(desk_account);
+        })
+        .catch(function(err) {
+          return handleError(res, err);
+        });
+    })
+    .catch(function(err) {
+      return handleError(res, err);
+    });
+};
+
+// Deletes a desk_account from the DB.
+exports.destroy = function(req, res) {
+  DeskAccount
+    .findById(req.params.id)
+    .then(function(desk_account) {
+      if (!desk_account) {
+        return res.sendStatus(404);
+      }
+      desk_account.destroy()
+        .then(function() {
+          return res.sendStatus(204);
+        })
+        .catch(function(err) {
+          return handleError(res, err);
+        });
+    })
+    .catch(function(err) {
+      return handleError(res, err);
+    });
+};
+
+exports.checkAccount = function(req, res) {
+  DeskAccount
+    .findById(req.params.id)
+    .then(function(account) {
+      var desk_account = {
+        endpoint: stripTrailingSlash(account.remoteUri),
+        retry: false
+      };
+      if (account.authType === 'basic') {
+        desk_account.username = account.username;
+        desk_account.password = account.password;
+      } else if (account.authType === 'oauth') {
+        desk_account.consumerKey = account.consumerKey;
+        desk_account.consumerSecret = account.consumerSecret;
+        desk_account.token = account.token;
+        desk_account.tokenSecret = account.tokenSecret;
+      }
+      console.log(desk_account);
+      var client = desk.createClient(desk_account);
+      client.get('/api/v2/users/me', function(err, body, response) {
+        if (err) {
+          console.log(err);
+          return handleError(res, err);
+        }
+        return res.sendStatus(200);
+      });
+    })
+    .catch(function(err) {
+      return handleError(res, err);
+    });
+};
+
+function stripTrailingSlash(str) {
+  if (str.substr(-1) === '/') {
+    return str.substr(0, str.length - 1);
+  }
+  return str;
+}
+
+function handleError(res, err) {
+  return res.status(500).send(err);
+}
diff --git a/server/api/desk_account/desk_account.socket.js b/server/api/desk_account/desk_account.socket.js
new file mode 100644 (file)
index 0000000..3f7badd
--- /dev/null
@@ -0,0 +1,24 @@
+/**
+ * Broadcast updates to client when the model changes
+ */
+
+'use strict';
+
+var DeskAccount = require('../../models').DeskAccount;
+
+exports.register = function(socket) {
+  DeskAccount.afterCreate(function (doc) {
+    onSave(socket, doc);
+  });
+  DeskAccount.afterDestroy(function (doc) {
+    onRemove(socket, doc);
+  });
+}
+
+function onSave(socket, doc, cb) {
+  socket.emit('desk_account:save', doc);
+}
+
+function onRemove(socket, doc, cb) {
+  socket.emit('desk_account:remove', doc);
+}
diff --git a/server/api/desk_account/desk_account.spec.js b/server/api/desk_account/desk_account.spec.js
new file mode 100644 (file)
index 0000000..a56fc11
--- /dev/null
@@ -0,0 +1,20 @@
+'use strict';
+
+var should = require('should');
+var app = require('../../app');
+var request = require('supertest');
+
+describe('GET /api/desk/accounts', function() {
+
+  it('should respond with JSON array', function(done) {
+    request(app)
+      .get('/api/desk/accounts')
+      .expect(200)
+      .expect('Content-Type', /json/)
+      .end(function(err, res) {
+        if (err) return done(err);
+        res.body.should.be.instanceof(Array);
+        done();
+      });
+  });
+});
\ No newline at end of file
diff --git a/server/api/desk_account/index.js b/server/api/desk_account/index.js
new file mode 100644 (file)
index 0000000..2430861
--- /dev/null
@@ -0,0 +1,16 @@
+'use strict';
+
+var express = require('express');
+var controller = require('./desk_account.controller');
+var auth = require('../../auth/auth.service');
+var router = express.Router();
+
+router.get('/', auth.isAuthenticated(), controller.index);
+router.get('/:id', auth.isAuthenticated(), controller.show);
+router.get('/:id/check', auth.isAuthenticated(), controller.checkAccount);
+router.post('/', auth.isAuthenticated(), controller.create);
+router.put('/:id', auth.isAuthenticated(), controller.update);
+router.patch('/:id', auth.isAuthenticated(), controller.update);
+router.delete('/:id', auth.isAuthenticated(), controller.destroy);
+
+module.exports = router;
index 1cf48a0..0668f3c 100644 (file)
@@ -74,6 +74,7 @@ function onConnect(socket) {
   });
 
   // Insert sockets below
+  require('../api/desk_account/desk_account.socket').register(socket);
   require('../api/report/report.socket').register(socket);
   require('../api/update/update.socket').register(socket);
   require('../api/report_chat_session/report_chat_session.socket').register(socket);
diff --git a/server/models/desk_account.js b/server/models/desk_account.js
new file mode 100644 (file)
index 0000000..a06a3c1
--- /dev/null
@@ -0,0 +1,34 @@
+'use strict';
+
+module.exports = function(sequelize, DataTypes) {
+
+  var DeskAccount = sequelize.define('DeskAccount', {
+    name: DataTypes.STRING,
+    description: DataTypes.STRING,
+    username: {
+      type: DataTypes.STRING,
+      unique: true
+    },
+    password: DataTypes.STRING,
+    remoteUri: {
+      type: DataTypes.STRING,
+      unique: true
+    },
+    authType: {
+      type: DataTypes.ENUM('basic', 'oauth'),
+      defaultValue: 'basic'
+    },
+    consumerKey: DataTypes.STRING,
+    consumerSecret: DataTypes.STRING,
+    token: DataTypes.STRING,
+    tokenSecret: DataTypes.STRING
+  }, {
+    tableName: 'desk_accounts'
+      // associate: function(models) {
+      //   DeskAccount.hasMany(models.ZendeskConfiguration);
+      // }
+  });
+
+  return DeskAccount;
+
+};
index acd3e63..c818386 100644 (file)
@@ -13,6 +13,7 @@ module.exports = function(app) {
   var env = app.get('env');
 
   // Insert routes below
+  app.use('/api/desk/accounts', require('./api/desk_account'));
   app.use('/api/analytic/reports', require('./api/report'));
   app.use('/api/updates', require('./api/update'));
   app.use('/api/report/chat/sessions', require('./api/report_chat_session'));