PageSourceSearch

https://customer.vitelglobal.com/plugin/js/myapp-pbx.js

js vitelglobal.com collected 2026-09-24 10:19:52 UTC 33,664 bytes, 868 lines download raw bytes

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.