1 2myapp.factory('myDropdown',['$http', function ($http) { 3 var result = ''; 4 return { 5 dropdowns:function (keyword) { 6 var config = { params: { keyword:keyword } }; 7 return $http.post(base_url+"pbx_setting/dest_dropdown",null,config).then(function(response) { 8 result = response.data; 9 return result; 10 }); 11 } 12 } 13}]); 14 15//For System Recording Page - Start 16myapp.controller("systemRecording", function($scope,$http,$timeout,myService) 17{ 18 19 $scope.loadData = function(){ 20 $http.get(base_url+"pbx_setting/recording").then(function(response) { 21 $scope.recording = response.data; 22 if($scope.recording.length == ''){ $scope.recording = 0; } 23 }); 24 } 25 $scope.loadData(); 26 27 $scope.getSystemRecordingsDownload = function(exten,exten1) 28 { 29 $scope.loader = true; 30 var config = {params: { fname : exten}}; 31 $http.post(base_url+"call_records/recordingdownload", null, config).then(function(response) 32 { 33 $scope.loader = false; 34 }); 35 } 36 37 $scope.getSystemRecordingsPlay = function(exten,exten1) 38 { 39 $scope.loader = true; 40 var config = {params: { fname : exten}}; 41 $http.post(base_url+"call_records/getRecordingsPlay", null, config).then(function(response) 42 { 43 $scope.loader = false; $('#voicemaillisten').modal('show'); 44 document.getElementById("extplay").innerHTML = '<audio id="myAudio" controls autoplay controlsList="nodownload"><source src="'+response.data.tabledata+'" type="audio/wav"></audio>'; 45 }); 46 } 47 $scope.closeActionNew = function(){ $('#voicemaillisten').modal('hide'); var vid = document.getElementById("myAudio"); vid.pause(); } 48 $scope.addRecord = function(){ $scope.tableForm = true; $scope.recordBtn = false; $scope.record = ''; $scope.files = ''; } 49 $scope.editRecord = function(record){ $scope.tableForm = true; $scope.recordBtn = true; $scope.record = angular.copy(record); $scope.files = ''; } 50 51 $scope.recordCreate = function (record,varResult) { 52 $scope.loader = true; var fd = new FormData(); 53 fd.append("fileInput", $scope.files); 54 $http.post(base_url+"pbx_setting/record_create",fd,{transformRequest: angular.identity,params:{formdata:record},headers: {'Content-Type': undefined}}) 55 .then(function(response){ $scope.loader = false; 56 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 57 $scope[varResult] = response.data.errmsg; 58 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 59 }); 60 } 61 62 $scope.recordUpdate = function(record,varResult) { 63 $scope.loader = true; var fd = new FormData(); 64 fd.append("fileInput", $scope.files); 65 $http.post(base_url+"pbx_setting/record_update",fd,{transformRequest: angular.identity,params:{formdata:record},headers: {'Content-Type': undefined}}) 66 .then(function(response){ $scope.loader = false; 67 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 68 $scope[varResult] = response.data.errmsg; 69 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 70 }); 71 }; 72 73 $scope.deleteRecord = function(record,varResult) { 74 swal({ 75 type: 'warning', 76 title: '<h4>Are you sure you want to delete Record?</h4>', 77 showConfirmButton: true, 78 confirmButtonText: "Yes, Delete!", 79 showCancelButton:true, 80 buttonsStyling: true, 81 showLoaderOnConfirm: true, 82 }).then((result) => { 83 if (result.value) { 84 $scope.loader = true; var config = { params: { formdata : record } }; 85 $http.post(base_url+"pbx_setting/record_delete", null, config).then(function(response){ $scope.loader = false; 86 if(response.data.errcode == 200){ $scope.loadData(); } 87 $scope[varResult] = response.data.errmsg; 88 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 89 }); 90 } else if (result.dismiss === 'cancel') { 91 swal( 92 'Cancelled', 93 'Your stay here :)', 94 'error' 95 ) 96 } 97 }) 98 }; 99 100}); 101//For System Recording Page - End 102 103//For Time Groups Page - Start 104myapp.controller("timeGroups", function($scope,$http,$timeout,myService) 105{ 106 $scope.loadData = function() 107 { 108 $http.get(base_url+"pbx_setting/get_timegrp").then(function(response) 109 { 110 let newData = response.data; 111 $scope.timegrpss = response.data; 112 // console.log(newData); 113 114 if (!$scope.timegrps) { 115 $scope.timegrps = []; 116 } 117 118 // Create a Set of existing timegrp_id values 119 let existingIds = new Set($scope.timegrps.map(item => item.timegrp_id)); 120 121 // Filter out duplicates before adding new data 122 newData.forEach(function(item) { 123 if (!existingIds.has(item.timegrp_id)) { 124 $scope.timegrps.push(item); 125 existingIds.add(item.timegrp_id); // Add to Set to track uniqueness 126 } 127 }); 128 129 // Log the updated list (optional) 130 // console.log($scope.timegrps); 131 132 }); 133 } 134 $scope.loadData(); 135 136 $scope.hours = [ {value: '00'},{value: '01'},{value: '02'},{value: '03'},{value: '04'},{value: '05'},{value: '06'},{value: '07'},{value: '08'},{value: '09'},{value: '10'},{value: '11'},{value: '12'},{value: '13'},{value: '14'},{value: '15'},{value: '16'},{value: '17'},{value: '18'},{value: '19'},{value: '20'},{value: '21'},{value: '22'},{value: '23'}]; 137 138 $scope.minutes = [ {value: '00'},{value: '01'},{value: '02'},{value: '03'},{value: '04'},{value: '05'},{value: '06'},{value: '07'},{value: '08'},{value: '09'},{value: '10'},{value: '11'},{value: '12'},{value: '13'},{value: '14'},{value: '15'},{value: '16'},{value: '17'},{value: '18'},{value: '19'},{value: '20'},{value: '21'},{value: '22'},{value: '23'},{value: '24'},{value: '25'},{value: '26'},{value: '27'},{value: '28'},{value: '29'},{value: '30'},{value: '31'},{value: '32'},{value: '33'},{value: '34'},{value: '35'},{value: '36'},{value: '37'},{value: '38'},{value: '39'},{value: '40'},{value: '41'},{value: '42'},{value: '43'},{value: '44'},{value: '45'},{value: '46'},{value: '47'},{value: '48'},{value: '49'},{value: '50'},{value: '51'},{value: '52'},{value: '53'},{value: '54'},{value: '55'},{value: '56'},{value: '57'},{value: '58'},{value: '59'}]; 139 140 $scope.dates = [ {value: '01'},{value: '02'},{value: '03'},{value: '04'},{value: '05'},{value: '06'},{value: '07'},{value: '08'},{value: '09'},{value: '10'},{value: '11'},{value: '12'},{value: '13'},{value: '14'},{value: '15'},{value: '16'},{value: '17'},{value: '18'},{value: '19'},{value: '20'},{value: '21'},{value: '22'},{value: '23'},{value: '24'},{value: '25'},{value: '26'},{value: '27'},{value: '28'},{value: '29'},{value: '30'},{value: '31'}]; 141 142 $scope.days = [{val:'mon', name:'Monday'},{val:'tue', name:'Tuesday'},{val:'wed', name:'Wednesday'},{val:'thu', name:'Thursday'},{val:'fri', name:'Friday'},{val:'sat', name:'Saturday'},{val:'sun', name:'Sunday'}]; 143 $scope.months = [{val:'jan', name:'January'},{val:'feb', name:'February'},{val:'mar', name:'March'},{val:'apr', name:'April'},{val:'may', name:'May'},{val:'jun', name:'June'},{val:'jul', name:'July'},{val:'aug', name:'August'},{val:'sep', name:'September'},{val:'oct', name:'October'},{val:'nov', name:'November'},{val:'dec', name:'December'}]; 144 145 $scope.addTimegrp = function() 146 { 147 $scope.hideAddRowButton = false; 148 $scope.tableForm = true; 149 $scope.timegrpBtn = false; 150 $scope.formdata = {timegrp_id:'',time_desc:'',starttimehours:'00',starttimeminute:'00',endtimehours:'00',endtimeminute:'00',weekdaystart:'mon',weekdayfinish:'mon',monthdaystart:'01',monthdayfinish:'01',monthstart:'jan',monthfinish:'jan'}; 151 } 152 153 $scope.editTimegrp = function(formdata) 154 { 155 $scope.tableForm = true; 156 $scope.timegrpBtn = true; 157 $scope.hideAddRowButton = true; 158 $scope.formdata = angular.copy(formdata); 159 } 160 161 $scope.addRow = function () 162 { 163 164 const id = $scope.formdata.rows.length + 1; // Increment ID based on the number of rows 165 166 $scope.formdata.rows.push({ 167 id: id, 168 startTimeHour: '', 169 startTimeMinute: '', 170 endTimeHour: '', 171 endTimeMinute: '', 172 weekdayStart: '', 173 weekdayFinish: '', 174 monthDayStart: '', 175 monthDayFinish: '', 176 monthStart: '', 177 monthFinish: '' 178 }); 179 180 181 }; 182 183 $scope.removeRow = function (id) 184 { 185 $scope.formdata.rows = $scope.formdata.rows.filter(row => row.id !== id); 186 187 $scope.formdata.rows = ''; 188 }; 189 190 $scope.formdata = { 191 rows: [] 192 }; 193 194 $scope.timegrpCreate = function (formdata,varResult) 195 { 196 $scope.loader = true; 197 198 if (typeof formdata === 'object' && !Array.isArray(formdata)) {
199 Object.keys(formdata).forEach(function(key) { 200 var content = formdata[key]; // Access each content object 201 content.time_desc = content.time_desc || ''; // Default empty if not filled 202 content.timegrp_id = content.timegrp_id || ''; // Default empty if not filled 203 content.starttimehours = content.starttimehours || '00'; // Default hour 204 content.starttimeminute = content.starttimeminute || '00'; // Default minute 205 content.endtimehours = content.endtimehours || '00'; // Default hour 206 content.endtimeminute = content.endtimeminute || '00'; // Default minute 207 content.weekdaystart = content.weekdaystart || 'mon'; // Default weekday 208 content.weekdayfinish = content.weekdayfinish || 'mon'; // Default weekday 209 content.monthdaystart = content.monthdaystart || '01'; // Default day 210 content.monthdayfinish = content.monthdayfinish || '01'; // Default day 211 content.monthstart = content.monthstart || 'jan'; // Default month 212 content.monthfinish = content.monthfinish || 'jan'; // Default month 213 }); 214 } else { 215 // Handle case where formdata is not an object 216 console.error("formdata is not an object"); 217 } 218 219 220 var config = { params: { formdata:formdata } }; 221 $http.post(base_url+"pbx_setting/timegrp_create", null, config).then(function(response) { 222 $scope.loader = false; 223 if(response.data.errcode == 200) 224 { 225 $scope.loadData(); 226 setTimeout(function() { 227 window.location.reload(); // Reload the page 228 }, 2000); 229 $scope.tableForm = false; 230 } 231 $scope[varResult] = response.data.errmsg; 232 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 233 }); 234 } 235 236 $scope.timegrpUpdate = function(formdata,varResult) 237 { 238 $scope.loader = true; var config = { params: { formdata : formdata } }; 239 $http.post(base_url+"pbx_setting/timegrp_update", null, config).then(function(response) { $scope.loader = false; 240 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 241 $scope[varResult] = response.data.errmsg; 242 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 243 }); 244 }; 245 246 $scope.timegrpDelete = function(formdata) 247 { 248 swal({ 249 type: 'warning', 250 title: '<h4>Are you sure you want to delete Time group?</h4>', 251 showConfirmButton: true, 252 confirmButtonText: "Yes, Delete!", 253 showCancelButton:true, 254 buttonsStyling: true, 255 showLoaderOnConfirm: true, 256 }).then((result) => { 257 if (result.value) { 258 $scope.loader = true; var config = { params: { formdata : formdata } }; 259 $http.post(base_url+"pbx_setting/timegrp_delete", null, config).then(function(response){ $scope.loader = false; 260 if(response.data.errcode == 200) 261 { 262 swal({ 263 type: 'success', 264 title: 'Success', 265 text: response.data.errmsg, 266 }); 267 $scope.loadData(); 268 window.location.reload(); 269 } 270 }); 271 } else if (result.dismiss === 'cancel') { 272 swal( 273 'Cancelled', 274 'Your stay here :)', 275 'error' 276 ) 277 } 278 $scope.loadData(); 279 }) 280 }; 281 282 283 $scope.formdata = {}; 284 285 $scope.dynamicContent = []; // Array to store dynamic content 286 287 $scope.showContentDiv = function() 288 { 289 // Push a new object with showContent set to true and default time values 290 $scope.dynamicContent.push({ 291 showContent: true, // Set it to true initially to show the content 292 starttimehours: '00', // Default start hour 293 starttimeminute: '00' 294 }); 295 }; 296 297 // Function to remove content from the array based on index 298 $scope.hideContentDiv = function(index) 299 { 300 // Set showContent to false for the specific item to hide it 301 $scope.dynamicContent[index].showContent = false; 302 }; 303 304 305 $scope.editTimegrp1 = function(formdata) 306 { 307 var selectedTimegrpId = formdata.timegrp_id; 308 309 // Filter the records in $scope.timegrps that match the selected timegrp_id 310 var matchedGrps = $scope.timegrpss.filter(function(grp) 311 { 312 return grp.timegrp_id === selectedTimegrpId; 313 }); 314 315 console.log('Matched Records:', matchedGrps); 316 317 if (matchedGrps.length > 0) 318 { 319 $scope.selectedGrps = matchedGrps; 320 $scope.multipleSelected = matchedGrps.length > 1; 321 } 322 else 323 {
324 console.log('No matching records found for timegrp_id:', selectedTimegrpId); 325 $scope.selectedGrps = []; 326 $scope.multipleSelected = false; 327 } 328 329 // Show the modal 330 $('#EditModel1').modal('show'); 331 } 332 333 334 $scope.saveEditData = function(formdata) 335 { 336 // Make sure formdata is defined, otherwise return early 337 if (!formdata) { 338 console.error("formdata is not defined"); 339 return; 340 } 341 342 // Prepare the data to send 343 var dataToSend = { 344 selectedGrps: $scope.selectedGrps, // Include selected groups data 345 formdata: formdata // Include formdata after modification 346 }; 347 348 // Check if there's any data to send 349 if (!dataToSend || (dataToSend.selectedGrps.length === 0 && Object.keys(dataToSend.formdata).length === 0)) { 350 console.error("No data to send"); 351 return; 352 } 353 354 // Ensure formdata has all necessary properties with default values 355 if (typeof formdata === 'object' && !Array.isArray(formdata)) 356 { 357 Object.keys(formdata).forEach(function(key) { 358 var content = formdata[key]; // Access each content object 359 content.time_desc = content.time_desc || ''; // Default empty if not filled 360 content.timegrp_id = content.timegrp_id || ''; // Default empty if not filled 361 content.starttimehours = content.starttimehours || '00'; // Default hour 362 content.starttimeminute = content.starttimeminute || '00'; // Default minute 363 content.endtimehours = content.endtimehours || '00'; // Default hour 364 content.endtimeminute = content.endtimeminute || '00'; // Default minute 365 content.weekdaystart = content.weekdaystart || 'mon'; // Default weekday 366 content.weekdayfinish = content.weekdayfinish || 'mon'; // Default weekday 367 content.monthdaystart = content.monthdaystart || '01'; // Default day 368 content.monthdayfinish = content.monthdayfinish || '01'; // Default day 369 content.monthstart = content.monthstart || 'jan'; // Default month 370 content.monthfinish = content.monthfinish || 'jan'; // Default month 371 }); 372 } 373 374 // Show loader 375 $scope.loader = true; 376 377 // Send the data as JSON in the request body 378 var config = { 379 headers: { 'Content-Type': 'application/json' } 380 }; 381 382 // Send the POST request with the data 383 $http.post(base_url + "pbx_setting/timegrp_bulk_update", dataToSend, config) 384 .then(function(response) { 385 // Hide loader after request completion 386 $scope.loader = false; 387 console.log(response.data.errcode); 388 if (response.data.errcode === 200) 389 { 390 // Reload data or update UI 391 $scope.tableForm = false; // Close form if necessary 392 393 // Success message 394 swal({ 395 type: 'success', 396 title: 'Success', 397 text: response.data.message, 398 }); 399 400 $('#EditModel1').modal('hide'); 401 402 setTimeout(function() 403 { 404 window.location.reload(); // Reload the page 405 }, 2000); 406 407 $scope.loadData(); 408 } 409 else { 410 // Error message 411 swal({ 412 type: 'error', 413 title: 'Error', 414 text: response.data.message, 415 }); 416 } 417 }) 418 .catch(function(error) { 419 // Hide loader and show error 420 $scope.loader = false; 421 swal({ 422 type: 'error', 423 title: 'Error', 424 text: 'An error occurred while saving the data.', 425 }); 426 console.error('Error saving data:', error); // Log any error 427 }); 428 }; 429 430 $scope.deleteData = function(id) 431 { 432 swal({ 433 type: 'warning', 434 title: '<h4>Are you sure you want to delete Time group?</h4>', 435 showConfirmButton: true, 436 confirmButtonText: "Yes, Delete!", 437 showCancelButton:true, 438 buttonsStyling: true, 439 showLoaderOnConfirm: true, 440 }).then((result) => { 441 if (result.value) { 442 $scope.loader = true; var config = { params: { formdata : id } }; 443 $http.post(base_url+"pbx_setting/timegrp_delete_row", null, config).then(function(response){ $scope.loader = false; 444 if(response.data.errcode == 200) 445 { 446 swal({ 447 type: 'success', 448 title: 'Success', 449 text: response.data.errmsg, 450 }); 451 452 $scope.loadData(); 453 window.location.reload(); 454 $('#EditModel1').modal('hide'); 455 } 456 457 }); 458 } else if (result.dismiss === 'cancel') { 459 swal( 460 'Cancelled', 461 'Your stay here :)', 462 'error' 463 ) 464 } 465 $scope.loadData(); 466 }) 467 }; 468 469 470}); 471//For Time Groups Page - End 472 473//For Time Condition Page - Start 474myapp.controller("timeCondition", function($scope,$http,$timeout,myService,myDropdown) { 475 476 $http.get(base_url+"pbx_setting/get_timegrp").then(function(response) { 477 $scope.timegrps = response.data; 478 }); 479 $scope.loadData = function(){ 480 $http.get(base_url+"pbx_setting/timecondition").then(function(response) { 481 $scope.conditions = response.data; if($scope.conditions.length == ''){ $scope.conditions = 0; } 482 }); 483 } 484 $scope.loadData(); 485 486 $scope.cond = ''; 487 $scope.destDropdown = function(keyword,key){ 488 myDropdown.dropdowns(keyword).then(function(data){ 489 $scope.dropdown1 = data; 490 $scope.destDrop = true; 491 if(key == 0){ $scope.cond = angular.extend($scope.cond,{truegoto:$scope.dropdown1[0].value}); } 492 if(keyword == '' || $scope.dropdown1 == "0"){ $scope.destDrop = false; } 493 }); 494 } 495 496 $scope.destnotDropdown = function(keyword,key){ 497 myDropdown.dropdowns(keyword).then(function(data){ 498 $scope.dropdown2 = data; 499 $scope.destnotDrop = true; 500 if(key == 0){ $scope.cond = angular.extend($scope.cond,{falsegoto:$scope.dropdown2[0].value}); } 501 if(keyword == '' || $scope.dropdown2 == "0"){ $scope.destnotDrop = false; } 502 }); 503 } 504 505 $scope.addTimecond = function(){ 506 $scope.tableForm = true; $scope.condBtn = false; 507 $scope.cond = ''; $scope.destDrop = $scope.destnotDrop = false; 508 } 509 510 $scope.editTimecond = function(cond){ 511 $scope.tableForm = true; $scope.condBtn = true; 512 $scope.destDropdown(cond.destmatch,1); 513 $scope.destnotDropdown(cond.destnotmatch,1); 514 $scope.cond = angular.copy(cond); 515 } 516 $scope.timecondCreate = function (cond,varResult) { 517 $scope.loader = true; var config = { params: { formdata:cond } }; 518 $http.post(base_url+"pbx_setting/timecond_create",null,config).then(function(response){ $scope.loader = false; 519 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 520 $scope[varResult] = response.data.errmsg; 521 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 522 }); 523 } 524 $scope.timecondUpdate = function (cond,varResult) { 525 $scope.loader = true; var config = { params: { formdata:cond } }; 526 $http.post(base_url+"pbx_setting/timecond_update",null,config).then(function(response){ $scope.loader = false; 527 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 528 $scope[varResult] = response.data.errmsg; 529 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 530 }); 531 } 532 533 $scope.timecondDelete = function(cond,varResult) { 534 swal({ 535 type: 'warning',
536 title: '<h4>Are you sure you want to delete Add Time Condition?</h4>', 537 showConfirmButton: true, 538 confirmButtonText: "Yes, Delete!", 539 showCancelButton:true, 540 buttonsStyling: true, 541 showLoaderOnConfirm: true, 542 }).then((result) => { 543 if (result.value) { 544 $scope.loader = true; var config = { params: { formdata:cond } }; 545 $http.post(base_url+"pbx_setting/timecond_delete",null,config).then(function(response){ $scope.loader = false; 546 if(response.data.errcode == 200){ $scope.loadData(); } 547 $scope[varResult] = response.data.errmsg; 548 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 549 }); 550 } else if (result.dismiss === 'cancel') { 551 swal( 552 'Cancelled', 553 'Your stay here :)', 554 'error' 555 ) 556 } 557 }) 558 }; 559}); 560//For Time Condition Page - End 561 562//For IVR Options Page - Start 563myapp.controller("ivrOptions", function($scope,$http,$timeout,myService,myDropdown) { 564 565 /*$scope.loadData = function(){ 566 $http.get(base_url+"pbx_setting/ivroptions").then(function(response) { 567 $scope.ivroption = response.data; 568 if($scope.ivroption.length == ''){ $scope.ivroption = 0; } 569 }); 570 } 571 572 $http.get(base_url+"pbx_setting/recording").then(function(response) { $scope.dropdowns = response.data; }); 573 574 $scope.addIvr = function(){ $scope.tableForm = true; } 575 $scope.editIvr = function (){ $scope.tableForm = true; } 576 577 $scope.ivrCreate = function (ivr,varResult) { 578 var config = { params: { formdata:ivr } }; 579 $http.post(base_url+"pbx_setting/ivr_create",null,config).then(function(response){ 580 if(response.status == 200){ 581 $scope[varResult] = response.data.errmsg; 582 } 583 else{ 584 $scope[varResult] = "Error occur try once again!"; 585 } 586 myService.resMessage($scope,$timeout,response.data.errcode); 587 $scope.loadData(); 588 $scope.tableForm = false; 589 }); 590 } 591 $scope.ivrUpdate = function (ivr,varResult) { 592 var config = { params: { formdata:ivr } }; 593 $http.post(base_url+"pbx_setting/ivr_update",null,config).then(function(response){ 594 if(response.status == 200){ 595 $scope[varResult] = response.data.errmsg; 596 } 597 else{ 598 $scope[varResult] = "Error occur try once again!"; 599 } 600 myService.resMessage($scope,$timeout,response.data.errcode); 601 $scope.loadData(); 602 $scope.tableForm = false; 603 }); 604 } 605 $scope.ivrDelete = function (ivr) { 606 var config = { params: { ivrid:ivr } }; 607 $http.post(base_url+"pbx_setting/ivr_delete",null,config).then(function(response){ 608 if(response.status == 200){ 609 $scope.ajaxResult = response.data.errmsg; 610 } 611 else{ 612 $scope.ajaxResult= "Error occur try once again!"; 613 } 614 myService.resMessage($scope,$timeout,response.data.errcode); 615 }); 616 }*/ 617}); 618//For IVR Options Page - End 619 620 621//For Inbound Routes Page - Start 622myapp.controller("inboundRoutes", function($scope,$http,$timeout,myService,myDropdown) { 623 624 $scope.loadData = function(){ 625 $http.get(base_url+"pbx_setting/inboundroutes").then(function(response) { 626 $scope.inbounds = response.data; if($scope.inbounds == "0"){ $scope.inbounds = 0; } 627 }); 628 } 629 $scope.loadData(); 630 631 $scope.destDropdown = function(keyword,key){ 632 myDropdown.dropdowns(keyword).then(function(data){ 633 $scope.dropdown = data; $scope.destDrop = true; 634 if(key == 0){ $scope.inbound = angular.extend($scope.inbound,{destination:$scope.dropdown[0].value}); } 635 if(keyword == '' || data == "0"){ $scope.destDrop = false; } 636 }); 637 } 638 639 $scope.editInbound = function(inbound){ 640 $scope.tableForm = true; $scope.destDropdown(inbound.destmatch,1); $scope.inbound = angular.copy(inbound); 641 } 642 643 $scope.inboundUpdate = function (inbound,varResult) { 644 $scope.loader = true; var config = { params: { formdata:inbound } }; 645 $http.post(base_url+"pbx_setting/inbound_update",null,config).then(function(response){ $scope.loader = false; 646 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 647 $scope[varResult] = response.data.errmsg; 648 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 649 }); 650 } 651}); 652//For Inbound Routes Page - End 653 654 655//For Ring Groups Page - Start 656myapp.controller("ringGroups", function($scope,$http,$timeout,myService,myDropdown) { 657 658 $http.get(base_url+"pbx_setting/extlist").then(function(response) { 659 $scope.extlist = response.data; 660 }); 661 662 $scope.loadData = function(){ 663 $http.get(base_url+"pbx_setting/ring_grp").then(function(response) { 664 $scope.ringgrp = response.data; 665 if($scope.ringgrp == "0"){ $scope.ringgrp = 0; } 666 }); 667 } 668 $scope.loadData(); 669 670 $http.get(base_url+"pbx_setting/recording").then(function(response) { $scope.dropdowns = response.data; }); 671 $scope.retries = [{val:'0', name:'0'},{val:'1', name:'1'},{val:'2', name:'2'},{val:'3', name:'3'},{val:'4', name:'4'},{val:'5', name:'5'},{val:'6', name:'6'},{val:'7', name:'7'},{val:'8', name:'8'},{val:'9', name:'9'}]; 672 673 $scope.destDropdown = function(keyword,key){ 674 myDropdown.dropdowns(keyword).then(function(data){ 675 $scope.dropdown = data; 676 $scope.destDrop = true; 677 if(key == 0){ $scope.ring = angular.extend($scope.ring,{destination:$scope.dropdown[0].value}); } 678 if(keyword == '' || data == "0"){ $scope.destDrop = false; } 679 }); 680 } 681 682 $scope.extensionAdd = function(value){ 683 if($scope.ring.grplist == ''){ $scope.val = value; }else{ $scope.val = $scope.ring.grplist+"\n"+value; } 684 $scope.ring = angular.extend($scope.ring,{grplist:$scope.val}); 685 $scope.quickpick = ''; 686 } 687 688 $scope.addRing = function(){ 689 $http.get(base_url+"pbx_setting/ring_grpadd").then(function(response) { 690 $scope.ring = response.data; 691 $scope.tableForm = true; $scope.ringBtn = false; 692 $scope.destDrop = false; 693 }); 694 } 695 696 $scope.editRing = function(ring){ 697 $scope.tableForm = true; $scope.ringBtn = true; $scope.destDropdown(ring.destmatch,1); $scope.ring = angular.copy(ring); 698 } 699 700 $scope.ringCreate = function (ring,varResult) { 701 $scope.loader = true; var config = { params: { formdata:ring } }; 702 $http.post(base_url+"pbx_setting/ring_create",null,config).then(function(response){ $scope.loader = false; 703 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 704 $scope[varResult] = response.data.errmsg; 705 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 706 }); 707 } 708 $scope.ringUpdate = function (ring,varResult) { 709 $scope.loader = true; var config = { params: { formdata:ring } }; 710 $http.post(base_url+"pbx_setting/ring_update",null,config).then(function(response){ $scope.loader = false; 711 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 712 $scope[varResult] = response.data.errmsg; 713 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 714 }); 715 } 716 $scope.ringDelete = function(ring,varResult) { 717 swal({ 718 type: 'warning',
719 title: '<h4>Are you sure you want to delete Ring Groups?</h4>', 720 showConfirmButton: true, 721 confirmButtonText: "Yes, Delete!", 722 showCancelButton:true, 723 buttonsStyling: true, 724 showLoaderOnConfirm: true, 725 }).then((result) => { 726 if (result.value) { 727 $scope.loader = true; var config = { params: { formdata:ring } }; 728 $http.post(base_url+"pbx_setting/ring_delete",null,config).then(function(response){ $scope.loader = false; 729 if(response.data.errcode == 200){ $scope.loadData(); } 730 $scope[varResult] = response.data.errmsg; 731 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 732 }); 733 } else if (result.dismiss === 'cancel') { 734 swal( 735 'Cancelled', 736 'Your stay here :)', 737 'error' 738 ) 739 } 740 }) 741 }; 742}); 743//For Ring Groups Page - End 744 745 746//For Announcement Page - Start 747myapp.controller("announcement", function($scope,$http,$timeout,myService,myDropdown) { 748 749 //alert("hdbfr"); 750 //console.log("wjefer"); 751 $scope.loadData = function(){ 752 $http.get(base_url+"pbx_setting/announcement_data").then(function(response) { 753 $scope.announce = response.data; 754 if($scope.announce == "0"){ $scope.announce = 0; } 755 }); 756 } 757 $scope.loadData(); 758 759 $http.get(base_url+"pbx_setting/recording").then(function(response) { $scope.dropdowns = response.data; }); 760 $scope.retries = [{val:'0', name:'0'},{val:'1', name:'1'},{val:'2', name:'2'},{val:'3', name:'3'},{val:'4', name:'4'},{val:'5', name:'5'},{val:'6', name:'6'},{val:'7', name:'7'},{val:'8', name:'8'},{val:'9', name:'9'}]; 761 762 $scope.destDropdown = function(keyword,key){ 763 myDropdown.dropdowns(keyword).then(function(data){ 764 $scope.dropdown = data; 765 $scope.destDrop = true; 766 if(key == 0){ $scope.anno = angular.extend($scope.anno,{post_dest:$scope.dropdown[0].value}); } 767 if(keyword == '' || data == "0"){ $scope.destDrop = false; } 768 }); 769 } 770 771 $scope.addAnnounce = function(){ 772 $scope.tableForm = true; $scope.annoBtn = false; $scope.destDrop = false; $scope.anno = ""; 773 } 774 775 $scope.editAnnounce = function(anno){ 776 $scope.tableForm = true; $scope.annoBtn = true; $scope.destDropdown(anno.destmatch,1); $scope.anno = angular.copy(anno); 777 } 778 779 $scope.announceCreate = function (anno,varResult) { 780 $scope.loader = true; var config = { params: { formdata:anno } }; 781 $http.post(base_url+"pbx_setting/announce_create",null,config).then(function(response){ $scope.loader = false; 782 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 783 $scope[varResult] = response.data.errmsg; 784 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 785 }); 786 } 787 $scope.announceUpdate = function (anno,varResult) { 788 $scope.loader = true; var config = { params: { formdata:anno } }; 789 $http.post(base_url+"pbx_setting/announce_update",null,config).then(function(response){ $scope.loader = false; 790 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 791 $scope[varResult] = response.data.errmsg; 792 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 793 }); 794 } 795 $scope.announceDelete = function(anno,varResult) { 796 swal({ 797 type: 'warning', 798 title: '<h4>Are you sure you want to delete Announcement?</h4>', 799 showConfirmButton: true, 800 confirmButtonText: "Yes, Delete!", 801 showCancelButton:true, 802 buttonsStyling: true, 803 showLoaderOnConfirm: true, 804 }).then((result) => { 805 if (result.value) { 806 $scope.loader = true; var config = { params: { formdata:anno } }; 807 $http.post(base_url+"pbx_setting/announce_delete",null,config).then(function(response){ $scope.loader = false; 808 if(response.data.errcode == 200){ $scope.loadData(); } 809 $scope[varResult] = response.data.errmsg; 810 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 811 }); 812 } else if (result.dismiss === 'cancel') { 813 swal( 814 'Cancelled', 815 'Your stay here :)', 816 'error' 817 ) 818 } 819 }) 820 }; 821}); 822//For Announcement Page - End 823 824//For General Setting Page - Start 825myapp.controller("generalSetting", function($scope,$http,$timeout,myService) { 826 827 $scope.numbers = []; 828 for (var i = 1; i <= 100; i++) { 829 $scope.numbers.push(i); 830 } 831 832 $http.get(base_url+"pbx_setting/generalsetting").then(function(response) { 833 $scope.general = response.data; 834 if(response.data == '' || response.data == 'null'){ $scope.general = {value:''}; } 835 }); 836 837 $scope.generalCreate = function (general,varResult) { 838 $scope.loader = true; var config = { params: { formdata:general } }; 839 $http.post(base_url+"pbx_setting/general_update",null,config).then(function(response){ $scope.loader = false; 840 $scope[varResult] = response.data.errmsg; 841 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 842 }); 843 } 844}); 845//For General Setting Page - End 846 847//For Conference Bridging Page - Start 848myapp.controller("conferenceBridging", function($scope,$http,$timeout,myService) { 849 $scope.loadData = function(){ 850 $http.get(base_url+"pbx_setting/conf_bridging").then(function(response) { 851 $scope.conferences = response.data; 852 if($scope.conferences == "0"){ $scope.conferences = 0; } 853 }); 854 } 855 $scope.loadData(); 856 $http.get(base_url+"pbx_setting/recording").then(function(response) { $scope.dropdowns = response.data; }); 857 858 $scope.editConference = function(conf){ $scope.tableForm = true; $scope.conf = angular.copy(conf); } 859 $scope.conferenceUpdate = function (conf,varResult) { 860 $scope.loader = true; var config = { params: { formdata:conf } }; 861 $http.post(base_url+"pbx_setting/conference_update",null,config).then(function(response){ $scope.loader = false; 862 if(response.data.errcode == 200){ $scope.loadData(); $scope.tableForm = false; } 863 $scope[varResult] = response.data.errmsg; 864 myService.resMessage($scope,$timeout,response.data.errcode,response.data.errmsg); 865 }); 866 } 867}); 868//For Conference Bridging Page - End
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.