📄 queues.html.svn-base
字号:
<!-- * Asterisk-GUI - an Asterisk configuration interface * * Manage Queues * * Copyright (C) 2006-2007, Digium, Inc. * * Mark Spencer <markster@digium.com> * Pari Nannapaneni <pari@digium.com> * * See http://www.asterisk.org for more information about * the Asterisk project. Please do not directly contact * any of the maintainers of this project for assistance; * the project provides a web site, mailing lists and IRC * channels for your use. * * This program is free software, distributed under the terms of * the GNU General Public License Version 2. See the LICENSE file * at the top of the source tree. *--><script src="scripts/prototype.js"></script><script src="scripts/astman.js"></script><script src="scripts/tooltip.js"></script><link href="stylesheets/schwing.css" media="all" rel="Stylesheet" type="text/css" /><script>var mohcallbacks = new Object;var queuecallbacks = new Object;var usercallbacks = new Object;var extencallbacks = new Object;var callbacks = new Object;var widgets = {};var queueagents = new Array;var queuenames = new Array;var fieldnames = ['agents', 'autofill', 'autopause', 'cancel', 'delete', 'fullname', 'joinempty', 'leavewhenempty', 'maxlen', 'musicclass', 'name', 'new', 'reportholdtime', 'save', 'strategy', 'timeout', 'wrapuptime'];var k =0;var j = -1; var extensions_conf_qs = new Array;var localextenlength ;var userbase;function rename_extension(a,b){ // rename extension 'a' in extensions.conf to 'b' // change 'exten => a,1,Queue' in default to 'exten => b,1,Queue' var uri = build_action('update', 0, specialcontext ,'exten', b+',1,Queue(${EXTEN})', a+',1,Queue(${EXTEN})'); makerequest('u','extensions.conf', uri, function(t){return true;} );}function add_extension(a){ // add extension 'a' in extensions.conf // add 'exten => a,1,Queue' to default var uri = build_action('append', 0, specialcontext ,'exten', a+',1,Queue(${EXTEN})'); makerequest('u','extensions.conf',uri, function(t){return true;} );}function delete_extension(a){ // delete extension 'a' in extensions.conf var uri = build_action('delete', 0, specialcontext ,'exten', '',a+',1,Queue(${EXTEN})'); makerequest('u','extensions.conf', uri, function(t){return true;});}function save_queue(){ var p = 0; var q = 0; var r = 0; var fields = new Array('fullname', 'strategy', 'timeout', 'wrapuptime','autofill','autopause','maxlen', 'joinempty', 'leavewhenempty', 'reportholdtime','musicclass'); var otherfields_action, tmp; // before going any further check whether there is another entry with this name if( $('name').value != $('queues').value ){ if ($('queues').stored_config.catbyname[$('name').value]) { gui_alert("Sorry, an entry named " + $('name').value + " already exists!"); return; } for(var k=0; k<$('queues').length; k++ ){ var tmp = $('queues').options[k].innerHTML.split(' -- '); if( tmp[0] == $('name').value ){ gui_alert("Sorry, an entry named " + $('name').value + " already exists!"); return; } } } if(!$('name').value.length){ gui_alert("Sorry, an Extension must be specified for this Queue!"); $('name').focus(); return; } if(!$('fullname').value.length){ gui_alert("Sorry, a Full Name must be specified !"); $('fullname').focus(); return; } if(isNaN(localextenlength)){localextenlength = 4;} if( localextenlength !=0 && (localextenlength != $('name').value.length) ) { gui_alert("Sorry, An Extension must be "+ localextenlength + " digits !"); $('name').focus(); return ; } if (!check_patternonfields( [ 'name', 'fullname','timeout','wrapuptime','maxlen' ] ) ){ return false; } $('status_message').style.display="block"; p = 0; uri = ""; if( $('queues').options[$('queues').selectedIndex].innerHTML=='New Entry' ){ uri += build_action('newcat', p, $('name').value,"", ""); p = p+1; otherfields_action = 'append'; // add other fields add_extension( $('name').value ); // add in extensions.conf //add to stored names & fields r = queuenames.length; queueagents[r] = new Array; queuenames[r] = $('name').value ; q =0; for (k=0;k< $('agents').length ;k++ ){ if( $('agents').options[k].selected ){ queueagents [r][q] = $('agents').options[k].innerHTML.split(' -- ')[0] ; q = q+1; } } }else{ if( $('name').value != $('queues').value ){ uri += build_action('renamecat', p, $('queues').value ,"", $('name').value ); p = p+1; rename_extension($('queues').value,$('name').value ); // rename in extensions.conf } // delete existing agents uri += build_action('delete', p, $('name').value,"member", ""); p = p+1; otherfields_action = 'update'; // update other fields //update the stored names & fields for( k=0; k<queuenames.length; k++ ){ if( queuenames[k] == $('queues').value ){ j = k; break; } } // reset the array queueagents [j] to selected elements of $('agents') queueagents [j] = []; q =0; for (k=0;k< $('agents').length ;k++ ){ selectedagent = "selectedagent" + k; if( $(selectedagent).checked ){ queueagents [j][q] = $('agents').options[k].innerHTML.split(' -- ')[0] ; $('agents').options[k].selected = true; q = q+1; }else{ $('agents').options[k].selected = false; } } // also reset queuenames[j] to $('name').value queuenames[j] = $('name').value; } for(k=0; k<fields.length; k++ ){ if ( $(fields[k]).type =='checkbox'){ tmp=( $(fields[k]).checked)? 'yes': 'no'; }else{ tmp = $(fields[k]).value; } uri += build_action(otherfields_action, p, $('name').value , fields[k] , tmp); p = p + 1; } //add agents for(k=0; k<$('agents').length; k++){ selectedagent = "selectedagent" + k; if( $(selectedagent).checked ){ uri += build_action('append', p, $('name').value,"member", "Agent/"+$(selectedagent).value); p = p+1; } } makerequest('u','queues.conf', uri, function(t){ $('status_message').style.display='none'; gui_feedback('Updated','blue'); $('new').disabled = false; $('save_q').disabled = true; $('save').disabled = true; $('cancel').disabled = true; var cattmp = new Object; cattmp.catname = $('queues').value; $('queues').engine.fields2changes($('queues').widgets, $('queues').stored_config, cattmp); $('queues').options[$('queues').selectedIndex].innerHTML = $('name').value + " -- Queue '" + $('fullname').value +"'"; $('queues').options[$('queues').selectedIndex].value =$('name').value; $('queues').options[$('queues').selectedIndex].core_name = cattmp.catname; for (var y = 0; y < $('queues').options.length + 1; y++) { if (!$('queues').options[y] || do_compare($('queues'), $('queues').options[$('queues').selectedIndex], $('queues').options[y])) { $('queues').options.add($('queues').options[$('queues').selectedIndex], y); break; } } } );}// User call backsusercallbacks.loaded = function (){ merge_extensions($('queues'), $('extensions')); merge_extensions($('queues'), $('devices')); parent.loadscreen(this);}usercallbacks.identifier = "extension";usercallbacks.postselect = function (){ }usercallbacks.format = function (t,x){ if ((t.name == 'general')) return null; if ( t.fieldbyname['hasagent']=='yes' ) return t.name + " -- " + t.fieldbyname['fullname']; else return null;}// Call Backscallbacks.loaded = function (){ parent.astmanEngine.config2list("users.conf", $('agents'), new Array(), usercallbacks); }callbacks.identifier = "extension";callbacks.postselect = function (){ }callbacks.format = function (t,x){ if ((t.name == 'general')){ if ( t.fieldbyname['localextenlength'] && t.fieldbyname['localextenlength'].length){ localextenlength = parseInt(t.fieldbyname['localextenlength']) ; } userbase = ( t.fieldbyname['userbase'] && t.fieldbyname['userbase'].length ) ? t.fieldbyname['userbase'] : 6000 ; return null; } //if (t.name.substring(0,6) == 'trunk_') // return null; if ( t.fieldbyname['context'] == asterisk_guiTDPrefix + t.name ) { return null; } if (t.fieldbyname['fullname'] && t.fieldbyname['fullname'].length) { return t.name + " -- " + t.fieldbyname['fullname']; } else return t.name;}// Queue Call Backsqueuecallbacks.oncategorydelete = function(value){ $('testmulti').innerHTML = ""; delete_extension(value);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -