summaryrefslogtreecommitdiff
path: root/bin/aa.pl
diff options
context:
space:
mode:
Diffstat (limited to 'bin/aa.pl')
-rw-r--r--bin/aa.pl24
1 files changed, 23 insertions, 1 deletions
diff --git a/bin/aa.pl b/bin/aa.pl
index 858ac849..e3b869dd 100644
--- a/bin/aa.pl
+++ b/bin/aa.pl
@@ -883,7 +883,16 @@ sub form_footer {
{ ndx => 8, key => 'D', value => $locale->text('Delete') },
);
if (!$form->{approved} && !$form->{batch_id}){
- $button{approve} = { ndx => 3, key => 'O', value => $locale->text('Post') };
+ $button{approve} = {
+ ndx => 3,
+ key => 'O',
+ value => $locale->text('Post as Saved') };
+ if (grep /^lsmb_$form->{company}__draft_modify$/, @{$form->{_roles}}){
+ $button{edit_and_approve} = {
+ ndx => 4,
+ key => 'O',
+ value => $locale->text('Post as Shown') };
+ }
delete $button{post_as_new};
delete $button{print_and_post_as_new};
delete $button{post};
@@ -942,6 +951,18 @@ sub form_footer {
}
+sub edit_and_approve {
+ use LedgerSMB::DBObject::Draft;
+ use LedgerSMB;
+ my $lsmb = LedgerSMB->new();
+ $lsmb->merge($form);
+ my $draft = LedgerSMB::DBObject::Draft->new({base => $lsmb});
+ $draft->delete();
+ delete $form->{id};
+ AA->post_transaction( \%myconfig, \%$form );
+ approve();
+}
+
sub approve {
use LedgerSMB::DBObject::Draft;
use LedgerSMB;
@@ -1150,6 +1171,7 @@ sub post {
if ( $form->{printandpost} ) {
&{"print_$form->{formname}"}( $old_form, 1 );
}
+ print STDERR "Redirecting\n";
$form->redirect( $locale->text('Transaction posted!') );
}
else {