View | Details | Raw Unified | Return to bug 21098
Collapse All | Expand All

(-)a/acqui/neworderempty.pl (-14 / +27 lines)
Lines 318-338 my $patron = Koha::Patrons->find( $loggedinuser )->unblessed; Link Here
318
my $budget =  GetBudget($budget_id);
318
my $budget =  GetBudget($budget_id);
319
# build budget list
319
# build budget list
320
my $budget_loop = [];
320
my $budget_loop = [];
321
my $budgets = GetBudgetHierarchy;
321
my $periods = GetBudgetPeriods();
322
foreach my $r (@{$budgets}) {
322
foreach my $period (@$periods) {
323
    next unless (CanUserUseBudget($patron, $r, $userflags));
323
    my $budget_hierarchy = GetBudgetHierarchy( $period->{'budget_period_id'} );
324
    if (!defined $r->{budget_amount} || $r->{budget_amount} <0) {
324
    my @funds;
325
        next;
325
    foreach my $r (@{$budget_hierarchy}) {
326
        next unless (CanUserUseBudget($patron, $r, $userflags));
327
        if (!defined $r->{budget_amount} || $r->{budget_amount} <0) {
328
            next;
329
        }
330
        push @funds, {
331
            b_id  => $r->{budget_id},
332
            b_txt => $r->{budget_name},
333
            b_sort1_authcat => $r->{'sort1_authcat'},
334
            b_sort2_authcat => $r->{'sort2_authcat'},
335
            b_active => $r->{budget_period_active},
336
            b_sel => ( $r->{budget_id} == $budget_id ) ? 1 : 0,
337
            b_level => $r->{budget_level},
338
        };
326
    }
339
    }
327
    push @{$budget_loop}, {
340
328
        b_id  => $r->{budget_id},
341
    @funds = sort { uc( $a->{b_txt} ) cmp uc( $b->{b_txt} ) } @funds;
329
        b_txt => $r->{budget_name},
342
330
        b_sort1_authcat => $r->{'sort1_authcat'},
343
    push @$budget_loop,
331
        b_sort2_authcat => $r->{'sort2_authcat'},
344
      {
332
        b_active => $r->{budget_period_active},
345
        'id'          => $period->{'budget_period_id'},
333
        b_sel => ( $r->{budget_id} == $budget_id ) ? 1 : 0,
346
        'description' => $period->{'budget_period_description'},
334
        b_level => $r->{budget_level},
347
        'funds'       => \@funds
335
    };
348
      };
336
}
349
}
337
350
338
if ($close) {
351
if ($close) {
(-)a/acqui/parcels.pl (-14 / +23 lines)
Lines 179-200 if ($count_parcels) { Link Here
179
179
180
# build budget list
180
# build budget list
181
my $budget_loop = [];
181
my $budget_loop = [];
182
my $budgets = GetBudgetHierarchy;
182
my $periods = GetBudgetPeriods();
183
foreach my $r (@{$budgets}) {
183
foreach my $period (@$periods) {
184
    next unless (CanUserUseBudget($loggedinuser, $r, $flags));
184
    my $budget_hierarchy = GetBudgetHierarchy( $period->{'budget_period_id'} );
185
    if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) {
185
    my @funds;
186
        next;
186
    foreach my $r (@{$budget_hierarchy}) {
187
        next unless (CanUserUseBudget($loggedinuser, $r, $flags));
188
        if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) {
189
            next;
190
        }
191
        push @funds, {
192
            b_id  => $r->{budget_id},
193
            b_txt => $r->{budget_name},
194
            b_active => $r->{budget_period_active},
195
        };
187
    }
196
    }
188
    push @{$budget_loop}, {
189
        b_id  => $r->{budget_id},
190
        b_txt => $r->{budget_name},
191
        b_active => $r->{budget_period_active},
192
    };
193
}
194
197
195
@{$budget_loop} =
198
    @funds = sort { uc( $a->{b_txt} ) cmp uc( $b->{b_txt} ) } @funds;
196
  sort { uc( $a->{b_txt}) cmp uc( $b->{b_txt}) } @{$budget_loop};
197
199
200
    push @$budget_loop,
201
      {
202
        'id'          => $period->{'budget_period_id'},
203
        'description' => $period->{'budget_period_description'},
204
        'funds'       => \@funds
205
      };
206
}
198
207
199
$template->param(
208
$template->param(
200
    orderby                  => $order,
209
    orderby                  => $order,
Lines 206-212 $template->param( Link Here
206
    shipmentdate_today       => dt_from_string,
215
    shipmentdate_today       => dt_from_string,
207
    booksellerid             => $booksellerid,
216
    booksellerid             => $booksellerid,
208
    GST                      => C4::Context->preference('gist'),
217
    GST                      => C4::Context->preference('gist'),
209
    budgets                  => $budget_loop,
218
    budget_loop              => $budget_loop,
210
);
219
);
211
220
212
output_html_with_http_headers $input, $cookie, $template->output;
221
output_html_with_http_headers $input, $cookie, $template->output;
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (-19 / +25 lines)
Lines 341-370 Link Here
341
                <label class="required" for="budget_id">Fund: </label>
341
                <label class="required" for="budget_id">Fund: </label>
342
                [% active_count = 0 %]
342
                [% active_count = 0 %]
343
                [% IF !ordernumber %]
343
                [% IF !ordernumber %]
344
                    [% FOREACH budget_loo IN budget_loop %]
344
                    [% FOREACH period IN budget_loop %]
345
                        [% active_count= active_count + budget_loo.b_active %]
345
                        [% FOREACH fund IN period.funds %]
346
                            [% active_count= active_count + fund.b_active %]
347
                        [% END %]
346
                    [% END %]
348
                    [% END %]
347
                [% END %]
349
                [% END %]
348
                <select id="budget_id" size="1" name="budget_id">
350
                <select id="budget_id" size="1" name="budget_id">
349
                    <option value="">Select a fund</option>
351
                    <option value="">Select a fund</option>
350
                [% FOREACH budget_loo IN budget_loop %]
352
                [% FOREACH period IN budget_loop %]
351
                    [% IF ( budget_loo.b_sel ) %]
353
                    <optgroup label="[% period.description | html %]">
352
                        [% active_count = 0 #select no other fund %]
354
                    [% FOREACH fund IN period.funds %]
353
                        <option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
355
                        [% IF ( fund.b_sel ) %]
354
                                style="padding-left:[% budget_loo.b_level | html %]em;"
356
                            [% active_count = 0 #select no other fund %]
355
                        >
357
                            <option value="[% fund.b_id | html %]" selected="selected" data-sort1-authcat="[% fund.b_sort1_authcat | html %]" data-sort2-authcat="[% fund.b_sort2_authcat | html %]"
356
                    [% ELSIF active_count==1 && budget_loo.b_active %]
358
                                    style="padding-left:[% fund.b_level | html %]em;"
357
                        <option value="[% budget_loo.b_id | html %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
359
                            >
358
                                style="padding-left:[% budget_loo.b_level | html %]em;"
360
                        [% ELSIF active_count==1 && fund.b_active %]
359
                        >
361
                            <option value="[% fund.b_id | html %]" selected="selected" data-sort1-authcat="[% fund.b_sort1_authcat | html %]" data-sort2-authcat="[% fund.b_sort2_authcat | html %]"
360
                    [% ELSE %]
362
                                    style="padding-left:[% fund.b_level | html %]em;"
361
                        [% bdgclass=budget_loo.b_active? "": "b_inactive" | html %]
363
                            >
362
                        <option value="[% budget_loo.b_id | html %]" class="[% bdgclass | html %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat | html %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat | html %]"
364
                        [% ELSE %]
363
                                style="padding-left:[% budget_loo.b_level | html %]em;"
365
                            [% bdgclass=fund.b_active? "": "b_inactive" | html %]
364
                        >
366
                            <option value="[% fund.b_id | html %]" class="[% bdgclass | html %]" data-sort1-authcat="[% fund.b_sort1_authcat | html %]" data-sort2-authcat="[% fund.b_sort2_authcat | html %]"
367
                                    style="padding-left:[% fund.b_level | html %]em;"
368
                            >
369
                        [% END %]
370
                        [% fund.b_txt | html %][% IF !fund.b_active %] (inactive)[% END %]
371
                        </option>
365
                    [% END %]
372
                    [% END %]
366
                    [% budget_loo.b_txt | html %][% IF !budget_loo.b_active %] (inactive)[% END %]
373
                    </optgroup>
367
                    </option>
368
                [% END %]
374
                [% END %]
369
                </select>
375
                </select>
370
                <span class="required">Required</span>
376
                <span class="required">Required</span>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt (-6 / +9 lines)
Lines 158-169 Link Here
158
            <label for="shipmentcost_budgetid">Shipping fund: </label>
158
            <label for="shipmentcost_budgetid">Shipping fund: </label>
159
            <select id="shipmentcost_budgetid" name="shipmentcost_budgetid">
159
            <select id="shipmentcost_budgetid" name="shipmentcost_budgetid">
160
                <option value="">No fund</option>
160
                <option value="">No fund</option>
161
                [% FOREACH budget IN budgets %]
161
                [% FOREACH period IN budget_loop %]
162
                    [% IF ( budget.b_active ) %]
162
                <optgroup label="[% period.description | html %]">
163
                        <option value="[% budget.b_id | html %]">[% budget.b_txt | html %]</option>
163
                    [% FOREACH fund IN period.funds %]
164
                    [% ELSE %]
164
                        [% IF ( fund.b_active ) %]
165
                        <option value="[% budget.b_id | html %]" class="b_inactive">[% budget.b_txt | html %] (inactive)</option>
165
                            <option value="[% fund.b_id | html %]">[% fund.b_txt | html %]</option>
166
                        [% ELSE %]
167
                            <option value="[% fund.b_id | html %]" class="b_inactive">[% fund.b_txt | html %] (inactive)</option>
168
                        [% END %]
166
                    [% END %]
169
                    [% END %]
170
                </optgroup>
167
                [% END %]
171
                [% END %]
168
            </select>
172
            </select>
169
            <label for="showallfunds" style="float:none;width:auto;">&nbsp;Show inactive:</label>
173
            <label for="showallfunds" style="float:none;width:auto;">&nbsp;Show inactive:</label>
170
- 

Return to bug 21098