You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
5.2 KiB
168 lines
5.2 KiB
/* Dependencies:
|
|
BANK_ACCOUNT['list_url']
|
|
BANK_ACCOUNT['edit_id_prefix']
|
|
BANK_ACCOUNT['delete_id_prefix']
|
|
BANK_ACCOUNT['bank_id_prefix']
|
|
*/
|
|
|
|
|
|
// edit
|
|
$(document).ready(function() {
|
|
var bank_form = $('#bank-account-edit-form');
|
|
|
|
bank_form.dialog({
|
|
modal: true,
|
|
autoOpen: false,
|
|
width: 600
|
|
});
|
|
|
|
$('button[name=close-form]', bank_form).click(function() {
|
|
bank_form.dialog('close');
|
|
clearResultSearchDiv($("#searchBankResult"));
|
|
return false;
|
|
});
|
|
|
|
setup_bank_account_edit_links(bank_form);
|
|
setup_bank_account_add_link(bank_form);
|
|
|
|
var bank_delete_form = $('#bank-account-delete-form');
|
|
|
|
bank_delete_form.dialog({
|
|
modal: true,
|
|
autoOpen: false
|
|
});
|
|
|
|
$('button[name=close-form]', bank_delete_form).click(function() {
|
|
bank_delete_form.dialog('close');
|
|
return false;
|
|
});
|
|
|
|
setup_bank_account_delete_links(bank_delete_form);
|
|
});
|
|
|
|
|
|
function setup_bank_account_edit_links(form) {
|
|
$('table#accounts td a[id^="account_edit_link_"]').each(function() {
|
|
$(this).click(function() {
|
|
var link = $(this);
|
|
|
|
var form_action = link.attr('href') + 'ajax/'; // url to post form
|
|
form.attr('action', form_action); // update form action
|
|
form.dialog({title: link.attr('title')});
|
|
|
|
form.clearForm();
|
|
clear_form_errors(form);
|
|
|
|
// console.log("----",'edit');
|
|
|
|
var get_url = link.attr('href').replace('edit/', 'get/ajax/'); // url to fetch account fields
|
|
// console.log("----",get_url);
|
|
var obj_values = fetch_data(get_url);
|
|
|
|
// console.log("----",obj_values);
|
|
|
|
update_form_fields(form, obj_values);
|
|
|
|
fillResultSearchBankTemplate(obj_values);
|
|
|
|
form.one('dialogbeforeclose', update_bank_acoounts_list);
|
|
|
|
form.dialog('open');
|
|
return false;
|
|
});
|
|
});
|
|
}
|
|
|
|
function setup_bank_account_delete_links(form) {
|
|
$('table#accounts td a[id^="account_delete_link_"]').each(function() {
|
|
$(this).click(function() {
|
|
var link = $(this);
|
|
|
|
var form_action = link.attr('href') + 'ajax/'; // url to post form
|
|
form.attr('action', form_action); // update form action
|
|
//form.dialog({title: link.attr('title')});
|
|
|
|
form.clearForm();
|
|
clear_form_errors(form);
|
|
|
|
var get_url = link.attr('href').replace('delete/', 'get/ajax/'); // url to fetch account fields
|
|
var obj_values = fetch_data(get_url);
|
|
|
|
$('span.bank-account', form).html(obj_values.account);
|
|
|
|
form.one('dialogbeforeclose', update_bank_acoounts_list);
|
|
|
|
form.dialog('open');
|
|
return false;
|
|
});
|
|
});
|
|
}
|
|
|
|
function setup_bank_account_add_link(form) {
|
|
$('table#accounts td a#account_add_link').each(function() {
|
|
$(this).click(function() {
|
|
var link = $(this);
|
|
|
|
var form_action = link.attr('href') + 'ajax/'; // url to post form
|
|
form.attr('action', form_action); // update form action
|
|
form.dialog({title: link.attr('title')});
|
|
|
|
form.clearForm();
|
|
clear_form_errors(form);
|
|
|
|
form.one('dialogbeforeclose', update_bank_acoounts_list);
|
|
|
|
form.dialog('open');
|
|
return false;
|
|
});
|
|
});
|
|
}
|
|
|
|
function update_bank_acoounts_list(event, ui) {
|
|
var accounts = fetch_data(BANK_ACCOUNT['list_url']);
|
|
|
|
var table = $('table#accounts');
|
|
var tbl_rows = $('tr[class="account"]', table); // TODO > tbody ???
|
|
var tbl_rows_num = tbl_rows.length;
|
|
|
|
tbl_rows.hide(); // hide all rows
|
|
|
|
for (var i in accounts) {
|
|
if (accounts.hasOwnProperty(i)) {
|
|
var account = accounts[i];
|
|
var tbl_row = null;
|
|
|
|
var was_cloned = false;
|
|
if (i < tbl_rows_num) { // fill existing row
|
|
tbl_row = tbl_rows[i];
|
|
}
|
|
else { // add extra row
|
|
var last_row = $('tr[class="account"]', table).filter(':last');
|
|
tbl_row = last_row.clone(true).insertAfter(last_row);
|
|
was_cloned = true;
|
|
}
|
|
|
|
// update edit link
|
|
var edit_link = $('a[id^="' + BANK_ACCOUNT['edit_id_prefix'] + '"]', tbl_row);
|
|
edit_link.attr('id', BANK_ACCOUNT['edit_id_prefix'] + account['pk']);
|
|
edit_link.attr('href', account['edit_url']);
|
|
edit_link.text(account['account']);
|
|
|
|
// update delete link
|
|
var delete_link = $('a[id^="' + BANK_ACCOUNT['delete_id_prefix'] + '"]', tbl_row);
|
|
delete_link.attr('id', BANK_ACCOUNT['delete_id_prefix'] + account['pk']);
|
|
delete_link.attr('href', account['delete_url']);
|
|
|
|
// update bank name
|
|
var bank = $('span[id^="' + BANK_ACCOUNT['bank_id_prefix'] + '"]', tbl_row);
|
|
bank.attr('id', BANK_ACCOUNT['bank_id_prefix'] + account['pk']);
|
|
bank.text(account['name']);
|
|
|
|
// clear account type if needed
|
|
if (was_cloned && i >= 2)
|
|
$('td[class="account-type"]', tbl_row).text('');
|
|
|
|
$(tbl_row).show(); // show that row
|
|
}
|
|
}
|
|
}
|
|
|