diff options
author | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-07-05 18:44:24 +0000 |
---|---|---|
committer | aurynn_cmd <aurynn_cmd@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-07-05 18:44:24 +0000 |
commit | 94903b12ecba837d8717bcf91b7bcc25556a996a (patch) | |
tree | 8e8185200c5a72e3cef0d7edf3391f38409a50ea /LedgerSMB/IS.pm | |
parent | 9aec614fb5c2470d3bb60e88bb6a71429d50b790 (diff) |
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
Diffstat (limited to 'LedgerSMB/IS.pm')
-rw-r--r-- | LedgerSMB/IS.pm | 42 |
1 files changed, 41 insertions, 1 deletions
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; |