From 433627de5f0e9a64d773534e4767caaaf0474b9c Mon Sep 17 00:00:00 2001 From: jsteinberg1 Date: Sat, 23 May 2020 15:23:04 -0700 Subject: [PATCH] updated vue to support combined view --- client/dist/index.html | 2 +- client/dist/js/app.8a0493b3.js | 2 + client/dist/js/app.8a0493b3.js.map | 1 + client/dist/js/app.bc0484fe.js | 2 - client/dist/js/app.bc0484fe.js.map | 1 - client/src/App.vue | 4 +- client/src/components/Phone_Combined.vue | 182 +++++++++++++++++++++++ client/src/components/Phone_Info.vue | 6 +- client/src/components/Phone_Scraper.vue | 8 +- 9 files changed, 200 insertions(+), 8 deletions(-) create mode 100644 client/dist/js/app.8a0493b3.js create mode 100644 client/dist/js/app.8a0493b3.js.map delete mode 100644 client/dist/js/app.bc0484fe.js delete mode 100644 client/dist/js/app.bc0484fe.js.map create mode 100644 client/src/components/Phone_Combined.vue diff --git a/client/dist/index.html b/client/dist/index.html index f0bdbc7..a1e2154 100644 --- a/client/dist/index.html +++ b/client/dist/index.html @@ -1 +1 @@ -VOIP Phone Info
\ No newline at end of file +VOIP Phone Info
\ No newline at end of file diff --git a/client/dist/js/app.8a0493b3.js b/client/dist/js/app.8a0493b3.js new file mode 100644 index 0000000..5da7a3a --- /dev/null +++ b/client/dist/js/app.8a0493b3.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var n,o,i=t[0],l=t[1],d=t[2],c=0,m=[];c0?a("div",{staticStyle:{height:"100% display: flex","flex-direction":"row overflow: hidden","flex-grow":"1"}},[a("hot-table",{ref:"hotTableComponent",attrs:{settings:e.hotSettings,data:e.rowData}})],1):a("div",[a("p",[e._v("There is no data in the database. Please run a manual sync from the Job Status tab.")])]),a("hr")]),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.exportToCsv}},[e._v("Download as CSV")]),a("p"),a("b-button",{on:{click:e.refreshGrid}},[e._v("Refresh")])],1)],1)])},F=[],E=a("3c78"),R={name:"Phone_Info",data:function(){return{hotSettings:{licenseKey:"non-commercial-and-evaluation",autoRowSize:!1,height:600,autoColumnSize:!0,manualColumnResize:!0,manualColumnMove:!0,fixedColumnsLeft:1,manualColumnFreeze:!0,filters:!0,columnSorting:!0,dropdownMenu:["filter_by_condition"],contextMenu:["alignment","hidden_columns_hide","hidden_columns_show"],hiddenColumns:{indicators:!0},colHeaders:["Name","Pool","CSS","Description","Firmware","IPv4","Protocol","Model","First Seen","Last Seen","Regstamp","Cluster","EM Profile","EM Time"],columns:[{data:"dname",readOnly:!0},{data:"dpool",readOnly:!0},{data:"dcss",readOnly:!0},{data:"descr",readOnly:!0},{data:"fw",readOnly:!0},{data:"ipv4",readOnly:!0},{data:"prot",readOnly:!0},{data:"model",readOnly:!0},{data:"fdate",readOnly:!0},{data:"ldate",readOnly:!0},{data:"regstamp",readOnly:!0},{data:"cluster",readOnly:!0},{data:"em_profile",readOnly:!0},{data:"em_time",readOnly:!0}]},rowData:[],loadingData:!1}},components:{HotTable:E["a"]},beforeMount:function(){},mounted:function(){this.loadData()},methods:{reSizeColumns:function(e){console.log(e)},exportToCsv:function(){console.log("exporting to csv");var e=this.$refs.hotTableComponent.hotInstance.getPlugin("exportFile");e.downloadFile("csv",{columnHeaders:!0,columnDelimiter:",",fileExtension:"csv",filename:"Phone-Info-CSV-file_[YYYY]-[MM]-[DD]",mimeType:"text/csv"})},loadData:function(){var e=this;e.loadingData=!0,this.$http({method:"get",url:"/phonedata/info",timeout:15e3}).then((function(t){e.rowData=t.data,e.loadingData=!1})).catch((function(t){console.log(t),e.loadingData=!1}))},refreshGrid:function(){this.loadData()}}},H=R,V=(a("6378"),Object(h["a"])(H,A,F,!1,null,null,null)),Y=V.exports,q=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e.loadingData?a("div",[a("b-row",{attrs:{"align-h":"center"}},[a("b-spinner",{attrs:{label:"Loading..."}})],1)],1):a("div",[a("b-row",{attrs:{"align-h":"center"}},[e.rowData.length>0?a("div",{staticStyle:{height:"100% display: flex","flex-direction":"row overflow: hidden","flex-grow":"1"}},[a("hot-table",{ref:"hotTableComponent",attrs:{settings:e.hotSettings,data:e.rowData}})],1):a("div",[a("p",[e._v("There is no data in the database. Please run a manual sync from the Job Status tab.")])]),a("hr")]),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.exportToCsv}},[e._v("Download as CSV")]),a("p"),a("b-button",{on:{click:e.refreshGrid}},[e._v("Refresh")])],1)],1)])},J=[],G={name:"Phone_Scraper",data:function(){return{hotSettings:{licenseKey:"non-commercial-and-evaluation",autoRowSize:!1,height:600,autoColumnSize:!0,manualColumnResize:!0,manualColumnMove:!0,fixedColumnsLeft:1,manualColumnFreeze:!0,filters:!0,columnSorting:!0,dropdownMenu:["filter_by_condition"],contextMenu:["alignment","hidden_columns_hide","hidden_columns_show"],hiddenColumns:{indicators:!0},colHeaders:["Name","Model","IPv4","Serial","Firmware","DN","kem1","kem2","Subnet","Gateway","DHCP","DHCP Server","Domain","DNS1","DNS2","Alt TFTP","TFTP 1","TFTP 2","op_vlan","admin_vlan","CDP Host","CDP IP","CDP Port","LLDP Port","LLDP Port","LLDP Port","CUCM 1","CUCM 2","CUCM 3","CUCM 4","CUCM 5","Info URL","Dir URL","SVC URL","IDLR URL","Info URL Time","Proxy URL","Auth URL","TVS","ITL","Last Scraped"],columns:[{data:"devicename",readOnly:!0},{data:"model",readOnly:!0},{data:"ip_address",readOnly:!0},{data:"sn",readOnly:!0},{data:"firmware",readOnly:!0},{data:"dn",readOnly:!0},{data:"kem1",readOnly:!0},{data:"kem2",readOnly:!0},{data:"subnetmask",readOnly:!0},{data:"gateway",readOnly:!0},{data:"dhcp",readOnly:!0},{data:"dhcp_server",readOnly:!0},{data:"domain_name",readOnly:!0},{data:"dns1",readOnly:!0},{data:"dns2",readOnly:!0},{data:"alt_tftp",readOnly:!0},{data:"tftp1",readOnly:!0},{data:"tftp2",readOnly:!0},{data:"op_vlan",readOnly:!0},{data:"admin_vlan",readOnly:!0},{data:"CDP_Neighbor_ID",readOnly:!0},{data:"CDP_Neighbor_IP",readOnly:!0},{data:"CDP_Neighbor_Port",readOnly:!0},{data:"LLDP_Neighbor_ID",readOnly:!0},{data:"LLDP_Neighbor_IP",readOnly:!0},{data:"LLDP_Neighbor_Port",readOnly:!0},{data:"cucm1",readOnly:!0},{data:"cucm2",readOnly:!0},{data:"cucm3",readOnly:!0},{data:"cucm4",readOnly:!0},{data:"cucm5",readOnly:!0},{data:"info_url",readOnly:!0},{data:"dir_url",readOnly:!0},{data:"svc_url",readOnly:!0},{data:"idle_url",readOnly:!0},{data:"info_url_time",readOnly:!0},{data:"proxy_url",readOnly:!0},{data:"auth_url",readOnly:!0},{data:"tvs",readOnly:!0},{data:"ITL",readOnly:!0},{data:"date_modified",readOnly:!0}]},rowData:[],loadingData:!1}},components:{HotTable:E["a"]},beforeMount:function(){},mounted:function(){this.loadData()},methods:{reSizeColumns:function(e){console.log(e)},exportToCsv:function(){console.log("exporting to csv");var e=this.$refs.hotTableComponent.hotInstance.getPlugin("exportFile");e.downloadFile("csv",{columnHeaders:!0,columnDelimiter:",",fileExtension:"csv",filename:"Phone-Scraper-CSV-file_[YYYY]-[MM]-[DD]",mimeType:"text/csv"})},loadData:function(){var e=this;e.loadingData=!0,this.$http({method:"get",url:"/phonedata/scraper",timeout:6e4}).then((function(t){e.rowData=t.data,e.loadingData=!1})).catch((function(t){console.log(t),e.loadingData=!1}))},refreshGrid:function(){this.loadData()}}},K=G,B=Object(h["a"])(K,q,J,!1,null,null,null),Q=B.exports,X=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e.loadingData?a("div",[a("b-row",{attrs:{"align-h":"center"}},[a("b-spinner",{attrs:{label:"Loading..."}})],1)],1):a("div",[a("b-row",{attrs:{"align-h":"center"}},[e.rowData.length>0?a("div",{staticStyle:{height:"100% display: flex","flex-direction":"row overflow: hidden","flex-grow":"1"}},[a("hot-table",{ref:"hotTableComponent",attrs:{settings:e.hotSettings,data:e.rowData}})],1):a("div",[a("p",[e._v("There is no data in the database. Please run a manual sync from the Job Status tab.")])]),a("hr")]),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.exportToCsv}},[e._v("Download as CSV")]),a("p"),a("b-button",{on:{click:e.refreshGrid}},[e._v("Refresh")])],1)],1)])},W=[],Z={name:"Phone_Combined",data:function(){return{hotSettings:{licenseKey:"non-commercial-and-evaluation",autoRowSize:!1,height:600,colHeaders:!0,autoColumnSize:!0,manualColumnResize:!0,manualColumnMove:!0,fixedColumnsLeft:1,manualColumnFreeze:!0,filters:!0,columnSorting:!0,dropdownMenu:["filter_by_condition"],contextMenu:["alignment","hidden_columns_hide","hidden_columns_show"],hiddenColumns:{indicators:!0},nestedHeaders:[["",{label:"CUCM API",colspan:13},{label:"Phone Scraper",colspan:40}],["Name","Description","Device Pool","Device CSS","Model","First Seen","Last Seen","Reg Time","IPv4","Firmware","Cluster","Protocol","EM Profile","EM Login Time","Serial","Firmware","DN","Model","kem1","kem2","IP Addr","Subnet","Gateway","DHCP","DHCP Server","Domain","DNS1","DNS2","Alt TFTP","TFTP 1","TFTP 2","op_vlan","admin_vlan","CDP Host","CDP IP","CDP Port","LLDP Port","LLDP Port","LLDP Port","CUCM 1","CUCM 2","CUCM 3","CUCM 4","CUCM 5","Info URL","Dir URL","SVC URL","IDLR URL","Info URL Time","Proxy URL","Auth URL","TVS","ITL","Last Scraped"]],columns:[{data:"dname",readOnly:!0},{data:"descr",readOnly:!0},{data:"dpool",readOnly:!0},{data:"dcss",readOnly:!0},{data:"model",readOnly:!0},{data:"fdate",readOnly:!0},{data:"ldate",readOnly:!0},{data:"regstamp",readOnly:!0},{data:"ipv4",readOnly:!0},{data:"fw",readOnly:!0},{data:"cluster",readOnly:!0},{data:"prot",readOnly:!0},{data:"em_profile",readOnly:!0},{data:"em_time",readOnly:!0},{data:"sn",readOnly:!0},{data:"firmware",readOnly:!0},{data:"dn",readOnly:!0},{data:"model",readOnly:!0},{data:"kem1",readOnly:!0},{data:"kem2",readOnly:!0},{data:"ip_address",readOnly:!0},{data:"subnetmask",readOnly:!0},{data:"gateway",readOnly:!0},{data:"dhcp",readOnly:!0},{data:"dhcp_server",readOnly:!0},{data:"domain_name",readOnly:!0},{data:"dns1",readOnly:!0},{data:"dns2",readOnly:!0},{data:"alt_tftp",readOnly:!0},{data:"tftp1",readOnly:!0},{data:"tftp2",readOnly:!0},{data:"op_vlan",readOnly:!0},{data:"admin_vlan",readOnly:!0},{data:"CDP_Neighbor_ID",readOnly:!0},{data:"CDP_Neighbor_IP",readOnly:!0},{data:"CDP_Neighbor_Port",readOnly:!0},{data:"LLDP_Neighbor_ID",readOnly:!0},{data:"LLDP_Neighbor_IP",readOnly:!0},{data:"LLDP_Neighbor_Port",readOnly:!0},{data:"cucm1",readOnly:!0},{data:"cucm2",readOnly:!0},{data:"cucm3",readOnly:!0},{data:"cucm4",readOnly:!0},{data:"cucm5",readOnly:!0},{data:"info_url",readOnly:!0},{data:"dir_url",readOnly:!0},{data:"svc_url",readOnly:!0},{data:"idle_url",readOnly:!0},{data:"info_url_time",readOnly:!0},{data:"proxy_url",readOnly:!0},{data:"auth_url",readOnly:!0},{data:"tvs",readOnly:!0},{data:"ITL",readOnly:!0},{data:"last_scraped",readOnly:!0}]},rowData:[],loadingData:!1}},components:{HotTable:E["a"]},beforeMount:function(){},mounted:function(){this.loadData()},methods:{reSizeColumns:function(e){console.log(e)},exportToCsv:function(){console.log("exporting to csv");var e=this.$refs.hotTableComponent.hotInstance.getPlugin("exportFile");e.downloadFile("csv",{columnHeaders:!0,columnDelimiter:",",fileExtension:"csv",filename:"Phone-Scraper-CSV-file_[YYYY]-[MM]-[DD]",mimeType:"text/csv"})},loadData:function(){var e=this;e.loadingData=!0,this.$http({method:"get",url:"/phonedata/allschema",timeout:12e4}).then((function(t){e.rowData=t.data,e.loadingData=!1})).catch((function(t){console.log(t),e.loadingData=!1}))},refreshGrid:function(){this.loadData()}}},ee=Z,te=Object(h["a"])(ee,X,W,!1,null,null,null),ae=te.exports,ne=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("b-card",[a("h3",[e._v("CUCM Clusters")]),a("p",[e._v("Please use dedicated CUCM App users for this server")]),a("crud-table",{attrs:{endpoint:"/settings_management/cucm",columns:[{key:"cluster_name",label:"Cluster Name"},{key:"server",label:"Server"},{key:"version",label:"Version"},{key:"username",label:"Username"},{key:"ssl_verification",label:"SSL Verification"},{key:"action",label:"Action"}],"form-fields":{cluster_name:"",server:"",version:"",username:"",pd:"",ssl_verification:!1,ssl_ca_trust_file_data:null}},scopedSlots:e._u([{key:"input-fields",fn:function(t){var n=t.formdata;return[a("b-form-group",{attrs:{id:"input-group-2",label:"Cluster Name:","label-for":"input-name"}},[a("b-form-input",{attrs:{id:"input-name",required:"",placeholder:"Enter cluster friendly name (e.g. Cluster1 )"},model:{value:n.cluster_name,callback:function(t){e.$set(n,"cluster_name",t)},expression:"formdata.cluster_name"}})],1),a("b-form-group",{attrs:{id:"input-group-server",label:"CUCM (AXL) Server:","label-for":"input-server"}},[a("b-form-input",{attrs:{id:"input-server",required:"",placeholder:"Enter CUCM publisher (e.g. cucm1.cisco.com )"},model:{value:n.server,callback:function(t){e.$set(n,"server",t)},expression:"formdata.server"}})],1),a("b-form-group",{attrs:{id:"input-group-version",label:"CUCM Version:","label-for":"input-version"}},[a("b-form-select",{attrs:{options:["10.5","11.0","11.5","12.0","12.5"]},model:{value:n.version,callback:function(t){e.$set(n,"version",t)},expression:"formdata.version"}})],1),a("b-form-group",{attrs:{id:"input-group-username",label:"CUCM Application User Username:","label-for":"input-username"}},[a("b-form-input",{attrs:{id:"input-username",required:"",placeholder:"Enter CUCM application userid"},model:{value:n.username,callback:function(t){e.$set(n,"username",t)},expression:"formdata.username"}})],1),a("b-form-group",{attrs:{id:"input-group-pd",label:"CUCM Application User Password:","label-for":"input-pd"}},[a("b-form-input",{attrs:{id:"input-pd",required:"",type:"password",placeholder:"Enter password of above user."},model:{value:n.pd,callback:function(t){e.$set(n,"pd",t)},expression:"formdata.pd"}})],1),a("b-form-group",{attrs:{id:"input-group-ssl",label:"SSL Certificate"}},[a("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:n.ssl_verification,callback:function(t){e.$set(n,"ssl_verification",t)},expression:"formdata.ssl_verification"}},[e._v(" Verify SSL Certificate ")]),a("b-form-textarea",{attrs:{id:"textarea",placeholder:"Paste base64 certificate if using self signed or non-trusted CA",rows:"3","max-rows":"100"},model:{value:n.ssl_ca_trust_file,callback:function(t){e.$set(n,"ssl_ca_trust_file",t)},expression:"formdata.ssl_ca_trust_file"}})],1)]}}])})],1),a("b-card",[a("h3",[e._v("Sync Schedule")]),a("b-form-group",{attrs:{id:"cucm-sync-time-group",label:"CUCM Updates on the hour at:","label-for":"cucm-sync-time","label-cols":"auto"}},[a("b-form-spinbutton",{attrs:{id:"cucm-sync-time",min:"0",max:"59"},model:{value:e.settings.cucm_update_minute,callback:function(t){e.$set(e.settings,"cucm_update_minute",t)},expression:"settings.cucm_update_minute"}})],1),a("b-form-group",{attrs:{id:"phone-scrape-time-group",label:"Phone scrape runs daily at:","label-for":"phone-scrape-time","label-cols":"auto"}},[a("b-form-timepicker",{attrs:{locale:"en"},model:{value:e.settings.phonescrape_update_time,callback:function(t){e.$set(e.settings,"phonescrape_update_time",t)},expression:"settings.phonescrape_update_time"}})],1),a("b-button",{attrs:{variant:"primary"},on:{click:e.save_settings}},[e._v("Update Scheduler")]),a("p",[e._v("Manual updates can be triggered from the job status page")])],1),a("b-card",[a("h3",[e._v("CUCM Authorized Users")]),a("b-row",[a("b-col",[a("b-form-group",{attrs:{label:"Add new user"}},[a("b-form-input",{attrs:{placeholder:"Enter new CUCM user id"},model:{value:e.new_authorized_user,callback:function(t){e.new_authorized_user=t},expression:"new_authorized_user"}})],1)],1),a("b-col",[a("b-form-group",{attrs:{label:"Authorized CUCM Users"}},[a("b-form-select",{attrs:{options:e.authorized_cucm_users,multiple:"","select-size":4},model:{value:e.selected_authorized_cucm_users,callback:function(t){e.selected_authorized_cucm_users=t},expression:"selected_authorized_cucm_users"}})],1)],1)],1),a("b-row",[a("b-col",[a("b-button",{attrs:{variant:"primary"},on:{click:e.add_cucm_users}},[e._v("Add ->")])],1),a("b-col",[a("b-button",{attrs:{variant:"primary"},on:{click:e.remove_cucm_users}},[e._v("Remove")])],1)],1),a("br"),a("b-row",[a("p",[e._v("Note: Users in the Authorized CUCM Users list can login to this application using their CUCM credentials. The login will be authenticated against the first CUCM cluster defined above.")])])],1),"localadmin"==e.username?a("b-card",[a("h3",[e._v("Password Management")]),a("p",[e._v("You can login to this application using an end user from the first CUCM cluster or the 'localadmin' account. You can change the localadmin password below.")]),a("b-form-group",{attrs:{id:"current-localadmin-password-group",label:"current 'localadmin' password:","label-for":"current-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Enter current password"},model:{value:e.currentLocalAdminPassword,callback:function(t){e.currentLocalAdminPassword=t},expression:"currentLocalAdminPassword"}})],1),a("b-form-group",{attrs:{id:"new-localadmin-password-group",label:"new 'localadmin' password:","label-for":"new-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Enter new password"},model:{value:e.newLocalAdminPassword,callback:function(t){e.newLocalAdminPassword=t},expression:"newLocalAdminPassword"}})],1),a("b-form-group",{attrs:{id:"confirm-new-localadmin-password-group",label:" confirm new 'localadmin' password:","label-for":"confirm-new-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Confirm new password",state:e.passwordValidation,debounce:"1500"},model:{value:e.confirm_newLocalAdminPassword,callback:function(t){e.confirm_newLocalAdminPassword=t},expression:"confirm_newLocalAdminPassword"}}),a("b-form-invalid-feedback",[e._v("New passwords do not match")])],1),a("b-button",{attrs:{variant:"primary",disabled:e.newLocalAdminPassword!=e.confirm_newLocalAdminPassword||""==e.newLocalAdminPassword||""==e.currentLocalAdminPassword},on:{click:e.updatePassword}},[e._v("Update Password")]),a("p",[e._v("Do not lose this password. It will be needed if this server loses connection to CUCM cluster #1.")])],1):e._e()],1)},re=[],se=(a("4160"),a("c975"),a("a434"),a("159b"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return null!=e.tableData?a("div",[a("b-button",{staticClass:"mb-2",attrs:{variant:"primary",size:"sm"},on:{click:e.createItem}},[e._v("Create")]),0==e.tableData.length?a("b-alert",{attrs:{show:"",variant:"warning"}},[e._v("No Clusters are configured. Please configure a new CUCM cluster. Once a new CUCM cluster has been added you will need to sign out and then back into this server with a CUCM end user account.")]):a("b-table",{attrs:{striped:"",hover:"",items:e.tableData,fields:e.columns},scopedSlots:e._u([{key:"cell(action)",fn:function(t){return[a("b-button",{attrs:{variant:"primary",size:"sm"},on:{click:function(a){return e.editItem(t.item)}}},[e._v("Edit")]),a("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal",value:"edit-modal",expression:"'edit-modal'"}],attrs:{variant:"danger",size:"sm"},on:{click:function(a){return e.deleteItem(t.item)}}},[e._v("Delete")])]}}],null,!1,444826290)}),a("b-modal",{attrs:{title:e.formTitle,"hide-footer":"",size:"lg"},model:{value:e.modalShow,callback:function(t){e.modalShow=t},expression:"modalShow"}},[e.clusterChangeFailed?a("b-alert",{attrs:{show:"",variant:"danger"}},[e._v("Error encountering saving cluster. Please check settings/credentials and try again")]):e._e(),a("b-form",{on:{submit:function(t){return t.preventDefault(),e.save(t)}}},[e._t("input-fields",null,{formdata:e.editedItem}),a("b-button",{attrs:{size:"sm",variant:"danger"},on:{click:e.close}},[e._v(" Cancel ")]),a("b-button",{attrs:{type:"submit",size:"sm",variant:"primary"}},[e.clusterChangeInProgress?a("b-spinner",{attrs:{small:""}}):e._e(),e._v(" Save ")],1)],2)],1)],1):e._e()}),oe=[],ie={props:["endpoint","columns","formFields"],data:function(){return{editedItem:this.formFields,modalShow:!1,editedIndex:-1,tableData:null,clusterChangeFailed:!1,clusterChangeInProgress:!1}},computed:{formTitle:function(){return-1===this.editedIndex?"New Item":"Edit Item"},username:function(){return this.$store.getters.userName}},methods:{createItem:function(){this.modalShow=!0,this.editedItem=Object.assign({},this.formFields),this.editedIndex=-1},editItem:function(e){var t=this;this.modalShow=!0,this.editedIndex=this.tableData.indexOf(e),this.editedItem=Object.assign({},e),setTimeout((function(){t.load()}),2e3)},deleteItem:function(e){var t=this.tableData.indexOf(e);confirm("Are you sure you want to delete this item?")&&this.tableData.splice(t,1);var a=this;this.$http({method:"delete",url:this.endpoint+"/"+e.id,timeout:7500}).then((function(){a.load()}))},close:function(){var e=this;this.modalShow=!1,setTimeout((function(){e.editedItem=Object.assign({},e.formFields),e.editedIndex=-1}),300)},save:function(){var e=this;e.clusterChangeInProgress=!0,this.editedIndex>-1?(Object.assign(this.tableData[this.editedIndex],this.editedItem),this.$http({method:"put",url:this.endpoint+"/"+this.editedItem.id,data:this.editedItem,timeout:45e3}).then((function(t){e.clusterChangeInProgress=!1,"failed"==t.data.result?e.clusterChangeFailed=!0:(e.clusterChangeFailed=!1,e.$bvToast.toast("Cluster updated successfully",{title:"CUCM Cluster Settings",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}),e.close()),e.load()}))):(this.tableData.push(this.editedItem),this.$http({method:"post",url:this.endpoint,data:this.editedItem,timeout:45e3}).then((function(t){e.clusterChangeInProgress=!1,"failed"==t.data.result?(e.clusterChangeFailed=!0,e.load()):(e.clusterChangeFailed=!1,e.close(),e.$bvToast.toast("Cluster added successfully.",{title:"CUCM Cluster Settings",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}),e.load())})))},load:function(){var e=this;this.$http({method:"get",url:this.endpoint,timeout:5e3}).then((function(t){e.tableData=t.data}))},logOutUser:function(){this.$store.dispatch("logout")}},created:function(){this.load()}},le=ie,de=Object(h["a"])(le,se,oe,!1,null,null,null),ue=de.exports,ce={name:"Settings_Management",components:{CrudTable:ue},data:function(){return{cucmsyncminute:0,phonescrapetime:null,settings:{},new_authorized_user:"",authorized_cucm_users:[],selected_authorized_cucm_users:[],currentLocalAdminPassword:"",newLocalAdminPassword:"",confirm_newLocalAdminPassword:""}},mounted:function(){this.get_all_settings(),this.get_all_cucm_users()},computed:{username:function(){return this.$store.getters.userName},passwordValidation:function(){return""==this.newLocalAdminPassword||""==this.confirm_newLocalAdminPassword?null:this.confirm_newLocalAdminPassword==this.newLocalAdminPassword}},methods:{get_all_settings:function(){var e=this;this.$http({method:"get",url:"/settings_management/settings",timeout:7500}).then((function(t){t.data["cucm_update_minute"]=parseInt(t.data["cucm_update_minute"]),e.settings=t.data}))},save_settings:function(){var e=this;this.$http({method:"put",url:"/settings_management/settings",data:e.settings,timeout:7500}).then((function(t){t.data["cucm_update_minute"]=parseInt(t.data["cucm_update_minute"]),e.settings=t.data}))},get_all_cucm_users:function(){var e=this;this.$http({method:"get",url:"/settings_management/cucm_users",timeout:7500}).then((function(t){e.authorized_cucm_users=t.data}))},add_cucm_users:function(){var e=this;this.authorized_cucm_users.push(this.new_authorized_user),this.$http({method:"post",url:"/settings_management/cucm_users",data:{userid:e.new_authorized_user},timeout:7500}).then((function(){return e.get_all_cucm_users()})).catch((function(){return e.get_all_cucm_users()})),this.new_authorized_user=""},remove_cucm_users:function(){var e=this,t=this;this.selected_authorized_cucm_users.forEach((function(a){var n=t.authorized_cucm_users.indexOf(a);n>-1&&t.authorized_cucm_users.splice(n,1),e.$http({method:"delete",url:"/settings_management/cucm_users/"+a,timeout:7500}).then((function(){return t.get_all_cucm_users()})).catch((function(){return t.get_all_cucm_users()}))})),this.selected_authorized_cucm_users=[]},updatePassword:function(){var e=this;this.$http({method:"put",url:"/settings_management/updatepw",data:{current:e.currentLocalAdminPassword,new:e.newLocalAdminPassword},timeout:7500}).then((function(t){"Password successfully changed"==t.data.result?e.$bvToast.toast("The localadmin password has been changed successfully.",{title:"Password updated",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}):e.$bvToast.toast("Failed to change the localadmin password. Please try again.",{title:"Password update failed",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:12e3})}))}}},me=ce,he=Object(h["a"])(me,ne,re,!1,null,null,null),fe=he.exports,pe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[null!=e.jobstatus?a("table",{directives:[{name:"show",rawName:"v-show",value:e.jobstatus,expression:"jobstatus"}],staticClass:"table table-striped"},[e._m(0),a("tbody",e._l(e.jobstatus,(function(t,n){return a("tr",{key:n},[a("th",{attrs:{scope:"row"}},[e._v(e._s(t.jobname))]),a("td",[e._v(e._s(t.laststarttime))]),"phone scraper"==t.jobname&&"running job.."==t.result?a("td",[e._v(" "+e._s(t.result)+" [ "+e._s(e.rq_status.current_size)+" phones remaining ] ")]):a("td",[e._v(e._s(t.result))])])})),0)]):a("b-row",{attrs:{"align-h":"center"}},[a("b-spinner",{attrs:{label:"Loading..."}})],1),a("hr"),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.initiateManualSyncDataUpdate}},[e._v("Trigger CUCM sync")]),a("b-button",{on:{click:e.loadJobStatusData}},[e._v("Refresh")]),a("b-button",{on:{click:e.initiateManualPhoneScrapeUpdate}},[e._v("Trigger Phone Scraping")])],1),a("b-row",{attrs:{"align-h":"center"}},[a("p",[e._v("Only one background job will run at a time. Attempts to trigger a manual update while another task is running will be ignored.")])])],1)},be=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("thead",[a("tr",[a("th",[e._v("Name")]),a("th",[e._v("Last Start")]),a("th",[e._v("Result")])])])}],ge={name:"Job_Status",data:function(){return{jobstatus:null,rq_status:Object}},mounted:function(){this.loadJobStatusData()},methods:{loadJobStatusData:function(){var e=this;this.$http({method:"get",url:"/phonedata/jobstatus",timeout:5e3}).then((function(t){e.jobstatus=t.data.Job_Status,e.rq_status=t.data.RQ_Status})).catch((function(e){console.log(e)}))},initiateManualPhoneScrapeUpdate:function(){var e=this;this.$http({method:"get",url:"/phonedata/initiate_phone_scrape_now",timeout:5e3}).then((function(){e.$bvToast.toast("manual phone scrape has been triggered",{title:"Sync Data",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3})})).catch((function(t){console.log(t),e.$bvToast.toast("manual phone scrape has failed",{title:"Sync Data",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:5e3})}))},initiateManualSyncDataUpdate:function(){var e=this;this.$http({method:"get",url:"/phonedata/poll_cucm_now",timeout:5e3}).then((function(){e.$bvToast.toast("manual sync has been triggered",{title:"Sync Data",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3})})).catch((function(t){console.log(t),e.$bvToast.toast("manual sync has failed",{title:"Sync Data",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:5e3})}))}}},_e=ge,ve=Object(h["a"])(_e,pe,be,!1,null,null,null),ye=ve.exports,we={name:"App",data:function(){return{MenuTabs:["Phone Info","Phone Scraper","Phone Combined","Settings Management","Job Status"],NavSelection:""}},components:{Header:v,Login:P,MainNavbar:I,Phone_Info:Y,Phone_Scraper:Q,Phone_Combined:ae,Settings_Management:fe,Job_Status:ye,IdleTimeout:N},methods:{navChangeTop:function(e){this.NavSelection=e.replace(" ","_")},localadminLogin:function(){""==this.NavSelection&&(this.NavSelection="Settings_Management")}},computed:{isLoggedIn:function(){return this.$store.getters.isLoggedIn},username:function(){return this.$store.getters.userName},isIdle:function(){return this.$store.state.idleVue.isIdle}},updated:function(){this.isLoggedIn&&"localadmin"==this.username&&this.localadminLogin()}},je=we,Ce=Object(h["a"])(je,s,o,!1,null,null,null),Oe=Ce.exports,Pe=a("5f5b"),De=a("bc3a"),Se=a.n(De);n["default"].use(r["a"]);var ke=new r["a"].Store({state:{status:"",token:"",username:""},mutations:{auth_request:function(e){e.status="loading"},auth_success:function(e,t){e.status="success",e.token=t.token,e.username=t.username},auth_error:function(e){e.status="error"},logout:function(e){e.status="",e.token="",e.username=""}},actions:{login:function(e,t){var a=e.commit;return new Promise((function(e,r){var s=new FormData;s.set("username",t.user_id),s.set("password",t.password),a("auth_request"),Se()({baseURL:"",url:"/auth/get_token",data:s,method:"POST"}).then((function(t){var r=t.data.access_token,s=t.data.user_name;console.log("username is "+s),n["default"].prototype.$http.defaults.headers.common["Authorization"]="Bearer "+r,a("auth_success",{token:r,username:s}),e(t)})).catch((function(e){a("auth_error"),r(e)}))}))},logout:function(e){var t=e.commit;return new Promise((function(e){n["default"].prototype.$http.defaults.headers.common["Authorization"]="",t("logout"),e()}))}},getters:{isLoggedIn:function(e){return!!e.token},authStatus:function(e){return e.status},userName:function(e){return e.username},token:function(e){return e.token}}}),Le=a("dcb8"),xe=a.n(Le);a("f9e3"),a("2dd8");n["default"].config.productionTip=!1,n["default"].use(Pe["a"]),n["default"].prototype.$http=Se.a.create({baseURL:"",timeout:5e3}),n["default"].prototype.$http.interceptors.response.use((function(e){return e}),(function(e){if(console.log("http intercepter error code "+e.response.status),401!==e.response.status)return Promise.reject(e);console.log("logging user out due to 401"),ke.commit("logout")})),n["default"].use(r["a"]);var Ie=new n["default"];n["default"].use(xe.a,{eventEmitter:Ie,store:ke,idleTime:18e5,startAtIdle:!1}),new n["default"]({store:ke,render:function(e){return e(Oe)}}).$mount("#app")}}); +//# sourceMappingURL=app.8a0493b3.js.map \ No newline at end of file diff --git a/client/dist/js/app.8a0493b3.js.map b/client/dist/js/app.8a0493b3.js.map new file mode 100644 index 0000000..4e6231c --- /dev/null +++ b/client/dist/js/app.8a0493b3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?7d77","webpack:///./src/components/Header.vue?c153","webpack:///./src/components/auth/Logout.vue?d4e4","webpack:///src/components/auth/Logout.vue","webpack:///./src/components/auth/Logout.vue?ceef","webpack:///./src/components/auth/Logout.vue","webpack:///src/components/Header.vue","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue","webpack:///./src/components/auth/Login.vue?706a","webpack:///src/components/auth/Login.vue","webpack:///./src/components/auth/Login.vue?38a8","webpack:///./src/components/auth/Login.vue","webpack:///./src/components/MainNavbar.vue?2270","webpack:///src/components/MainNavbar.vue","webpack:///./src/components/MainNavbar.vue?42a8","webpack:///./src/components/MainNavbar.vue","webpack:///./src/components/Idle_Timeout.vue?76da","webpack:///src/components/Idle_Timeout.vue","webpack:///./src/components/Idle_Timeout.vue?0fe0","webpack:///./src/components/Idle_Timeout.vue","webpack:///./src/components/Phone_Info.vue?1d36","webpack:///src/components/Phone_Info.vue","webpack:///./src/components/Phone_Info.vue?be53","webpack:///./src/components/Phone_Info.vue","webpack:///./src/components/Phone_Scraper.vue?0ccd","webpack:///src/components/Phone_Scraper.vue","webpack:///./src/components/Phone_Scraper.vue?60a1","webpack:///./src/components/Phone_Scraper.vue","webpack:///./src/components/Phone_Combined.vue?2605","webpack:///src/components/Phone_Combined.vue","webpack:///./src/components/Phone_Combined.vue?ba6f","webpack:///./src/components/Phone_Combined.vue","webpack:///./src/components/Settings_Management.vue?fbe4","webpack:///./src/components/crud-table.vue?8322","webpack:///src/components/crud-table.vue","webpack:///./src/components/crud-table.vue?c26f","webpack:///./src/components/crud-table.vue","webpack:///src/components/Settings_Management.vue","webpack:///./src/components/Settings_Management.vue?540b","webpack:///./src/components/Settings_Management.vue","webpack:///./src/components/Job_Status.vue?3af4","webpack:///src/components/Job_Status.vue","webpack:///./src/components/Job_Status.vue?ad2c","webpack:///./src/components/Job_Status.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store.js","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","_vm","this","_h","$createElement","_c","_self","attrs","username","isLoggedIn","isIdle","_e","MenuTabs","on","$event","navChangeTop","NavSelection","tag","staticClass","staticRenderFns","_v","$parent","_s","logout","component","components","Logout","props","String","staticStyle","preventDefault","login","directives","rawName","expression","domProps","target","composing","user_id","password","_l","tab","click","replace","time","methods","$store","dispatch","created","vm","state","idleVue","clearInterval","timerId","rowData","ref","hotSettings","exportToCsv","refreshGrid","label","cluster_name","server","version","pd","ssl_verification","ssl_ca_trust_file_data","scopedSlots","_u","fn","formdata","model","callback","$$v","$set","settings","save_settings","new_authorized_user","authorized_cucm_users","selected_authorized_cucm_users","add_cucm_users","remove_cucm_users","currentLocalAdminPassword","newLocalAdminPassword","passwordValidation","confirm_newLocalAdminPassword","updatePassword","tableData","createItem","columns","editItem","item","deleteItem","formTitle","modalShow","save","_t","editedItem","close","jobstatus","_m","jobname","laststarttime","rq_status","current_size","initiateManualSyncDataUpdate","loadJobStatusData","initiateManualPhoneScrapeUpdate","Header","Login","MainNavbar","Phone_Info","Phone_Scraper","Phone_Combined","Settings_Management","Job_Status","IdleTimeout","localadminLogin","computed","getters","userName","updated","Vue","use","Vuex","Store","status","token","mutations","auth_request","auth_success","auth_error","actions","user","commit","Promise","reject","LoginFormData","FormData","set","axios","baseURL","process","url","method","then","resp","access_token","user_name","console","log","$http","defaults","headers","common","catch","err","authStatus","config","productionTip","BootstrapVue","timeout","interceptors","response","error","store","eventsHub","IdleVue","eventEmitter","idleTime","startAtIdle","render","h","App","$mount"],"mappings":"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CX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW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","file":"js/app.8a0493b3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/home/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header',{attrs:{\"username\":_vm.username}}),(_vm.isLoggedIn && _vm.isIdle)?_c('IdleTimeout'):_vm._e(),(_vm.isLoggedIn)?_c('div',[_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('MainNavbar',{attrs:{\"MenuTabs\":_vm.MenuTabs},on:{\"nav-selection\":function($event){return _vm.navChangeTop($event)}}})],1),_c('b-row',[_c('b-col',[_c(_vm.NavSelection,{tag:\"component\"})],1)],1)],1)],1):_c('div',[_c('Login',{staticClass:\"mx-auto\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"header\"}},[_c('b-container',{staticClass:\"bg-secondary text-white\",attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('h2',{staticClass:\"mx-auto\"},[_vm._v(\"VOIP Phone Info Server\")])]),_c('b-row',[(this.$parent.isLoggedIn)?_c('div',[_vm._v(\"User \"+_vm._s(_vm.username)+\" logged-in\")]):_vm._e()]),_c('b-row',[(this.$parent.isLoggedIn)?_c('Logout'):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-link',{staticClass:\"text-white\",on:{\"click\":_vm.logout}},[_vm._v(\"Logout\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logout.vue?vue&type=template&id=518ef7c0&\"\nimport script from \"./Logout.vue?vue&type=script&lang=js&\"\nexport * from \"./Logout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=192a8270&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"mb-2\",staticStyle:{\"max-width\":\"20rem\"},attrs:{\"title\":\"Login\"}},[_c('form',{staticClass:\"login\",on:{\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('label',[_vm._v(\"User ID\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_id),expression:\"user_id\"}],attrs:{\"required\":\"\",\"autocomplete\":\"username\",\"type\":\"string\"},domProps:{\"value\":(_vm.user_id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.user_id=$event.target.value}}}),_c('label',[_vm._v(\"Password\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"required\":\"\",\"autocomplete\":\"current-password\",\"type\":\"password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_c('hr'),_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(\"Login\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=f89e2ce0&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-nav',{attrs:{\"tabs\":\"\"}},_vm._l((_vm.MenuTabs),function(tab){return _c('b-nav-item',{key:tab,on:{\"click\":function($event){return _vm.click(tab)}}},[_vm._v(\" \"+_vm._s(tab.replace(/_/g, \" \"))+\" \")])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNavbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNavbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainNavbar.vue?vue&type=template&id=f000cc5e&\"\nimport script from \"./MainNavbar.vue?vue&type=script&lang=js&\"\nexport * from \"./MainNavbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-toast',{attrs:{\"toaster\":\"b-toaster-top-center\",\"id\":\"example-toast\",\"title\":\"Your session is about to expire.\",\"variant\":\"warning\",\"no-auto-hide\":\"\",\"visible\":\"\",\"solid\":\"\"}},[_vm._v(\" You are being timed out due to inactivity. You will be logged off automatically in \"+_vm._s(_vm.time)+\" seconds. \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Idle_Timeout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Idle_Timeout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Idle_Timeout.vue?vue&type=template&id=00d648d3&\"\nimport script from \"./Idle_Timeout.vue?vue&type=script&lang=js&\"\nexport * from \"./Idle_Timeout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loadingData)?_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1)],1):_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[(_vm.rowData.length > 0)?_c('div',{staticStyle:{\"height\":\"100% display: flex\",\"flex-direction\":\"row overflow: hidden\",\"flex-grow\":\"1\"}},[_c('hot-table',{ref:\"hotTableComponent\",attrs:{\"settings\":_vm.hotSettings,\"data\":_vm.rowData}})],1):_c('div',[_c('p',[_vm._v(\"There is no data in the database. Please run a manual sync from the Job Status tab.\")])]),_c('hr')]),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.exportToCsv}},[_vm._v(\"Download as CSV\")]),_c('p'),_c('b-button',{on:{\"click\":_vm.refreshGrid}},[_vm._v(\"Refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phone_Info.vue?vue&type=template&id=2bfc9aa8&\"\nimport script from \"./Phone_Info.vue?vue&type=script&lang=js&\"\nexport * from \"./Phone_Info.vue?vue&type=script&lang=js&\"\nimport style0 from \"../../node_modules/handsontable/dist/handsontable.full.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loadingData)?_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1)],1):_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[(_vm.rowData.length > 0)?_c('div',{staticStyle:{\"height\":\"100% display: flex\",\"flex-direction\":\"row overflow: hidden\",\"flex-grow\":\"1\"}},[_c('hot-table',{ref:\"hotTableComponent\",attrs:{\"settings\":_vm.hotSettings,\"data\":_vm.rowData}})],1):_c('div',[_c('p',[_vm._v(\"There is no data in the database. Please run a manual sync from the Job Status tab.\")])]),_c('hr')]),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.exportToCsv}},[_vm._v(\"Download as CSV\")]),_c('p'),_c('b-button',{on:{\"click\":_vm.refreshGrid}},[_vm._v(\"Refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Scraper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Scraper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phone_Scraper.vue?vue&type=template&id=81126f4c&\"\nimport script from \"./Phone_Scraper.vue?vue&type=script&lang=js&\"\nexport * from \"./Phone_Scraper.vue?vue&type=script&lang=js&\"\nimport style0 from \"../../node_modules/handsontable/dist/handsontable.full.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loadingData)?_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1)],1):_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[(_vm.rowData.length > 0)?_c('div',{staticStyle:{\"height\":\"100% display: flex\",\"flex-direction\":\"row overflow: hidden\",\"flex-grow\":\"1\"}},[_c('hot-table',{ref:\"hotTableComponent\",attrs:{\"settings\":_vm.hotSettings,\"data\":_vm.rowData}})],1):_c('div',[_c('p',[_vm._v(\"There is no data in the database. Please run a manual sync from the Job Status tab.\")])]),_c('hr')]),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.exportToCsv}},[_vm._v(\"Download as CSV\")]),_c('p'),_c('b-button',{on:{\"click\":_vm.refreshGrid}},[_vm._v(\"Refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Combined.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Combined.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phone_Combined.vue?vue&type=template&id=613ebbf5&\"\nimport script from \"./Phone_Combined.vue?vue&type=script&lang=js&\"\nexport * from \"./Phone_Combined.vue?vue&type=script&lang=js&\"\nimport style0 from \"../../node_modules/handsontable/dist/handsontable.full.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h3',[_vm._v(\"CUCM Clusters\")]),_c('p',[_vm._v(\"Please use dedicated CUCM App users for this server\")]),_c('crud-table',{attrs:{\"endpoint\":\"/settings_management/cucm\",\"columns\":[\n {key: 'cluster_name', label: 'Cluster Name'},\n {key: 'server', label: 'Server'},\n {key: 'version', label: 'Version'},\n {key: 'username', label: 'Username'},\n {key: 'ssl_verification', label: 'SSL Verification'},\n {key: 'action', label: 'Action'} ],\"form-fields\":{\n cluster_name: '',\n server: '',\n version: '',\n username: '',\n pd: '',\n ssl_verification: false,\n ssl_ca_trust_file_data: null\n }},scopedSlots:_vm._u([{key:\"input-fields\",fn:function(ref){\n var formdata = ref.formdata;\nreturn [_c('b-form-group',{attrs:{\"id\":\"input-group-2\",\"label\":\"Cluster Name:\",\"label-for\":\"input-name\"}},[_c('b-form-input',{attrs:{\"id\":\"input-name\",\"required\":\"\",\"placeholder\":\"Enter cluster friendly name (e.g. Cluster1 )\"},model:{value:(formdata.cluster_name),callback:function ($$v) {_vm.$set(formdata, \"cluster_name\", $$v)},expression:\"formdata.cluster_name\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-server\",\"label\":\"CUCM (AXL) Server:\",\"label-for\":\"input-server\"}},[_c('b-form-input',{attrs:{\"id\":\"input-server\",\"required\":\"\",\"placeholder\":\"Enter CUCM publisher (e.g. cucm1.cisco.com )\"},model:{value:(formdata.server),callback:function ($$v) {_vm.$set(formdata, \"server\", $$v)},expression:\"formdata.server\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-version\",\"label\":\"CUCM Version:\",\"label-for\":\"input-version\"}},[_c('b-form-select',{attrs:{\"options\":['10.5','11.0','11.5','12.0','12.5']},model:{value:(formdata.version),callback:function ($$v) {_vm.$set(formdata, \"version\", $$v)},expression:\"formdata.version\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-username\",\"label\":\"CUCM Application User Username:\",\"label-for\":\"input-username\"}},[_c('b-form-input',{attrs:{\"id\":\"input-username\",\"required\":\"\",\"placeholder\":\"Enter CUCM application userid\"},model:{value:(formdata.username),callback:function ($$v) {_vm.$set(formdata, \"username\", $$v)},expression:\"formdata.username\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-pd\",\"label\":\"CUCM Application User Password:\",\"label-for\":\"input-pd\"}},[_c('b-form-input',{attrs:{\"id\":\"input-pd\",\"required\":\"\",\"type\":\"password\",\"placeholder\":\"Enter password of above user.\"},model:{value:(formdata.pd),callback:function ($$v) {_vm.$set(formdata, \"pd\", $$v)},expression:\"formdata.pd\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-ssl\",\"label\":\"SSL Certificate\"}},[_c('b-form-checkbox',{attrs:{\"name\":\"check-button\",\"switch\":\"\"},model:{value:(formdata.ssl_verification),callback:function ($$v) {_vm.$set(formdata, \"ssl_verification\", $$v)},expression:\"formdata.ssl_verification\"}},[_vm._v(\" Verify SSL Certificate \")]),_c('b-form-textarea',{attrs:{\"id\":\"textarea\",\"placeholder\":\"Paste base64 certificate if using self signed or non-trusted CA\",\"rows\":\"3\",\"max-rows\":\"100\"},model:{value:(formdata.ssl_ca_trust_file),callback:function ($$v) {_vm.$set(formdata, \"ssl_ca_trust_file\", $$v)},expression:\"formdata.ssl_ca_trust_file\"}})],1)]}}])})],1),_c('b-card',[_c('h3',[_vm._v(\"Sync Schedule\")]),_c('b-form-group',{attrs:{\"id\":\"cucm-sync-time-group\",\"label\":\"CUCM Updates on the hour at:\",\"label-for\":\"cucm-sync-time\",\"label-cols\":\"auto\"}},[_c('b-form-spinbutton',{attrs:{\"id\":\"cucm-sync-time\",\"min\":\"0\",\"max\":\"59\"},model:{value:(_vm.settings.cucm_update_minute),callback:function ($$v) {_vm.$set(_vm.settings, \"cucm_update_minute\", $$v)},expression:\"settings.cucm_update_minute\"}})],1),_c('b-form-group',{attrs:{\"id\":\"phone-scrape-time-group\",\"label\":\"Phone scrape runs daily at:\",\"label-for\":\"phone-scrape-time\",\"label-cols\":\"auto\"}},[_c('b-form-timepicker',{attrs:{\"locale\":\"en\"},model:{value:(_vm.settings.phonescrape_update_time),callback:function ($$v) {_vm.$set(_vm.settings, \"phonescrape_update_time\", $$v)},expression:\"settings.phonescrape_update_time\"}})],1),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.save_settings}},[_vm._v(\"Update Scheduler\")]),_c('p',[_vm._v(\"Manual updates can be triggered from the job status page\")])],1),_c('b-card',[_c('h3',[_vm._v(\"CUCM Authorized Users\")]),_c('b-row',[_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"Add new user\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Enter new CUCM user id\"},model:{value:(_vm.new_authorized_user),callback:function ($$v) {_vm.new_authorized_user=$$v},expression:\"new_authorized_user\"}})],1)],1),_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"Authorized CUCM Users\"}},[_c('b-form-select',{attrs:{\"options\":_vm.authorized_cucm_users,\"multiple\":\"\",\"select-size\":4},model:{value:(_vm.selected_authorized_cucm_users),callback:function ($$v) {_vm.selected_authorized_cucm_users=$$v},expression:\"selected_authorized_cucm_users\"}})],1)],1)],1),_c('b-row',[_c('b-col',[_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.add_cucm_users}},[_vm._v(\"Add ->\")])],1),_c('b-col',[_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.remove_cucm_users}},[_vm._v(\"Remove\")])],1)],1),_c('br'),_c('b-row',[_c('p',[_vm._v(\"Note: Users in the Authorized CUCM Users list can login to this application using their CUCM credentials. The login will be authenticated against the first CUCM cluster defined above.\")])])],1),(_vm.username=='localadmin')?_c('b-card',[_c('h3',[_vm._v(\"Password Management\")]),_c('p',[_vm._v(\"You can login to this application using an end user from the first CUCM cluster or the 'localadmin' account. You can change the localadmin password below.\")]),_c('b-form-group',{attrs:{\"id\":\"current-localadmin-password-group\",\"label\":\"current 'localadmin' password:\",\"label-for\":\"current-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Enter current password\"},model:{value:(_vm.currentLocalAdminPassword),callback:function ($$v) {_vm.currentLocalAdminPassword=$$v},expression:\"currentLocalAdminPassword\"}})],1),_c('b-form-group',{attrs:{\"id\":\"new-localadmin-password-group\",\"label\":\"new 'localadmin' password:\",\"label-for\":\"new-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Enter new password\"},model:{value:(_vm.newLocalAdminPassword),callback:function ($$v) {_vm.newLocalAdminPassword=$$v},expression:\"newLocalAdminPassword\"}})],1),_c('b-form-group',{attrs:{\"id\":\"confirm-new-localadmin-password-group\",\"label\":\" confirm new 'localadmin' password:\",\"label-for\":\"confirm-new-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Confirm new password\",\"state\":_vm.passwordValidation,\"debounce\":\"1500\"},model:{value:(_vm.confirm_newLocalAdminPassword),callback:function ($$v) {_vm.confirm_newLocalAdminPassword=$$v},expression:\"confirm_newLocalAdminPassword\"}}),_c('b-form-invalid-feedback',[_vm._v(\"New passwords do not match\")])],1),_c('b-button',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.newLocalAdminPassword != _vm.confirm_newLocalAdminPassword || _vm.newLocalAdminPassword == '' || _vm.currentLocalAdminPassword == ''},on:{\"click\":_vm.updatePassword}},[_vm._v(\"Update Password\")]),_c('p',[_vm._v(\"Do not lose this password. It will be needed if this server loses connection to CUCM cluster #1.\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.tableData != null)?_c('div',[_c('b-button',{staticClass:\"mb-2\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.createItem}},[_vm._v(\"Create\")]),(_vm.tableData.length == 0)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"warning\"}},[_vm._v(\"No Clusters are configured. Please configure a new CUCM cluster. Once a new CUCM cluster has been added you will need to sign out and then back into this server with a CUCM end user account.\")]):_c('b-table',{attrs:{\"striped\":\"\",\"hover\":\"\",\"items\":_vm.tableData,\"fields\":_vm.columns},scopedSlots:_vm._u([{key:\"cell(action)\",fn:function(data){return [_c('b-button',{attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.editItem(data.item)}}},[_vm._v(\"Edit\")]),_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('edit-modal'),expression:\"'edit-modal'\"}],attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.deleteItem(data.item)}}},[_vm._v(\"Delete\")])]}}],null,false,444826290)}),_c('b-modal',{attrs:{\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},model:{value:(_vm.modalShow),callback:function ($$v) {_vm.modalShow=$$v},expression:\"modalShow\"}},[(_vm.clusterChangeFailed)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"danger\"}},[_vm._v(\"Error encountering saving cluster. Please check settings/credentials and try again\")]):_vm._e(),_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.save($event)}}},[_vm._t(\"input-fields\",null,{\"formdata\":_vm.editedItem}),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.close}},[_vm._v(\" Cancel \")]),_c('b-button',{attrs:{\"type\":\"submit\",\"size\":\"sm\",\"variant\":\"primary\"}},[(_vm.clusterChangeInProgress)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Save \")],1)],2)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./crud-table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./crud-table.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./crud-table.vue?vue&type=template&id=0aafadc8&\"\nimport script from \"./crud-table.vue?vue&type=script&lang=js&\"\nexport * from \"./crud-table.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings_Management.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings_Management.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings_Management.vue?vue&type=template&id=2dc847cb&\"\nimport script from \"./Settings_Management.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings_Management.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.jobstatus != null)?_c('table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.jobstatus),expression:\"jobstatus\"}],staticClass:\"table table-striped\"},[_vm._m(0),_c('tbody',_vm._l((_vm.jobstatus),function(item,i){return _c('tr',{key:i},[_c('th',{attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(item.jobname))]),_c('td',[_vm._v(_vm._s(item.laststarttime))]),(item.jobname == 'phone scraper' && item.result=='running job..')?_c('td',[_vm._v(\" \"+_vm._s(item.result)+\" [ \"+_vm._s(_vm.rq_status.current_size)+\" phones remaining ] \")]):_c('td',[_vm._v(_vm._s(item.result))])])}),0)]):_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1),_c('hr'),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.initiateManualSyncDataUpdate}},[_vm._v(\"Trigger CUCM sync\")]),_c('b-button',{on:{\"click\":_vm.loadJobStatusData}},[_vm._v(\"Refresh\")]),_c('b-button',{on:{\"click\":_vm.initiateManualPhoneScrapeUpdate}},[_vm._v(\"Trigger Phone Scraping\")])],1),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('p',[_vm._v(\"Only one background job will run at a time. Attempts to trigger a manual update while another task is running will be ignored.\")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Last Start\")]),_c('th',[_vm._v(\"Result\")])])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Job_Status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Job_Status.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Job_Status.vue?vue&type=template&id=14b8d92d&\"\nimport script from \"./Job_Status.vue?vue&type=script&lang=js&\"\nexport * from \"./Job_Status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7cfeeb81&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport axios from 'axios'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n status: '',\n token: '',\n username: ''\n },\n mutations: {\n auth_request(state) {\n state.status = 'loading'\n },\n auth_success(state, object) {\n state.status = 'success'\n state.token = object.token\n state.username = object.username\n },\n auth_error(state) {\n state.status = 'error'\n },\n logout(state) {\n state.status = ''\n state.token = ''\n state.username = ''\n },\n },\n actions: {\n login({ commit }, user) {\n return new Promise((resolve, reject) => {\n\n var LoginFormData = new FormData();\n LoginFormData.set('username', user.user_id);\n LoginFormData.set('password', user.password);\n\n commit('auth_request')\n axios({\n baseURL: process.env.VUE_APP_API_ROOT,\n url: '/auth/get_token', \n data: LoginFormData, \n method: 'POST' })\n .then(resp => {\n const token = resp.data.access_token\n const username = resp.data.user_name\n console.log(\"username is \" + username);\n Vue.prototype.$http.defaults.headers.common['Authorization'] = \"Bearer \" + token\n commit('auth_success', {token: token, username: username})\n resolve(resp)\n })\n .catch(err => {\n commit('auth_error')\n reject(err)\n })\n })\n },\n logout({ commit }) {\n return new Promise((resolve) => {\n Vue.prototype.$http.defaults.headers.common['Authorization'] = \"\"\n commit('logout')\n resolve()\n })\n }\n },\n getters: {\n isLoggedIn: state => !!state.token,\n authStatus: state => state.status,\n userName: state => state.username,\n token: state => state.token\n }\n})","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport App from './App.vue'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport store from './store'\nimport axios from 'axios'\nimport IdleVue from \"idle-vue\";\n\nVue.config.productionTip = false\n\nVue.use(BootstrapVue)\n\nVue.prototype.$http = axios.create({\n baseURL: process.env.VUE_APP_API_ROOT,\n timeout: 5000, // indicates, 1000ms ie. 1 second\n });\n\nVue.prototype.$http.interceptors.response.use(function (response) {\n return response;\n}, function (error) {\n console.log('http intercepter error code ' + error.response.status);\n if (401 === error.response.status) {\n console.log(\"logging user out due to 401\");\n store.commit('logout')\n } else {\n return Promise.reject(error);\n }\n});\n\nimport 'bootstrap/dist/css/bootstrap.css'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\nVue.use(Vuex)\n\nconst eventsHub = new Vue();\n\nVue.use(IdleVue, {\n eventEmitter: eventsHub,\n store,\n idleTime: 1800000, // 3 seconds,\n startAtIdle: false\n});\n\nnew Vue({\n store,\n render: h => h(App),\n}).$mount('#app')\n"],"sourceRoot":""} \ No newline at end of file diff --git a/client/dist/js/app.bc0484fe.js b/client/dist/js/app.bc0484fe.js deleted file mode 100644 index 7cff51c..0000000 --- a/client/dist/js/app.bc0484fe.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var n,o,i=t[0],l=t[1],u=t[2],c=0,m=[];c0?a("div",{staticStyle:{height:"100% display: flex","flex-direction":"row overflow: hidden","flex-grow":"1"}},[a("hot-table",{ref:"hotTableComponent",attrs:{settings:e.hotSettings,data:e.rowData}})],1):a("div",[a("p",[e._v("There is no data in the database. Please run a manual sync from the Job Status tab.")])]),a("hr")]),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.exportToCsv}},[e._v("Download as CSV")]),a("p"),a("b-button",{on:{click:e.refreshGrid}},[e._v("Refresh")])],1)],1)])},E=[],F=a("3c78"),H={name:"Phone_Info",data:function(){return{hotSettings:{licenseKey:"non-commercial-and-evaluation",autoRowSize:!1,height:600,autoColumnSize:!0,manualColumnResize:!0,manualColumnMove:!0,fixedColumnsLeft:1,manualColumnFreeze:!0,filters:!0,dropdownMenu:["remove_col","filter_by_condition","filter_action_bar"],columnSorting:!0,colHeaders:["Name","Pool","CSS","Description","Firmware","IPv4","Protocol","Model","First Seen","Last Seen","Regstamp","Cluster","EM Profile","EM Time"],columns:[{data:"dname",readOnly:!0},{data:"dpool",readOnly:!0},{data:"dcss",readOnly:!0},{data:"descr",readOnly:!0},{data:"fw",readOnly:!0},{data:"ipv4",readOnly:!0},{data:"prot",readOnly:!0},{data:"model",readOnly:!0},{data:"fdate",readOnly:!0},{data:"ldate",readOnly:!0},{data:"regstamp",readOnly:!0},{data:"cluster",readOnly:!0},{data:"em_profile",readOnly:!0},{data:"em_time",readOnly:!0}]},rowData:[],loadingData:!1}},components:{HotTable:F["a"]},beforeMount:function(){},mounted:function(){this.loadData()},methods:{reSizeColumns:function(e){console.log(e)},exportToCsv:function(){console.log("exporting to csv");var e=this.$refs.hotTableComponent.hotInstance.getPlugin("exportFile");e.downloadFile("csv",{columnHeaders:!0,columnDelimiter:",",fileExtension:"csv",filename:"Phone-Info-CSV-file_[YYYY]-[MM]-[DD]",mimeType:"text/csv"})},loadData:function(){var e=this;e.loadingData=!0,this.$http({method:"get",url:"/phonedata/info",timeout:15e3}).then((function(t){e.rowData=t.data,e.loadingData=!1})).catch((function(t){console.log(t),e.loadingData=!1}))},refreshGrid:function(){this.loadData()}}},R=H,V=(a("6378"),Object(f["a"])(R,N,E,!1,null,null,null)),q=V.exports,Y=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e.loadingData?a("div",[a("b-row",{attrs:{"align-h":"center"}},[a("b-spinner",{attrs:{label:"Loading..."}})],1)],1):a("div",[a("b-row",{attrs:{"align-h":"center"}},[e.rowData.length>0?a("div",{staticStyle:{height:"100% display: flex","flex-direction":"row overflow: hidden","flex-grow":"1"}},[a("hot-table",{ref:"hotTableComponent",attrs:{settings:e.hotSettings,data:e.rowData}})],1):a("div",[a("p",[e._v("There is no data in the database. Please run a manual sync from the Job Status tab.")])]),a("hr")]),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.exportToCsv}},[e._v("Download as CSV")]),a("p"),a("b-button",{on:{click:e.refreshGrid}},[e._v("Refresh")])],1)],1)])},J=[],G={name:"Phone_Scraper",data:function(){return{hotSettings:{licenseKey:"non-commercial-and-evaluation",autoRowSize:!1,height:600,autoColumnSize:!0,manualColumnResize:!0,manualColumnMove:!0,fixedColumnsLeft:1,manualColumnFreeze:!0,filters:!0,dropdownMenu:["remove_col","filter_by_condition","filter_action_bar"],columnSorting:!0,colHeaders:["Name","Model","IPv4","Serial","Firmware","DN","kem1","kem2","Subnet","Gateway","DHCP","DHCP Server","Domain","DNS1","DNS2","Alt TFTP","TFTP 1","TFTP 2","op_vlan","admin_vlan","CDP Host","CDP IP","CDP Port","LLDP Port","LLDP Port","LLDP Port","CUCM 1","CUCM 2","CUCM 3","CUCM 4","CUCM 5","Info URL","Dir URL","SVC URL","IDLR URL","Info URL Time","Proxy URL","Auth URL","TVS","ITL","Last Scraped"],columns:[{data:"devicename",readOnly:!0},{data:"model",readOnly:!0},{data:"ip_address",readOnly:!0},{data:"sn",readOnly:!0},{data:"firmware",readOnly:!0},{data:"dn",readOnly:!0},{data:"kem1",readOnly:!0},{data:"kem2",readOnly:!0},{data:"subnetmask",readOnly:!0},{data:"gateway",readOnly:!0},{data:"dhcp",readOnly:!0},{data:"dhcp_server",readOnly:!0},{data:"domain_name",readOnly:!0},{data:"dns1",readOnly:!0},{data:"dns2",readOnly:!0},{data:"alt_tftp",readOnly:!0},{data:"tftp1",readOnly:!0},{data:"tftp2",readOnly:!0},{data:"op_vlan",readOnly:!0},{data:"admin_vlan",readOnly:!0},{data:"CDP_Neighbor_ID",readOnly:!0},{data:"CDP_Neighbor_IP",readOnly:!0},{data:"CDP_Neighbor_Port",readOnly:!0},{data:"LLDP_Neighbor_ID",readOnly:!0},{data:"LLDP_Neighbor_IP",readOnly:!0},{data:"LLDP_Neighbor_Port",readOnly:!0},{data:"cucm1",readOnly:!0},{data:"cucm2",readOnly:!0},{data:"cucm3",readOnly:!0},{data:"cucm4",readOnly:!0},{data:"cucm5",readOnly:!0},{data:"info_url",readOnly:!0},{data:"dir_url",readOnly:!0},{data:"svc_url",readOnly:!0},{data:"idle_url",readOnly:!0},{data:"info_url_time",readOnly:!0},{data:"proxy_url",readOnly:!0},{data:"auth_url",readOnly:!0},{data:"tvs",readOnly:!0},{data:"ITL",readOnly:!0},{data:"date_modified",readOnly:!0}]},rowData:[],loadingData:!1}},components:{HotTable:F["a"]},beforeMount:function(){},mounted:function(){this.loadData()},methods:{reSizeColumns:function(e){console.log(e)},exportToCsv:function(){console.log("exporting to csv");var e=this.$refs.hotTableComponent.hotInstance.getPlugin("exportFile");e.downloadFile("csv",{columnHeaders:!0,columnDelimiter:",",fileExtension:"csv",filename:"Phone-Scraper-CSV-file_[YYYY]-[MM]-[DD]",mimeType:"text/csv"})},loadData:function(){var e=this;e.loadingData=!0,this.$http({method:"get",url:"/phonedata/scraper",timeout:15e3}).then((function(t){e.rowData=t.data,e.loadingData=!1})).catch((function(t){console.log(t),e.loadingData=!1}))},refreshGrid:function(){this.loadData()}}},K=G,B=Object(f["a"])(K,Y,J,!1,null,null,null),Q=B.exports,X=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("b-card",[a("h3",[e._v("CUCM Clusters")]),a("p",[e._v("Please use dedicated CUCM App users for this server")]),a("crud-table",{attrs:{endpoint:"/settings_management/cucm",columns:[{key:"cluster_name",label:"Cluster Name"},{key:"server",label:"Server"},{key:"version",label:"Version"},{key:"username",label:"Username"},{key:"ssl_verification",label:"SSL Verification"},{key:"action",label:"Action"}],"form-fields":{cluster_name:"",server:"",version:"",username:"",pd:"",ssl_verification:!1,ssl_ca_trust_file_data:null}},scopedSlots:e._u([{key:"input-fields",fn:function(t){var n=t.formdata;return[a("b-form-group",{attrs:{id:"input-group-2",label:"Cluster Name:","label-for":"input-name"}},[a("b-form-input",{attrs:{id:"input-name",required:"",placeholder:"Enter cluster friendly name (e.g. Cluster1 )"},model:{value:n.cluster_name,callback:function(t){e.$set(n,"cluster_name",t)},expression:"formdata.cluster_name"}})],1),a("b-form-group",{attrs:{id:"input-group-server",label:"CUCM (AXL) Server:","label-for":"input-server"}},[a("b-form-input",{attrs:{id:"input-server",required:"",placeholder:"Enter CUCM publisher (e.g. cucm1.cisco.com )"},model:{value:n.server,callback:function(t){e.$set(n,"server",t)},expression:"formdata.server"}})],1),a("b-form-group",{attrs:{id:"input-group-version",label:"CUCM Version:","label-for":"input-version"}},[a("b-form-select",{attrs:{options:["10.5","11.0","11.5","12.0","12.5"]},model:{value:n.version,callback:function(t){e.$set(n,"version",t)},expression:"formdata.version"}})],1),a("b-form-group",{attrs:{id:"input-group-username",label:"CUCM Application User Username:","label-for":"input-username"}},[a("b-form-input",{attrs:{id:"input-username",required:"",placeholder:"Enter CUCM application userid"},model:{value:n.username,callback:function(t){e.$set(n,"username",t)},expression:"formdata.username"}})],1),a("b-form-group",{attrs:{id:"input-group-pd",label:"CUCM Application User Password:","label-for":"input-pd"}},[a("b-form-input",{attrs:{id:"input-pd",required:"",type:"password",placeholder:"Enter password of above user."},model:{value:n.pd,callback:function(t){e.$set(n,"pd",t)},expression:"formdata.pd"}})],1),a("b-form-group",{attrs:{id:"input-group-ssl",label:"SSL Certificate"}},[a("b-form-checkbox",{attrs:{name:"check-button",switch:""},model:{value:n.ssl_verification,callback:function(t){e.$set(n,"ssl_verification",t)},expression:"formdata.ssl_verification"}},[e._v(" Verify SSL Certificate ")]),a("b-form-textarea",{attrs:{id:"textarea",placeholder:"Paste base64 certificate if using self signed or non-trusted CA",rows:"3","max-rows":"100"},model:{value:n.ssl_ca_trust_file,callback:function(t){e.$set(n,"ssl_ca_trust_file",t)},expression:"formdata.ssl_ca_trust_file"}})],1)]}}])})],1),a("b-card",[a("h3",[e._v("Sync Schedule")]),a("b-form-group",{attrs:{id:"cucm-sync-time-group",label:"CUCM Updates on the hour at:","label-for":"cucm-sync-time","label-cols":"auto"}},[a("b-form-spinbutton",{attrs:{id:"cucm-sync-time",min:"0",max:"59"},model:{value:e.settings.cucm_update_minute,callback:function(t){e.$set(e.settings,"cucm_update_minute",t)},expression:"settings.cucm_update_minute"}})],1),a("b-form-group",{attrs:{id:"phone-scrape-time-group",label:"Phone scrape runs daily at:","label-for":"phone-scrape-time","label-cols":"auto"}},[a("b-form-timepicker",{attrs:{locale:"en"},model:{value:e.settings.phonescrape_update_time,callback:function(t){e.$set(e.settings,"phonescrape_update_time",t)},expression:"settings.phonescrape_update_time"}})],1),a("b-button",{attrs:{variant:"primary"},on:{click:e.save_settings}},[e._v("Update Scheduler")]),a("p",[e._v("Manual updates can be triggered from the job status page")])],1),a("b-card",[a("h3",[e._v("CUCM Authorized Users")]),a("b-row",[a("b-col",[a("b-form-group",{attrs:{label:"Add new user"}},[a("b-form-input",{attrs:{placeholder:"Enter new CUCM user id"},model:{value:e.new_authorized_user,callback:function(t){e.new_authorized_user=t},expression:"new_authorized_user"}})],1)],1),a("b-col",[a("b-form-group",{attrs:{label:"Authorized CUCM Users"}},[a("b-form-select",{attrs:{options:e.authorized_cucm_users,multiple:"","select-size":4},model:{value:e.selected_authorized_cucm_users,callback:function(t){e.selected_authorized_cucm_users=t},expression:"selected_authorized_cucm_users"}})],1)],1)],1),a("b-row",[a("b-col",[a("b-button",{attrs:{variant:"primary"},on:{click:e.add_cucm_users}},[e._v("Add ->")])],1),a("b-col",[a("b-button",{attrs:{variant:"primary"},on:{click:e.remove_cucm_users}},[e._v("Remove")])],1)],1),a("br"),a("b-row",[a("p",[e._v("Note: Users in the Authorized CUCM Users list can login to this application using their CUCM credentials. The login will be authenticated against the first CUCM cluster defined above.")])])],1),"localadmin"==e.username?a("b-card",[a("h3",[e._v("Password Management")]),a("p",[e._v("You can login to this application using an end user from the first CUCM cluster or the 'localadmin' account. You can change the localadmin password below.")]),a("b-form-group",{attrs:{id:"current-localadmin-password-group",label:"current 'localadmin' password:","label-for":"current-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Enter current password"},model:{value:e.currentLocalAdminPassword,callback:function(t){e.currentLocalAdminPassword=t},expression:"currentLocalAdminPassword"}})],1),a("b-form-group",{attrs:{id:"new-localadmin-password-group",label:"new 'localadmin' password:","label-for":"new-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Enter new password"},model:{value:e.newLocalAdminPassword,callback:function(t){e.newLocalAdminPassword=t},expression:"newLocalAdminPassword"}})],1),a("b-form-group",{attrs:{id:"confirm-new-localadmin-password-group",label:" confirm new 'localadmin' password:","label-for":"confirm-new-localadmin-password","label-cols":"auto"}},[a("b-form-input",{attrs:{type:"password",placeholder:"Confirm new password",state:e.passwordValidation,debounce:"1500"},model:{value:e.confirm_newLocalAdminPassword,callback:function(t){e.confirm_newLocalAdminPassword=t},expression:"confirm_newLocalAdminPassword"}}),a("b-form-invalid-feedback",[e._v("New passwords do not match")])],1),a("b-button",{attrs:{variant:"primary",disabled:e.newLocalAdminPassword!=e.confirm_newLocalAdminPassword||""==e.newLocalAdminPassword||""==e.currentLocalAdminPassword},on:{click:e.updatePassword}},[e._v("Update Password")]),a("p",[e._v("Do not lose this password. It will be needed if this server loses connection to CUCM cluster #1.")])],1):e._e()],1)},W=[],Z=(a("4160"),a("c975"),a("a434"),a("159b"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return null!=e.tableData?a("div",[a("b-button",{staticClass:"mb-2",attrs:{variant:"primary",size:"sm"},on:{click:e.createItem}},[e._v("Create")]),0==e.tableData.length?a("b-alert",{attrs:{show:"",variant:"warning"}},[e._v("No Clusters are configured. Please configure a new CUCM cluster. Once a new CUCM cluster has been added you will need to sign out and then back into this server with a CUCM end user account.")]):a("b-table",{attrs:{striped:"",hover:"",items:e.tableData,fields:e.columns},scopedSlots:e._u([{key:"cell(action)",fn:function(t){return[a("b-button",{attrs:{variant:"primary",size:"sm"},on:{click:function(a){return e.editItem(t.item)}}},[e._v("Edit")]),a("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal",value:"edit-modal",expression:"'edit-modal'"}],attrs:{variant:"danger",size:"sm"},on:{click:function(a){return e.deleteItem(t.item)}}},[e._v("Delete")])]}}],null,!1,444826290)}),a("b-modal",{attrs:{title:e.formTitle,"hide-footer":"",size:"lg"},model:{value:e.modalShow,callback:function(t){e.modalShow=t},expression:"modalShow"}},[e.clusterChangeFailed?a("b-alert",{attrs:{show:"",variant:"danger"}},[e._v("Error encountering saving cluster. Please check settings/credentials and try again")]):e._e(),a("b-form",{on:{submit:function(t){return t.preventDefault(),e.save(t)}}},[e._t("input-fields",null,{formdata:e.editedItem}),a("b-button",{attrs:{size:"sm",variant:"danger"},on:{click:e.close}},[e._v(" Cancel ")]),a("b-button",{attrs:{type:"submit",size:"sm",variant:"primary"}},[e.clusterChangeInProgress?a("b-spinner",{attrs:{small:""}}):e._e(),e._v(" Save ")],1)],2)],1)],1):e._e()}),ee=[],te={props:["endpoint","columns","formFields"],data:function(){return{editedItem:this.formFields,modalShow:!1,editedIndex:-1,tableData:null,clusterChangeFailed:!1,clusterChangeInProgress:!1}},computed:{formTitle:function(){return-1===this.editedIndex?"New Item":"Edit Item"},username:function(){return this.$store.getters.userName}},methods:{createItem:function(){this.modalShow=!0,this.editedItem=Object.assign({},this.formFields),this.editedIndex=-1},editItem:function(e){var t=this;this.modalShow=!0,this.editedIndex=this.tableData.indexOf(e),this.editedItem=Object.assign({},e),setTimeout((function(){t.load()}),2e3)},deleteItem:function(e){var t=this.tableData.indexOf(e);confirm("Are you sure you want to delete this item?")&&this.tableData.splice(t,1);var a=this;this.$http({method:"delete",url:this.endpoint+"/"+e.id,timeout:7500}).then((function(){a.load()}))},close:function(){var e=this;this.modalShow=!1,setTimeout((function(){e.editedItem=Object.assign({},e.formFields),e.editedIndex=-1}),300)},save:function(){var e=this;e.clusterChangeInProgress=!0,this.editedIndex>-1?(Object.assign(this.tableData[this.editedIndex],this.editedItem),this.$http({method:"put",url:this.endpoint+"/"+this.editedItem.id,data:this.editedItem,timeout:45e3}).then((function(t){e.clusterChangeInProgress=!1,"failed"==t.data.result?e.clusterChangeFailed=!0:(e.clusterChangeFailed=!1,e.$bvToast.toast("Cluster updated successfully",{title:"CUCM Cluster Settings",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}),e.close()),e.load()}))):(this.tableData.push(this.editedItem),this.$http({method:"post",url:this.endpoint,data:this.editedItem,timeout:45e3}).then((function(t){e.clusterChangeInProgress=!1,"failed"==t.data.result?(e.clusterChangeFailed=!0,e.load()):(e.clusterChangeFailed=!1,e.close(),e.$bvToast.toast("Cluster added successfully.",{title:"CUCM Cluster Settings",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}),e.load())})))},load:function(){var e=this;this.$http({method:"get",url:this.endpoint,timeout:5e3}).then((function(t){e.tableData=t.data}))},logOutUser:function(){this.$store.dispatch("logout")}},created:function(){this.load()}},ae=te,ne=Object(f["a"])(ae,Z,ee,!1,null,null,null),se=ne.exports,re={name:"Settings_Management",components:{CrudTable:se},data:function(){return{cucmsyncminute:0,phonescrapetime:null,settings:{},new_authorized_user:"",authorized_cucm_users:[],selected_authorized_cucm_users:[],currentLocalAdminPassword:"",newLocalAdminPassword:"",confirm_newLocalAdminPassword:""}},mounted:function(){this.get_all_settings(),this.get_all_cucm_users()},computed:{username:function(){return this.$store.getters.userName},passwordValidation:function(){return""==this.newLocalAdminPassword||""==this.confirm_newLocalAdminPassword?null:this.confirm_newLocalAdminPassword==this.newLocalAdminPassword}},methods:{get_all_settings:function(){var e=this;this.$http({method:"get",url:"/settings_management/settings",timeout:7500}).then((function(t){t.data["cucm_update_minute"]=parseInt(t.data["cucm_update_minute"]),e.settings=t.data}))},save_settings:function(){var e=this;this.$http({method:"put",url:"/settings_management/settings",data:e.settings,timeout:7500}).then((function(t){t.data["cucm_update_minute"]=parseInt(t.data["cucm_update_minute"]),e.settings=t.data}))},get_all_cucm_users:function(){var e=this;this.$http({method:"get",url:"/settings_management/cucm_users",timeout:7500}).then((function(t){e.authorized_cucm_users=t.data}))},add_cucm_users:function(){var e=this;this.authorized_cucm_users.push(this.new_authorized_user),this.$http({method:"post",url:"/settings_management/cucm_users",data:{userid:e.new_authorized_user},timeout:7500}).then((function(){return e.get_all_cucm_users()})).catch((function(){return e.get_all_cucm_users()})),this.new_authorized_user=""},remove_cucm_users:function(){var e=this,t=this;this.selected_authorized_cucm_users.forEach((function(a){var n=t.authorized_cucm_users.indexOf(a);n>-1&&t.authorized_cucm_users.splice(n,1),e.$http({method:"delete",url:"/settings_management/cucm_users/"+a,timeout:7500}).then((function(){return t.get_all_cucm_users()})).catch((function(){return t.get_all_cucm_users()}))})),this.selected_authorized_cucm_users=[]},updatePassword:function(){var e=this;this.$http({method:"put",url:"/settings_management/updatepw",data:{current:e.currentLocalAdminPassword,new:e.newLocalAdminPassword},timeout:7500}).then((function(t){"Password successfully changed"==t.data.result?e.$bvToast.toast("The localadmin password has been changed successfully.",{title:"Password updated",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3}):e.$bvToast.toast("Failed to change the localadmin password. Please try again.",{title:"Password update failed",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:12e3})}))}}},oe=re,ie=Object(f["a"])(oe,X,W,!1,null,null,null),le=ie.exports,ue=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[null!=e.jobstatus?a("table",{directives:[{name:"show",rawName:"v-show",value:e.jobstatus,expression:"jobstatus"}],staticClass:"table table-striped"},[e._m(0),a("tbody",e._l(e.jobstatus,(function(t,n){return a("tr",{key:n},[a("th",{attrs:{scope:"row"}},[e._v(e._s(t.jobname))]),a("td",[e._v(e._s(t.laststarttime))]),"phone scraper"==t.jobname&&"running job.."==t.result?a("td",[e._v(" "+e._s(t.result)+" [ "+e._s(e.rq_status.current_size)+" phones remaining ] ")]):a("td",[e._v(e._s(t.result))])])})),0)]):a("b-row",{attrs:{"align-h":"center"}},[a("b-spinner",{attrs:{label:"Loading..."}})],1),a("hr"),a("b-row",{attrs:{"align-h":"center"}},[a("b-button",{on:{click:e.initiateManualSyncDataUpdate}},[e._v("Trigger CUCM sync")]),a("b-button",{on:{click:e.loadJobStatusData}},[e._v("Refresh")]),a("b-button",{on:{click:e.initiateManualPhoneScrapeUpdate}},[e._v("Trigger Phone Scraping")])],1),a("b-row",{attrs:{"align-h":"center"}},[a("p",[e._v("Only one background job will run at a time. Attempts to trigger a manual update while another task is running will be ignored.")])])],1)},de=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("thead",[a("tr",[a("th",[e._v("Name")]),a("th",[e._v("Last Start")]),a("th",[e._v("Result")])])])}],ce={name:"Job_Status",data:function(){return{jobstatus:null,rq_status:Object}},mounted:function(){this.loadJobStatusData()},methods:{loadJobStatusData:function(){var e=this;this.$http({method:"get",url:"/phonedata/jobstatus",timeout:5e3}).then((function(t){e.jobstatus=t.data.Job_Status,e.rq_status=t.data.RQ_Status})).catch((function(e){console.log(e)}))},initiateManualPhoneScrapeUpdate:function(){var e=this;this.$http({method:"get",url:"/phonedata/initiate_phone_scrape_now",timeout:5e3}).then((function(){e.$bvToast.toast("manual phone scrape has been triggered",{title:"Sync Data",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3})})).catch((function(t){console.log(t),e.$bvToast.toast("manual phone scrape has failed",{title:"Sync Data",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:5e3})}))},initiateManualSyncDataUpdate:function(){var e=this;this.$http({method:"get",url:"/phonedata/poll_cucm_now",timeout:5e3}).then((function(){e.$bvToast.toast("manual sync has been triggered",{title:"Sync Data",variant:"success",toaster:"b-toaster-top-center",autoHideDelay:5e3})})).catch((function(t){console.log(t),e.$bvToast.toast("manual sync has failed",{title:"Sync Data",variant:"warning",toaster:"b-toaster-top-center",autoHideDelay:5e3})}))}}},me=ce,fe=Object(f["a"])(me,ue,de,!1,null,null,null),he=fe.exports,pe={name:"App",data:function(){return{MenuTabs:["Phone Info","Phone Scraper","Settings Management","Job Status"],NavSelection:""}},components:{Header:v,Login:S,MainNavbar:I,Phone_Info:q,Phone_Scraper:Q,Settings_Management:le,Job_Status:he,IdleTimeout:A},methods:{navChangeTop:function(e){this.NavSelection=e.replace(" ","_")},localadminLogin:function(){""==this.NavSelection&&(this.NavSelection="Settings_Management")}},computed:{isLoggedIn:function(){return this.$store.getters.isLoggedIn},username:function(){return this.$store.getters.userName},isIdle:function(){return this.$store.state.idleVue.isIdle}},updated:function(){this.isLoggedIn&&"localadmin"==this.username&&this.localadminLogin()}},be=pe,ge=Object(f["a"])(be,r,o,!1,null,null,null),_e=ge.exports,ve=a("5f5b"),we=a("bc3a"),ye=a.n(we);n["default"].use(s["a"]);var je=new s["a"].Store({state:{status:"",token:"",username:""},mutations:{auth_request:function(e){e.status="loading"},auth_success:function(e,t){e.status="success",e.token=t.token,e.username=t.username},auth_error:function(e){e.status="error"},logout:function(e){e.status="",e.token="",e.username=""}},actions:{login:function(e,t){var a=e.commit;return new Promise((function(e,s){var r=new FormData;r.set("username",t.user_id),r.set("password",t.password),a("auth_request"),ye()({baseURL:"",url:"/auth/get_token",data:r,method:"POST"}).then((function(t){var s=t.data.access_token,r=t.data.user_name;console.log("username is "+r),n["default"].prototype.$http.defaults.headers.common["Authorization"]="Bearer "+s,a("auth_success",{token:s,username:r}),e(t)})).catch((function(e){a("auth_error"),s(e)}))}))},logout:function(e){var t=e.commit;return new Promise((function(e){n["default"].prototype.$http.defaults.headers.common["Authorization"]="",t("logout"),e()}))}},getters:{isLoggedIn:function(e){return!!e.token},authStatus:function(e){return e.status},userName:function(e){return e.username},token:function(e){return e.token}}}),Ce=a("dcb8"),Pe=a.n(Ce);a("f9e3"),a("2dd8");n["default"].config.productionTip=!1,n["default"].use(ve["a"]),n["default"].prototype.$http=ye.a.create({baseURL:"",timeout:5e3}),n["default"].prototype.$http.interceptors.response.use((function(e){return e}),(function(e){if(console.log("http intercepter error code "+e.response.status),401!==e.response.status)return Promise.reject(e);console.log("logging user out due to 401"),je.commit("logout")})),n["default"].use(s["a"]);var Se=new n["default"];n["default"].use(Pe.a,{eventEmitter:Se,store:je,idleTime:18e5,startAtIdle:!1}),new n["default"]({store:je,render:function(e){return e(_e)}}).$mount("#app")}}); -//# sourceMappingURL=app.bc0484fe.js.map \ No newline at end of file diff --git a/client/dist/js/app.bc0484fe.js.map b/client/dist/js/app.bc0484fe.js.map deleted file mode 100644 index 06d4c79..0000000 --- a/client/dist/js/app.bc0484fe.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?a707","webpack:///./src/components/Header.vue?c153","webpack:///./src/components/auth/Logout.vue?d4e4","webpack:///src/components/auth/Logout.vue","webpack:///./src/components/auth/Logout.vue?ceef","webpack:///./src/components/auth/Logout.vue","webpack:///src/components/Header.vue","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue","webpack:///./src/components/auth/Login.vue?706a","webpack:///src/components/auth/Login.vue","webpack:///./src/components/auth/Login.vue?38a8","webpack:///./src/components/auth/Login.vue","webpack:///./src/components/MainNavbar.vue?2270","webpack:///src/components/MainNavbar.vue","webpack:///./src/components/MainNavbar.vue?42a8","webpack:///./src/components/MainNavbar.vue","webpack:///./src/components/Idle_Timeout.vue?76da","webpack:///src/components/Idle_Timeout.vue","webpack:///./src/components/Idle_Timeout.vue?0fe0","webpack:///./src/components/Idle_Timeout.vue","webpack:///./src/components/Phone_Info.vue?a8e2","webpack:///src/components/Phone_Info.vue","webpack:///./src/components/Phone_Info.vue?be53","webpack:///./src/components/Phone_Info.vue","webpack:///./src/components/Phone_Scraper.vue?d084","webpack:///src/components/Phone_Scraper.vue","webpack:///./src/components/Phone_Scraper.vue?60a1","webpack:///./src/components/Phone_Scraper.vue","webpack:///./src/components/Settings_Management.vue?fbe4","webpack:///./src/components/crud-table.vue?8322","webpack:///src/components/crud-table.vue","webpack:///./src/components/crud-table.vue?c26f","webpack:///./src/components/crud-table.vue","webpack:///src/components/Settings_Management.vue","webpack:///./src/components/Settings_Management.vue?540b","webpack:///./src/components/Settings_Management.vue","webpack:///./src/components/Job_Status.vue?3af4","webpack:///src/components/Job_Status.vue","webpack:///./src/components/Job_Status.vue?ad2c","webpack:///./src/components/Job_Status.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store.js","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","_vm","this","_h","$createElement","_c","_self","attrs","username","isLoggedIn","isIdle","_e","MenuTabs","on","$event","navChangeTop","NavSelection","tag","staticClass","staticRenderFns","_v","$parent","_s","logout","component","components","Logout","props","String","staticStyle","preventDefault","login","directives","rawName","expression","domProps","target","composing","user_id","password","_l","tab","click","replace","time","methods","$store","dispatch","created","vm","state","idleVue","clearInterval","timerId","rowData","ref","hotSettings","exportToCsv","refreshGrid","label","cluster_name","server","version","pd","ssl_verification","ssl_ca_trust_file_data","scopedSlots","_u","fn","formdata","model","callback","$$v","$set","settings","save_settings","new_authorized_user","authorized_cucm_users","selected_authorized_cucm_users","add_cucm_users","remove_cucm_users","currentLocalAdminPassword","newLocalAdminPassword","passwordValidation","confirm_newLocalAdminPassword","updatePassword","tableData","createItem","columns","editItem","item","deleteItem","formTitle","modalShow","save","_t","editedItem","close","jobstatus","_m","jobname","laststarttime","rq_status","current_size","initiateManualSyncDataUpdate","loadJobStatusData","initiateManualPhoneScrapeUpdate","Header","Login","MainNavbar","Phone_Info","Phone_Scraper","Settings_Management","Job_Status","IdleTimeout","localadminLogin","computed","getters","userName","updated","Vue","use","Vuex","Store","status","token","mutations","auth_request","auth_success","auth_error","actions","user","commit","Promise","reject","LoginFormData","FormData","set","axios","baseURL","process","url","method","then","resp","access_token","user_name","console","log","$http","defaults","headers","common","catch","err","authStatus","config","productionTip","BootstrapVue","timeout","interceptors","response","error","store","eventsHub","IdleVue","eventEmitter","idleTime","startAtIdle","render","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,SAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,8DCvJT,IAAIyC,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW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","file":"js/app.bc0484fe.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/home/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header',{attrs:{\"username\":_vm.username}}),(_vm.isLoggedIn && _vm.isIdle)?_c('IdleTimeout'):_vm._e(),(_vm.isLoggedIn)?_c('div',[_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('MainNavbar',{attrs:{\"MenuTabs\":_vm.MenuTabs},on:{\"nav-selection\":function($event){return _vm.navChangeTop($event)}}})],1),_c('b-row',[_c('b-col',[_c(_vm.NavSelection,{tag:\"component\"})],1)],1)],1)],1):_c('div',[_c('Login',{staticClass:\"mx-auto\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"header\"}},[_c('b-container',{staticClass:\"bg-secondary text-white\",attrs:{\"fluid\":\"\"}},[_c('b-row',[_c('h2',{staticClass:\"mx-auto\"},[_vm._v(\"VOIP Phone Info Server\")])]),_c('b-row',[(this.$parent.isLoggedIn)?_c('div',[_vm._v(\"User \"+_vm._s(_vm.username)+\" logged-in\")]):_vm._e()]),_c('b-row',[(this.$parent.isLoggedIn)?_c('Logout'):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-link',{staticClass:\"text-white\",on:{\"click\":_vm.logout}},[_vm._v(\"Logout\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logout.vue?vue&type=template&id=518ef7c0&\"\nimport script from \"./Logout.vue?vue&type=script&lang=js&\"\nexport * from \"./Logout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=192a8270&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"mb-2\",staticStyle:{\"max-width\":\"20rem\"},attrs:{\"title\":\"Login\"}},[_c('form',{staticClass:\"login\",on:{\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('label',[_vm._v(\"User ID\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_id),expression:\"user_id\"}],attrs:{\"required\":\"\",\"autocomplete\":\"username\",\"type\":\"string\"},domProps:{\"value\":(_vm.user_id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.user_id=$event.target.value}}}),_c('label',[_vm._v(\"Password\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"required\":\"\",\"autocomplete\":\"current-password\",\"type\":\"password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_c('hr'),_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(\"Login\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=f89e2ce0&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-nav',{attrs:{\"tabs\":\"\"}},_vm._l((_vm.MenuTabs),function(tab){return _c('b-nav-item',{key:tab,on:{\"click\":function($event){return _vm.click(tab)}}},[_vm._v(\" \"+_vm._s(tab.replace(/_/g, \" \"))+\" \")])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNavbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainNavbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainNavbar.vue?vue&type=template&id=f000cc5e&\"\nimport script from \"./MainNavbar.vue?vue&type=script&lang=js&\"\nexport * from \"./MainNavbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-toast',{attrs:{\"toaster\":\"b-toaster-top-center\",\"id\":\"example-toast\",\"title\":\"Your session is about to expire.\",\"variant\":\"warning\",\"no-auto-hide\":\"\",\"visible\":\"\",\"solid\":\"\"}},[_vm._v(\" You are being timed out due to inactivity. You will be logged off automatically in \"+_vm._s(_vm.time)+\" seconds. \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Idle_Timeout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Idle_Timeout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Idle_Timeout.vue?vue&type=template&id=00d648d3&\"\nimport script from \"./Idle_Timeout.vue?vue&type=script&lang=js&\"\nexport * from \"./Idle_Timeout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loadingData)?_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1)],1):_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[(_vm.rowData.length > 0)?_c('div',{staticStyle:{\"height\":\"100% display: flex\",\"flex-direction\":\"row overflow: hidden\",\"flex-grow\":\"1\"}},[_c('hot-table',{ref:\"hotTableComponent\",attrs:{\"settings\":_vm.hotSettings,\"data\":_vm.rowData}})],1):_c('div',[_c('p',[_vm._v(\"There is no data in the database. Please run a manual sync from the Job Status tab.\")])]),_c('hr')]),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.exportToCsv}},[_vm._v(\"Download as CSV\")]),_c('p'),_c('b-button',{on:{\"click\":_vm.refreshGrid}},[_vm._v(\"Refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phone_Info.vue?vue&type=template&id=3148a223&\"\nimport script from \"./Phone_Info.vue?vue&type=script&lang=js&\"\nexport * from \"./Phone_Info.vue?vue&type=script&lang=js&\"\nimport style0 from \"../../node_modules/handsontable/dist/handsontable.full.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loadingData)?_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1)],1):_c('div',[_c('b-row',{attrs:{\"align-h\":\"center\"}},[(_vm.rowData.length > 0)?_c('div',{staticStyle:{\"height\":\"100% display: flex\",\"flex-direction\":\"row overflow: hidden\",\"flex-grow\":\"1\"}},[_c('hot-table',{ref:\"hotTableComponent\",attrs:{\"settings\":_vm.hotSettings,\"data\":_vm.rowData}})],1):_c('div',[_c('p',[_vm._v(\"There is no data in the database. Please run a manual sync from the Job Status tab.\")])]),_c('hr')]),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.exportToCsv}},[_vm._v(\"Download as CSV\")]),_c('p'),_c('b-button',{on:{\"click\":_vm.refreshGrid}},[_vm._v(\"Refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Scraper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phone_Scraper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phone_Scraper.vue?vue&type=template&id=2802aaaa&\"\nimport script from \"./Phone_Scraper.vue?vue&type=script&lang=js&\"\nexport * from \"./Phone_Scraper.vue?vue&type=script&lang=js&\"\nimport style0 from \"../../node_modules/handsontable/dist/handsontable.full.css?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card',[_c('h3',[_vm._v(\"CUCM Clusters\")]),_c('p',[_vm._v(\"Please use dedicated CUCM App users for this server\")]),_c('crud-table',{attrs:{\"endpoint\":\"/settings_management/cucm\",\"columns\":[\n {key: 'cluster_name', label: 'Cluster Name'},\n {key: 'server', label: 'Server'},\n {key: 'version', label: 'Version'},\n {key: 'username', label: 'Username'},\n {key: 'ssl_verification', label: 'SSL Verification'},\n {key: 'action', label: 'Action'} ],\"form-fields\":{\n cluster_name: '',\n server: '',\n version: '',\n username: '',\n pd: '',\n ssl_verification: false,\n ssl_ca_trust_file_data: null\n }},scopedSlots:_vm._u([{key:\"input-fields\",fn:function(ref){\n var formdata = ref.formdata;\nreturn [_c('b-form-group',{attrs:{\"id\":\"input-group-2\",\"label\":\"Cluster Name:\",\"label-for\":\"input-name\"}},[_c('b-form-input',{attrs:{\"id\":\"input-name\",\"required\":\"\",\"placeholder\":\"Enter cluster friendly name (e.g. Cluster1 )\"},model:{value:(formdata.cluster_name),callback:function ($$v) {_vm.$set(formdata, \"cluster_name\", $$v)},expression:\"formdata.cluster_name\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-server\",\"label\":\"CUCM (AXL) Server:\",\"label-for\":\"input-server\"}},[_c('b-form-input',{attrs:{\"id\":\"input-server\",\"required\":\"\",\"placeholder\":\"Enter CUCM publisher (e.g. cucm1.cisco.com )\"},model:{value:(formdata.server),callback:function ($$v) {_vm.$set(formdata, \"server\", $$v)},expression:\"formdata.server\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-version\",\"label\":\"CUCM Version:\",\"label-for\":\"input-version\"}},[_c('b-form-select',{attrs:{\"options\":['10.5','11.0','11.5','12.0','12.5']},model:{value:(formdata.version),callback:function ($$v) {_vm.$set(formdata, \"version\", $$v)},expression:\"formdata.version\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-username\",\"label\":\"CUCM Application User Username:\",\"label-for\":\"input-username\"}},[_c('b-form-input',{attrs:{\"id\":\"input-username\",\"required\":\"\",\"placeholder\":\"Enter CUCM application userid\"},model:{value:(formdata.username),callback:function ($$v) {_vm.$set(formdata, \"username\", $$v)},expression:\"formdata.username\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-pd\",\"label\":\"CUCM Application User Password:\",\"label-for\":\"input-pd\"}},[_c('b-form-input',{attrs:{\"id\":\"input-pd\",\"required\":\"\",\"type\":\"password\",\"placeholder\":\"Enter password of above user.\"},model:{value:(formdata.pd),callback:function ($$v) {_vm.$set(formdata, \"pd\", $$v)},expression:\"formdata.pd\"}})],1),_c('b-form-group',{attrs:{\"id\":\"input-group-ssl\",\"label\":\"SSL Certificate\"}},[_c('b-form-checkbox',{attrs:{\"name\":\"check-button\",\"switch\":\"\"},model:{value:(formdata.ssl_verification),callback:function ($$v) {_vm.$set(formdata, \"ssl_verification\", $$v)},expression:\"formdata.ssl_verification\"}},[_vm._v(\" Verify SSL Certificate \")]),_c('b-form-textarea',{attrs:{\"id\":\"textarea\",\"placeholder\":\"Paste base64 certificate if using self signed or non-trusted CA\",\"rows\":\"3\",\"max-rows\":\"100\"},model:{value:(formdata.ssl_ca_trust_file),callback:function ($$v) {_vm.$set(formdata, \"ssl_ca_trust_file\", $$v)},expression:\"formdata.ssl_ca_trust_file\"}})],1)]}}])})],1),_c('b-card',[_c('h3',[_vm._v(\"Sync Schedule\")]),_c('b-form-group',{attrs:{\"id\":\"cucm-sync-time-group\",\"label\":\"CUCM Updates on the hour at:\",\"label-for\":\"cucm-sync-time\",\"label-cols\":\"auto\"}},[_c('b-form-spinbutton',{attrs:{\"id\":\"cucm-sync-time\",\"min\":\"0\",\"max\":\"59\"},model:{value:(_vm.settings.cucm_update_minute),callback:function ($$v) {_vm.$set(_vm.settings, \"cucm_update_minute\", $$v)},expression:\"settings.cucm_update_minute\"}})],1),_c('b-form-group',{attrs:{\"id\":\"phone-scrape-time-group\",\"label\":\"Phone scrape runs daily at:\",\"label-for\":\"phone-scrape-time\",\"label-cols\":\"auto\"}},[_c('b-form-timepicker',{attrs:{\"locale\":\"en\"},model:{value:(_vm.settings.phonescrape_update_time),callback:function ($$v) {_vm.$set(_vm.settings, \"phonescrape_update_time\", $$v)},expression:\"settings.phonescrape_update_time\"}})],1),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.save_settings}},[_vm._v(\"Update Scheduler\")]),_c('p',[_vm._v(\"Manual updates can be triggered from the job status page\")])],1),_c('b-card',[_c('h3',[_vm._v(\"CUCM Authorized Users\")]),_c('b-row',[_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"Add new user\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Enter new CUCM user id\"},model:{value:(_vm.new_authorized_user),callback:function ($$v) {_vm.new_authorized_user=$$v},expression:\"new_authorized_user\"}})],1)],1),_c('b-col',[_c('b-form-group',{attrs:{\"label\":\"Authorized CUCM Users\"}},[_c('b-form-select',{attrs:{\"options\":_vm.authorized_cucm_users,\"multiple\":\"\",\"select-size\":4},model:{value:(_vm.selected_authorized_cucm_users),callback:function ($$v) {_vm.selected_authorized_cucm_users=$$v},expression:\"selected_authorized_cucm_users\"}})],1)],1)],1),_c('b-row',[_c('b-col',[_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.add_cucm_users}},[_vm._v(\"Add ->\")])],1),_c('b-col',[_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.remove_cucm_users}},[_vm._v(\"Remove\")])],1)],1),_c('br'),_c('b-row',[_c('p',[_vm._v(\"Note: Users in the Authorized CUCM Users list can login to this application using their CUCM credentials. The login will be authenticated against the first CUCM cluster defined above.\")])])],1),(_vm.username=='localadmin')?_c('b-card',[_c('h3',[_vm._v(\"Password Management\")]),_c('p',[_vm._v(\"You can login to this application using an end user from the first CUCM cluster or the 'localadmin' account. You can change the localadmin password below.\")]),_c('b-form-group',{attrs:{\"id\":\"current-localadmin-password-group\",\"label\":\"current 'localadmin' password:\",\"label-for\":\"current-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Enter current password\"},model:{value:(_vm.currentLocalAdminPassword),callback:function ($$v) {_vm.currentLocalAdminPassword=$$v},expression:\"currentLocalAdminPassword\"}})],1),_c('b-form-group',{attrs:{\"id\":\"new-localadmin-password-group\",\"label\":\"new 'localadmin' password:\",\"label-for\":\"new-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Enter new password\"},model:{value:(_vm.newLocalAdminPassword),callback:function ($$v) {_vm.newLocalAdminPassword=$$v},expression:\"newLocalAdminPassword\"}})],1),_c('b-form-group',{attrs:{\"id\":\"confirm-new-localadmin-password-group\",\"label\":\" confirm new 'localadmin' password:\",\"label-for\":\"confirm-new-localadmin-password\",\"label-cols\":\"auto\"}},[_c('b-form-input',{attrs:{\"type\":\"password\",\"placeholder\":\"Confirm new password\",\"state\":_vm.passwordValidation,\"debounce\":\"1500\"},model:{value:(_vm.confirm_newLocalAdminPassword),callback:function ($$v) {_vm.confirm_newLocalAdminPassword=$$v},expression:\"confirm_newLocalAdminPassword\"}}),_c('b-form-invalid-feedback',[_vm._v(\"New passwords do not match\")])],1),_c('b-button',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.newLocalAdminPassword != _vm.confirm_newLocalAdminPassword || _vm.newLocalAdminPassword == '' || _vm.currentLocalAdminPassword == ''},on:{\"click\":_vm.updatePassword}},[_vm._v(\"Update Password\")]),_c('p',[_vm._v(\"Do not lose this password. It will be needed if this server loses connection to CUCM cluster #1.\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.tableData != null)?_c('div',[_c('b-button',{staticClass:\"mb-2\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":_vm.createItem}},[_vm._v(\"Create\")]),(_vm.tableData.length == 0)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"warning\"}},[_vm._v(\"No Clusters are configured. Please configure a new CUCM cluster. Once a new CUCM cluster has been added you will need to sign out and then back into this server with a CUCM end user account.\")]):_c('b-table',{attrs:{\"striped\":\"\",\"hover\":\"\",\"items\":_vm.tableData,\"fields\":_vm.columns},scopedSlots:_vm._u([{key:\"cell(action)\",fn:function(data){return [_c('b-button',{attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.editItem(data.item)}}},[_vm._v(\"Edit\")]),_c('b-button',{directives:[{name:\"b-modal\",rawName:\"v-b-modal\",value:('edit-modal'),expression:\"'edit-modal'\"}],attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.deleteItem(data.item)}}},[_vm._v(\"Delete\")])]}}],null,false,444826290)}),_c('b-modal',{attrs:{\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},model:{value:(_vm.modalShow),callback:function ($$v) {_vm.modalShow=$$v},expression:\"modalShow\"}},[(_vm.clusterChangeFailed)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"danger\"}},[_vm._v(\"Error encountering saving cluster. Please check settings/credentials and try again\")]):_vm._e(),_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.save($event)}}},[_vm._t(\"input-fields\",null,{\"formdata\":_vm.editedItem}),_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"danger\"},on:{\"click\":_vm.close}},[_vm._v(\" Cancel \")]),_c('b-button',{attrs:{\"type\":\"submit\",\"size\":\"sm\",\"variant\":\"primary\"}},[(_vm.clusterChangeInProgress)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Save \")],1)],2)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./crud-table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./crud-table.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./crud-table.vue?vue&type=template&id=0aafadc8&\"\nimport script from \"./crud-table.vue?vue&type=script&lang=js&\"\nexport * from \"./crud-table.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings_Management.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings_Management.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings_Management.vue?vue&type=template&id=2dc847cb&\"\nimport script from \"./Settings_Management.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings_Management.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.jobstatus != null)?_c('table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.jobstatus),expression:\"jobstatus\"}],staticClass:\"table table-striped\"},[_vm._m(0),_c('tbody',_vm._l((_vm.jobstatus),function(item,i){return _c('tr',{key:i},[_c('th',{attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(item.jobname))]),_c('td',[_vm._v(_vm._s(item.laststarttime))]),(item.jobname == 'phone scraper' && item.result=='running job..')?_c('td',[_vm._v(\" \"+_vm._s(item.result)+\" [ \"+_vm._s(_vm.rq_status.current_size)+\" phones remaining ] \")]):_c('td',[_vm._v(_vm._s(item.result))])])}),0)]):_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-spinner',{attrs:{\"label\":\"Loading...\"}})],1),_c('hr'),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('b-button',{on:{\"click\":_vm.initiateManualSyncDataUpdate}},[_vm._v(\"Trigger CUCM sync\")]),_c('b-button',{on:{\"click\":_vm.loadJobStatusData}},[_vm._v(\"Refresh\")]),_c('b-button',{on:{\"click\":_vm.initiateManualPhoneScrapeUpdate}},[_vm._v(\"Trigger Phone Scraping\")])],1),_c('b-row',{attrs:{\"align-h\":\"center\"}},[_c('p',[_vm._v(\"Only one background job will run at a time. Attempts to trigger a manual update while another task is running will be ignored.\")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Last Start\")]),_c('th',[_vm._v(\"Result\")])])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Job_Status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Job_Status.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Job_Status.vue?vue&type=template&id=14b8d92d&\"\nimport script from \"./Job_Status.vue?vue&type=script&lang=js&\"\nexport * from \"./Job_Status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=725dbe29&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport axios from 'axios'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n status: '',\n token: '',\n username: ''\n },\n mutations: {\n auth_request(state) {\n state.status = 'loading'\n },\n auth_success(state, object) {\n state.status = 'success'\n state.token = object.token\n state.username = object.username\n },\n auth_error(state) {\n state.status = 'error'\n },\n logout(state) {\n state.status = ''\n state.token = ''\n state.username = ''\n },\n },\n actions: {\n login({ commit }, user) {\n return new Promise((resolve, reject) => {\n\n var LoginFormData = new FormData();\n LoginFormData.set('username', user.user_id);\n LoginFormData.set('password', user.password);\n\n commit('auth_request')\n axios({\n baseURL: process.env.VUE_APP_API_ROOT,\n url: '/auth/get_token', \n data: LoginFormData, \n method: 'POST' })\n .then(resp => {\n const token = resp.data.access_token\n const username = resp.data.user_name\n console.log(\"username is \" + username);\n Vue.prototype.$http.defaults.headers.common['Authorization'] = \"Bearer \" + token\n commit('auth_success', {token: token, username: username})\n resolve(resp)\n })\n .catch(err => {\n commit('auth_error')\n reject(err)\n })\n })\n },\n logout({ commit }) {\n return new Promise((resolve) => {\n Vue.prototype.$http.defaults.headers.common['Authorization'] = \"\"\n commit('logout')\n resolve()\n })\n }\n },\n getters: {\n isLoggedIn: state => !!state.token,\n authStatus: state => state.status,\n userName: state => state.username,\n token: state => state.token\n }\n})","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport App from './App.vue'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport store from './store'\nimport axios from 'axios'\nimport IdleVue from \"idle-vue\";\n\nVue.config.productionTip = false\n\nVue.use(BootstrapVue)\n\nVue.prototype.$http = axios.create({\n baseURL: process.env.VUE_APP_API_ROOT,\n timeout: 5000, // indicates, 1000ms ie. 1 second\n });\n\nVue.prototype.$http.interceptors.response.use(function (response) {\n return response;\n}, function (error) {\n console.log('http intercepter error code ' + error.response.status);\n if (401 === error.response.status) {\n console.log(\"logging user out due to 401\");\n store.commit('logout')\n } else {\n return Promise.reject(error);\n }\n});\n\nimport 'bootstrap/dist/css/bootstrap.css'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\nVue.use(Vuex)\n\nconst eventsHub = new Vue();\n\nVue.use(IdleVue, {\n eventEmitter: eventsHub,\n store,\n idleTime: 1800000, // 3 seconds,\n startAtIdle: false\n});\n\nnew Vue({\n store,\n render: h => h(App),\n}).$mount('#app')\n"],"sourceRoot":""} \ No newline at end of file diff --git a/client/src/App.vue b/client/src/App.vue index 210a7b3..1520783 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -35,6 +35,7 @@ import IdleTimeout from '@/components/Idle_Timeout.vue' import Phone_Info from '@/components/Phone_Info.vue' import Phone_Scraper from '@/components/Phone_Scraper.vue' +import Phone_Combined from '@/components/Phone_Combined.vue' import Settings_Management from '@/components/Settings_Management.vue' import Job_Status from '@/components/Job_Status.vue' @@ -43,7 +44,7 @@ export default { name: 'App', data () { return { - MenuTabs: ["Phone Info", "Phone Scraper", "Settings Management","Job Status"], + MenuTabs: ["Phone Info", "Phone Scraper", "Phone Combined", "Settings Management", "Job Status"], NavSelection: "", } }, @@ -53,6 +54,7 @@ export default { MainNavbar, Phone_Info, Phone_Scraper, + Phone_Combined, Settings_Management, Job_Status, IdleTimeout diff --git a/client/src/components/Phone_Combined.vue b/client/src/components/Phone_Combined.vue new file mode 100644 index 0000000..6350edd --- /dev/null +++ b/client/src/components/Phone_Combined.vue @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/client/src/components/Phone_Info.vue b/client/src/components/Phone_Info.vue index 3246ff3..140b40d 100644 --- a/client/src/components/Phone_Info.vue +++ b/client/src/components/Phone_Info.vue @@ -41,8 +41,12 @@ export default { fixedColumnsLeft: 1, manualColumnFreeze: true, filters: true, - dropdownMenu: ['remove_col', 'filter_by_condition', 'filter_action_bar'], columnSorting: true, + dropdownMenu: ['filter_by_condition'], + contextMenu: ['alignment', 'hidden_columns_hide', 'hidden_columns_show'], + hiddenColumns: { + indicators: true + }, colHeaders: ['Name', 'Pool', 'CSS', 'Description', 'Firmware', 'IPv4', 'Protocol', 'Model', 'First Seen', 'Last Seen', 'Regstamp', 'Cluster', 'EM Profile', 'EM Time' ], diff --git a/client/src/components/Phone_Scraper.vue b/client/src/components/Phone_Scraper.vue index 5d76f5d..a0a6edd 100644 --- a/client/src/components/Phone_Scraper.vue +++ b/client/src/components/Phone_Scraper.vue @@ -41,8 +41,12 @@ export default { fixedColumnsLeft: 1, manualColumnFreeze: true, filters: true, - dropdownMenu: ['remove_col', 'filter_by_condition', 'filter_action_bar'], columnSorting: true, + dropdownMenu: ['filter_by_condition'], + contextMenu: ['alignment', 'hidden_columns_hide', 'hidden_columns_show'], + hiddenColumns: { + indicators: true + }, colHeaders: ['Name', 'Model', 'IPv4', 'Serial', 'Firmware', 'DN', 'kem1', 'kem2', 'Subnet', 'Gateway', 'DHCP', 'DHCP Server', 'Domain', 'DNS1', 'DNS2', 'Alt TFTP', 'TFTP 1', 'TFTP 2', 'op_vlan', 'admin_vlan', 'CDP Host', 'CDP IP', 'CDP Port', 'LLDP Port', 'LLDP Port', 'LLDP Port', 'CUCM 1', 'CUCM 2', 'CUCM 3', 'CUCM 4', 'CUCM 5', 'Info URL', 'Dir URL', 'SVC URL', 'IDLR URL', 'Info URL Time', 'Proxy URL', 'Auth URL', 'TVS', 'ITL', @@ -129,7 +133,7 @@ export default { this.$http({ method: 'get', url: '/phonedata/scraper', - timeout: 15000 + timeout: 60000 }) .then(function (response) {