summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bin/aa.pl12
-rw-r--r--scripts/drafts.pl35
2 files changed, 44 insertions, 3 deletions
diff --git a/bin/aa.pl b/bin/aa.pl
index e9f827df..7a79fde5 100644
--- a/bin/aa.pl
+++ b/bin/aa.pl
@@ -958,7 +958,17 @@ sub approve {
my $draft = LedgerSMB::DBObject::Draft->new({base => $lsmb});
$draft->approve();
- $form->info($locale->text('Draft Posted'));
+ if ($form->{callback}){
+ print "Location: $form->{callback}\n";
+ print "Status: 302 Found\n\n";
+ print "<html><body>";
+ my $url = $form->{callback};
+ print qq|If you are not redirected automatically, click <a href="$url">|
+ . qq|here</a>.</body></html>|;
+
+ } else {
+ $form->info($locale->text('Draft Posted'));
+ }
}
sub update {
diff --git a/scripts/drafts.pl b/scripts/drafts.pl
index e38b434c..f7771f30 100644
--- a/scripts/drafts.pl
+++ b/scripts/drafts.pl
@@ -23,12 +23,42 @@ sub search {
$template->render($request);
}
+sub list_drafts_draft_approve {
+ my ($request) = @_;
+ my $draft= LedgerSMB::DBObject::Draft->new(base => $request);
+ for my $row (1 .. $draft->{rowcount}){
+ if ($draft->{"draft_" .$draft->{"row_$row"}}){
+ $draft->{id} = $draft->{"row_$row"};
+ $draft->approve;
+ }
+ }
+ search($request);
+}
+
+sub list_drafts_draft_delete {
+ my ($request) = @_;
+ my $draft= LedgerSMB::DBObject::Draft->new(base => $request);
+ for my $row (1 .. $draft->{rowcount}){
+ if ($draft->{"draft_" .$draft->{"row_$row"}}){
+ $draft->{id} = $draft->{"row_$row"};
+ $draft->delete;
+ }
+ }
+ search($request);
+}
+
sub list_drafts {
my ($request) = @_;
my $draft= LedgerSMB::DBObject::Draft->new(base => $request);
+ my $callback = 'drafts.pl?action=list_drafts';
+ for (qw(type reference amount_gy amount_lt)){
+ if (defined $draft->{$_}){
+ $callback .= "&$_=$draft->{$_}";
+ }
+ }
my @search_results = $draft->search;
$draft->{script} = "drafts.pl";
-
+ $draft->{callback} = $draft->escape(string => $callback);
my @columns =
qw(select id transdate reference description amount);
@@ -83,7 +113,8 @@ sub list_drafts {
),
reference => {
text => $result->{reference},
- href => "$request->{type}.pl?action=edit&id=$result->{id}",
+ href => "$request->{type}.pl?action=edit&id=$result->{id}" .
+ "&callback=$draft->{callback}",
},
description => $result->{description},
transdate => $result->{transdate},