From 94903b12ecba837d8717bcf91b7bcc25556a996a Mon Sep 17 00:00:00 2001 From: aurynn_cmd Date: Thu, 5 Jul 2007 18:44:24 +0000 Subject: Modifications to support toggling of the On-Hold field in the ar and ap tables; An On-Hold toggle button was added to the Invoice Edit page, as well as a selector for All Invoices (default), Active Invoices, and Held Invoices to the AR and AP search pages. Modifications as needed to bring the code in line with linuxpoet's entity patches. git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1350 4979c152-3d1c-0410-bac9-87ea11338e46 --- LedgerSMB/IS.pm | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'LedgerSMB/IS.pm') diff --git a/LedgerSMB/IS.pm b/LedgerSMB/IS.pm index 42fb5a2b..3ffbc1ed 100644 --- a/LedgerSMB/IS.pm +++ b/LedgerSMB/IS.pm @@ -1759,7 +1759,8 @@ sub retrieve_invoice { a.duedate, a.taxincluded, a.curr AS currency, a.employee_id, e.name AS employee, a.till, a.entity_id, - a.language_code, a.ponumber + a.language_code, a.ponumber, + a.on_hold FROM ar a LEFT JOIN employee e ON (e.entity_id = a.employee_id) WHERE a.id = ?|; @@ -2039,5 +2040,44 @@ sub exchangerate_defaults { } +=pod + +=cut + +sub toggle_on_hold { + + my $self = shift @_; + my $form = shift @_; + + if ($form->{id}) { # it's an existing (.. probably) invoice. + + my $dbh = $form->{dbh}; + my $sth = $dbh->prepare("SELECT on_hold from ar where ar.id = ?"); + $sth->execute($form->{id}); + my $state = $sth->fetchrow_array; + my $sth; + my $n_s; # new state + if ($state[0] == 't') { + + # Turn it off + $n_s = 'f'; + + } else { + $n_s = 't'; + } + + my $sth = $dbh->prepare("update ar set on_hold = ?::boolean where ar.id = ?"); + my $code = $dbh->execute($ns, $form->{id}); + + return 1; + + } else { # This shouldn't even be possible, but check for it anyway. + + # Definitely, DEFINITELY check it. + # happily return 0. Find out about proper error states. + return 0; + } +} + 1; -- cgit v1.2.3