summaryrefslogtreecommitdiff
path: root/LedgerSMB
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-05-26 18:35:50 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2008-05-26 18:35:50 +0000
commit0207e34bdbffc8e0df9b97b5ec2b69bed28e6471 (patch)
tree062c1083d4abb9a02d711528504d4172f750b439 /LedgerSMB
parentdd779e7ff888ad90d0cefff239b5e77fc80d991e (diff)
Closing bug 1871072
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@2156 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB')
-rw-r--r--LedgerSMB/AA.pm5
-rw-r--r--LedgerSMB/DBObject/Draft.pm27
-rw-r--r--LedgerSMB/GL.pm4
-rw-r--r--LedgerSMB/IR.pm6
4 files changed, 33 insertions, 9 deletions
diff --git a/LedgerSMB/AA.pm b/LedgerSMB/AA.pm
index 4663971b..d5d8a1fe 100644
--- a/LedgerSMB/AA.pm
+++ b/LedgerSMB/AA.pm
@@ -371,10 +371,7 @@ sub post_transaction {
$query = qq| UPDATE $table SET approved = ? WHERE id = ?|;
$dbh->prepare($query)->execute($form->{approved}, $form->{id}) ||
$form->dberror($query);
- if (!$form->{approved}){
- if (not defined $form->{batch_id}){
- $form->error($locale->text('Batch ID Missing'));
- }
+ if (!$form->{approved} && $form->{batch_id}){
if ($form->{arap} eq 'ar'){
$batch_class = 'receivable';
} else {
diff --git a/LedgerSMB/DBObject/Draft.pm b/LedgerSMB/DBObject/Draft.pm
new file mode 100644
index 00000000..2aec59a9
--- /dev/null
+++ b/LedgerSMB/DBObject/Draft.pm
@@ -0,0 +1,27 @@
+package LedgerSMB::DBObject::Draft;
+
+use base qw/LedgerSMB::DBObject/;
+
+sub search {
+ my ($self) = @_;
+ @{$self->{draft_results} = $self->exec_method(funcname => 'draft__search');
+ return @{$self->{draft_results};
+}
+
+sub approve {
+ my ($self) = @_;
+ if (!$self->{id}){
+ $self->error($self->{_locale}->text('No ID Set');
+ }
+ ($self->{approved}) = $self->exec_method(funcname => 'draft_approve');
+ return $self->{approved};
+}
+
+sub delete {
+ my ($self) = @_;
+ if (!$self->{id}){
+ $self->error($self->{_locale}->text('No ID Set');
+ }
+ ($self->{deleted}) = $self->exec_method(funcname => 'draft_delete');
+ return $self->{deleted};
+}
diff --git a/LedgerSMB/GL.pm b/LedgerSMB/GL.pm
index 2009c037..25b0206d 100644
--- a/LedgerSMB/GL.pm
+++ b/LedgerSMB/GL.pm
@@ -80,7 +80,7 @@ sub post_transaction {
my $id = $dbh->quote( $form->{id} );
if ($form->{separate_duties}){
- $form->approved = '0';
+ $form->{approved} = '0';
}
if ( $form->{id} ) {
@@ -135,7 +135,7 @@ sub post_transaction {
my $query = qq| UPDATE gl SET approved = ? WHERE id = ?|;
$dbh->prepare($query)->execute($form->{approved}, $form->{id})
|| $form->dberror($query);
- if (!$form->{approved}){
+ if (!$form->{approved} and $form->{batch_id}){
if (not defined $form->{batch_id}){
$form->error($locale->text('Batch ID Missing'));
}
diff --git a/LedgerSMB/IR.pm b/LedgerSMB/IR.pm
index e3e6aa2a..d2ade36d 100644
--- a/LedgerSMB/IR.pm
+++ b/LedgerSMB/IR.pm
@@ -921,16 +921,16 @@ sub reverse_invoice {
# delete acc_trans
$query = qq|DELETE FROM acc_trans WHERE trans_id = ?|;
- $dbh->prepare($query);
+ $sth = $dbh->prepare($query);
$sth->execute( $form->{id} ) || $form->dberror($query);
# delete invoice entries
$query = qq|DELETE FROM invoice WHERE trans_id = ?|;
- $dbh->prepare($query);
+ $sth = $dbh->prepare($query);
$sth->execute( $form->{id} ) || $form->dberror($query);
$query = qq|DELETE FROM shipto WHERE trans_id = ?|;
- $dbh->prepare($query);
+ $sth = $dbh->prepare($query);
$sth->execute( $form->{id} ) || $form->dberror($query);
$dbh->commit;