Bug 4502: An attempt to make things more sensible.
authorMark Tompsett <mtompset@hotmail.com>
Mon, 6 Apr 2015 23:50:30 +0000 (19:50 -0400)
committerLiz Rea <wizzyrea@gmail.com>
Fri, 11 Dec 2015 01:42:07 +0000 (14:42 +1300)
The reason the budget_period_id was not defined was because in
two cases it was not passed! This patch adds those missing
parameters. And as a result, cuts out the attempt to default the
authcat to '' unless the budget_period_id is defined.

Additionally, the start and end months don't seem to be passed,
so rather than have it blow up, checking them forces the else
case logic.

budget_period_id is the budget id. If you have two budgets,
you can craft a URL to work with budget_period_id matching
those two ids. Anything else should trigger the new error which
was modified to reflect more of what the problem is.

Follow the test plan in comment #6. Feel free to also to attempt
crafting URLs and triggering errors.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Well, works and does not explode any more
No errors

To trigger the new message simply put /cgi-bin/koha/admin/aqplan.pl
on your staff page, an intriguing 'Planning for by Asort1' appears :)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit fea7b9b4d444a6bdf3f1326c54eddd68670be7f7)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
(cherry picked from commit 4ca1bac3106728450cef9feb9df942e78a1256a9)
Signed-off-by: Liz Rea <wizzyrea@gmail.com>

admin/aqplan.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tt

index e1604f9..0fdbf19 100755 (executable)
@@ -106,10 +106,6 @@ if ( $budget_period_locked == 1  && not defined  $show_actual ) {
 
 $authcat = 'Asort1' if  not defined $authcat; # defaults to Asort if no authcat given
 
-# If no active budget is defined, budget_period_id is undef
-# This is the behavior of GetBudgetPeriod
-$authcat = '' unless $budget_period_id;
-
 my $budget_id = $input->param('budget_id');
 my $op        = $input->param("op");
 
@@ -215,7 +211,7 @@ if ( $authcat =~ m/^Asort/ ) {
     $sth->finish;
     @authvals = sort { $a <=> $b } @authvals;
 }
-elsif ( $authcat eq 'MONTHS' ) {
+elsif ( $authcat eq 'MONTHS' && $budget_period_startdate && $budget_period_enddate ) {
 
     # build months
     my @start_date = UnixDate( $budget_period_startdate, ( '%Y', '%m', '%d' ) );
index fdf84b6..fa18fd3 100644 (file)
 </form>
 
         [% ELSIF not budget_period_id %]
-<div class="dialog alert">No active budget defined. You should define one before continuing.</div>
+<div class="dialog alert">That budget is not defined. You should select a defined budget to continue.</div>
         [% ELSE %]
 <div class="dialog message">No funds to display for this search criteria</div>
         [% END %]
 <div class="yui-b">
 
 <form method="post" action="/cgi-bin/koha/admin/aqplan.pl">
+    <input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
 <fieldset class="brief">
 <h4>Filter</h4>
 [% BLOCK planning_types %]
         </li>
     </ol>
     <fieldset class="action">    <input type="submit" value="Submit"/>
+    <input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
     <input type="hidden" name="report_name" value="[% report_name %]" />
     <input type="hidden" name="output" value="file" /></fieldset>
     </fieldset>