/** * Copyright (c) 2015, Christopher W. Olsen <cwolsen@uBixTechnologies.com> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by uBix Technologies. * 4. Neither the name of uBix Technologies nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY uBix Technologies ''AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL uBix Technologies BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $Id: account_settings.js 402 2016-03-01 01:09:43Z reddawg $ * */ /* DataTables Variables */ var ADT; var edit_account; var edit_account_form; /* VoIP Servers List */ var voipServers; function dV(l) { return(confirm('Are you sure that you want to delete ' + l + '?')); } function editAccount() { _AJAX( "/admin/voip/account_settings_json.php", edit_account_form.serialize(), function (data) { alert(data.ret_string); } ); } function editCloseAccount() { _AJAX( "/admin/voip/account_settings_json.php", edit_account_form.serialize(), function (data) { alert(data.ret_string); if (data.ret == 1) edit_account.dialog('close'); } ); } $(function() { // Initialize Account DataTable ADT = $('#actTable').dataTable( { "order": [[ 0, 'asc' ]], "columns": [ { "width": "80" }, null, { "width": "100" }, { "width": "100" }, { "width": "100" }, { "width": "80" }, { "width": "50" } ] }); // Initialize Edit Account Modal edit_account = $( "#dialog-edit-account" ).dialog({ autoOpen: false, height: 750, width: 750, modal: true, buttons: { "Save": editAccount, "Save & Close": editCloseAccount, Cancel: function() { edit_account.dialog( "close" ); } }, close: function() { edit_account_form[ 0 ].reset(); } }); edit_account_form = $("#edit_account_form" ).on("submit", function( event ) { event.preventDefault(); // Do Something }); ADT.delegate(".edit_account", "click", function() { edit_account.dialog("open"); _AJAX( "/admin/voip/account_settings_json.php", "data[req]=account_info&data[account_number]=" + this.id, function(data) { $('#aN').val(data.account_number); $('#vC').val(data.voip_code); $('#accountNumber').text(data.account_number); $('#accountCode').text(data.account_code); $('#voipCode').text(data.voip_code); $('#sP').val(data.server_primary); $('#sB').val(data.server_backup); $.each(voipServers, function( index, item ) { if (data.server_primary == item.server_address) $("#primaryServer").append($("<option selected></option>").text(item.server_name).val(index)); else $("#primaryServer").append($("<option></option>").text(item.server_name).val(index)); if (data.server_backup == item.server_address) $("#backupServer").append($("<option selected></option>").text(item.server_name).val(index)); else $("#backupServer").append($("<option></option>").text(item.server_name).val(index)); }); updateTransport($('#primaryServer').val(), 'primaryTransport', data.transport_primary); updateTransport($('#backupServer').val(), 'backupTransport', data.transport_backup); updatePort($('#primaryServer').val(), 'primaryPort', data.server_port_primary); updatePort($('#backupServer').val(), 'backupPort', data.server_port_backup); $('#extensionRange').val(data.ext_range); $('#dialplan').val(data.dialplan); $('#dialplanTimeout').val(data.dialplan_timeout); }, function(data) { } ); }); $("#primaryServer").on("change", function() { var sI = $('#primaryServer').val(); $('#sP').val(voipServer[sI].server_address); updateTransport(sI, 'primaryTransport', 'udp'); updatePort($('#primaryServer').val(), 'primaryPort', '5060'); }); $("#backupServer").on("change", function() { var sI = $('#backupServer').val(); $('#sB').val(voipServer[sI].server_address); updateTransport(sI, 'backupTransport', 'udp'); updatePort($('#backupServer').val(), 'backupTransport', '5060'); }); }); function updateTransport(sI, sF, sT) { $("#" + sF + " option").remove(); $.each(voipServers[sI].server_transports.split(','), function(index, item) { if (sT == item) $('#' + sF).append($("<option selected></option>").text(item).val(item)); else $('#' + sF).append($("<option></option>").text(item).val(item)); }); } function updatePort(sI, sF, sP) { $("#" + sF + " option").remove(); $.each(voipServers[sI].server_ports.split(','), function(index, item) { if (sP == item) $('#' + sF).append($("<option selected></option>").text(item).val(item)); else $('#' + sF).append($("<option></option>").text(item).val(item)); }); } function _start() { _AJAX( "/admin/voip/account_settings_json.php", "data[req]=account_list", function(data) { if (data == null) alert('There was a problem loading data'); else ADT.fnAddData(data); }, function(data) { alert('There was a problem loading data'); } ); /* Get Server List */ _AJAX( "/admin/voip/voip_json.php", "data[req]=voipServers&data[eI]=1", function( data ) { voipServers = data; } ); /* _AJAX( "/admin/voip/index_json.php", "data[req]=ytd_history", function(data) { populateYTDHistory(data); }, function(data) { alert('There was a problem loading call data'); } ); */ }