Updates to transactions.

This commit is contained in:
James Cole
2016-04-29 17:29:13 +02:00
parent 0ef3d0cf03
commit 4af8272faa
14 changed files with 416 additions and 98 deletions

View File

@@ -8,9 +8,18 @@
/* globals what:true, $, doSwitch, txt, middleCrumbName, title,button, middleCrumbUrl, piggiesLength, breadcrumbs */
$(document).ready(function () {
"use strict";
if ($('input[name="expense_account"]').length > 0) {
// the destination account name is always an expense account name.
if ($('input[name="destination_account_name"]').length > 0) {
$.getJSON('json/expense-accounts').done(function (data) {
$('input[name="expense_account"]').typeahead({source: data});
$('input[name="destination_account_name"]').typeahead({source: data});
});
}
// also for multi input
if ($('input[name="destination_account_name[]"]').length > 0) {
$.getJSON('json/expense-accounts').done(function (data) {
$('input[name="destination_account_name[]"]').typeahead({source: data});
});
}
@@ -27,9 +36,16 @@ $(document).ready(function () {
});
}
if ($('input[name="revenue_account"]').length > 0) {
// the source account name is always a revenue account name.
if ($('input[name="source_account_name"]').length > 0) {
$.getJSON('json/revenue-accounts').done(function (data) {
$('input[name="revenue_account"]').typeahead({source: data});
$('input[name="source_account_name"]').typeahead({source: data});
});
}
// also for multi-input:
if ($('input[name="source_account_name[]"]').length > 0) {
$.getJSON('json/revenue-accounts').done(function (data) {
$('input[name="source_account_name[]"]').typeahead({source: data});
});
}
@@ -38,10 +54,29 @@ $(document).ready(function () {
$('input[name="description"]').typeahead({source: data});
});
}
// also for multi input:
if ($('input[name="description[]"]').length > 0 && what !== undefined) {
$.getJSON('json/transaction-journals/' + what).done(function (data) {
$('input[name="description[]"]').typeahead({source: data});
});
}
// and for the (rare) journal_description:
if ($('input[name="journal_description"]').length > 0 && what !== undefined) {
$.getJSON('json/transaction-journals/' + what).done(function (data) {
$('input[name="journal_description"]').typeahead({source: data});
});
}
if ($('input[name="category"]').length > 0) {
$.getJSON('json/categories').done(function (data) {
$('input[name="category"]').typeahead({source: data});
});
}
// also for multi input:
if ($('input[name="category[]"]').length > 0) {
$.getJSON('json/categories').done(function (data) {
$('input[name="category[]"]').typeahead({source: data});
});
}
});

View File

@@ -33,43 +33,60 @@ function updateForm() {
"use strict";
$('input[name="what"]').val(what);
switch (what) {
case 'withdrawal':
$('#account_id_holder').show();
$('#expense_account_holder').show();
$('#revenue_account_holder').hide();
$('#account_from_id_holder').hide();
$('#account_to_id_holder').hide();
// show source_id and dest_name:
$('#source_account_id_holder').show();
$('#destination_account_name_holder').show();
// hide others:
$('#source_account_name_holder').hide();
$('#destination_account_id_holder').hide();
// show budget:
$('#budget_id_holder').show();
// hide piggy bank:
$('#piggy_bank_id_holder').hide();
if ($('#ffInput_revenue_account').val().length > 0) {
$('#ffInput_expense_account').val($('#ffInput_revenue_account').val());
// copy destination account name to
// source account name:
if ($('#ffInput_destination_account_name').val().length > 0) {
$('#ffInput_source_account_name').val($('#ffInput_destination_account_name').val());
}
break;
case 'deposit':
$('#account_id_holder').show();
$('#expense_account_holder').hide();
$('#revenue_account_holder').show();
$('#account_from_id_holder').hide();
$('#account_to_id_holder').hide();
// show source_name and dest_id:
$('#source_account_name_holder').show();
$('#destination_account_id_holder').show();
// hide others:
$('#source_account_id_holder').hide();
$('#destination_account_name_holder').hide();
// hide budget
$('#budget_id_holder').hide();
// hide piggy bank
$('#piggy_bank_id_holder').hide();
if ($('#ffInput_expense_account').val().length > 0) {
$('#ffInput_revenue_account').val($('#ffInput_expense_account').val());
if ($('#ffInput_source_account_name').val().length > 0) {
$('#ffInput_destination_account_name').val($('#ffInput_source_account_name').val());
}
break;
case 'transfer':
$('#account_id_holder').hide();
$('#expense_account_holder').hide();
$('#revenue_account_holder').hide();
$('#account_from_id_holder').show();
$('#account_to_id_holder').show();
// show source_id and dest_id:
$('#source_account_id_holder').show();
$('#destination_account_id_holder').show();
// hide others:
$('#source_account_name_holder').hide();
$('#destination_account_name_holder').hide();
// hide budget
$('#budget_id_holder').hide();
if (piggiesLength === 0) {
$('#piggy_bank_id_holder').hide();