$op = '';
}
-my $cur = GetCurrency;
-my $cur_format = C4::Context->preference("CurrencyFormat");
-my $num;
-
-if ( $cur_format eq 'FR' ) {
- $num = new Number::Format(
- 'decimal_fill' => '2',
- 'decimal_point' => ',',
- 'int_curr_symbol' => '',
- 'mon_thousands_sep' => ' ',
- 'thousands_sep' => ' ',
- 'mon_decimal_point' => ','
- );
-} else { # US by default..
- $num = new Number::Format(
- 'int_curr_symbol' => '',
- 'mon_thousands_sep' => ',',
- 'mon_decimal_point' => '.'
- );
-}
+my $num=FormatNumber;
my $script_name = "/cgi-bin/koha/admin/aqbudgets.pl";
-my $budget_id = $input->param('budget_id');
-my $budget_code = $input->param('budget_code');
-my $budget_name = $input->param('budget_name');
-my $budget_amount = $input->param('budget_amount');
-my $budget_amount_sublevel = $input->param('budget_amount_sublevel');
-my $budget_encumb = $input->param('budget_encumb');
-my $budget_expend = $input->param('budget_expend');
-my $budget_notes = $input->param('budget_notes');
-my $sort1_authcat = $input->param('sort1_authcat');
-my $sort2_authcat = $input->param('sort2_authcat');
-my $budget_description = $input->param('budget_description');
-my $budget_branchcode = $input->param('budget_branchcode');
-my $budget_owner_id = $input->param('budget_owner_id');
-my $budget_parent_id = $input->param('budget_parent_id');
+my $budget_hash=$input->Vars;
+my $budget_id = $$budget_hash{budget_id};
my $budget_permission = $input->param('budget_permission');
my $budget_period_dropbox = $input->param('budget_period_dropbox');
+#filtering non budget keys
+delete $$budget_hash{$_} foreach grep {/filter|^op$|show/} keys %$budget_hash;
my $filter_budgetname = $input->param('filter_budgetname');
my $filter_budgetbranch = $input->param('filter_budgetbranch');
# ' ------- get periods stuff ------------------'
# IF PERIODID IS DEFINED, GET THE PERIOD - ELSE JUST GET THE ACTIVE PERIOD BY DEFAULT
-my $budget_period_id = $input->param('budget_period_id');
-my $period = GetBudgetPeriod($budget_period_id);
-my $budget_period_id = $period->{'budget_period_id'};
-my $budget_period_locked = $period->{'budget_period_locked'};
-my $budget_period_description = $period->{'budget_period_description'};
-my $budget_period_total = $period->{'budget_period_total'};
+my $period = GetBudgetPeriod($$budget_hash{budget_period_id});
$template->param(
- budget_period_id => $budget_period_id,
- budget_period_locked => $budget_period_locked,
- budget_period_description => $budget_period_description,
+ %$period
);
# ------- get periods stuff ------------------
# retrieve branches
-my ( $budget, $period, $query, $sth );
+my ( $budget, );
-my $branches = GetBranches;
+my $branches = GetBranches($show_mine);
my @branchloop2;
foreach my $thisbranch (keys %$branches) {
my %row = (
push @branchloop2, \%row;
}
-$template->param(auth_cats_loop => GetBudgetAuthCats($budget_period_id) );
+$template->param(auth_cats_loop => GetBudgetAuthCats($$period{budget_period_id}) );
# Used to create form to add or modify a record
if ($op eq 'add_form') {
# if no buget_id is passed then its an add
# pass the period_id to build the dropbox - because we only want to show budgets from this period
my $dropbox_disabled;
- if ( defined $budget_id ) { ### MOD
+ if (defined $budget_id ) { ### MOD
$budget = GetBudget($budget_id);
$dropbox_disabled = BudgetHasChildren($budget_id);
- my $borrower = &GetMember( $budget->{budget_owner_id} );
+ my $borrower = &GetMember( borrowernumber=>$budget->{budget_owner_id} );
$budget->{budget_owner_name} = $borrower->{'firstname'} . ' ' . $borrower->{'surname'};
+ $$budget{$_}= sprintf("%.2f", $budget->{$_}) for grep{/amount/} keys %$budget;
}
# build budget hierarchy
my %labels;
my @values;
- my $hier = GetBudgetHierarchy($budget_period_id);
+ my $hier = GetBudgetHierarchy($$period{budget_period_id});
foreach my $r (@$hier) {
$r->{budget_code_indent} =~ s/ /\~/g; #
$labels{"$r->{budget_id}"} = $r->{budget_code_indent};
# if no buget_id is passed then its an add
$template->param(
- add_form => 1,
+ add_validate => 1,
dateformat => C4::Dates->new()->visual(),
- budget_id => $budget->{'budget_id'},
- budget_parent_id => $budget->{'budget_parent_id'},
- budget_dropbox => $budget_dropbox,
+ budget_dropbox => $budget_period_dropbox,
budget_perm_dropbox => $budget_perm_dropbox,
- budget_code => $budget->{'budget_code'},
- budget_code_indent => $budget->{'budget_code_indent'},
- budget_name => $budget->{'budget_name'},
- budget_branchcode => $budget->{'budget_branchcode'},
- budget_amount => sprintf("%.2f", $budget->{'budget_amount'}),
- budget_amount_sublevel => sprintf("%.2f", $budget->{'budget_amount_sublevel'}),
- budget_encumb => $budget->{'budget_encumb'},
- budget_expend => $budget->{'budget_expend'},
- budget_notes => $budget->{'budget_notes'},
- budget_description => $budget->{'budget_description'},
- budget_owner_id => $budget->{'budget_owner_id'},
- budget_owner_name => $budget->{'budget_owner_name'},
- budget_permission => $budget->{'budget_permission'},
- budget_period_id => $budget_period_id,
- budget_period_description => $budget_period_description,
branchloop_select => \@branchloop_select,
+ %$period,
+ %$budget,
);
# END $OP eq ADD_FORM
#---------------------- DEFAULT DISPLAY BELOW ---------------------
my $rc = DelBudget($budget_id);
}
if ( $op eq 'add_validate' ) {
- my %budget_hash = (
- budget_id => $budget_id,
- budget_parent_id => $budget_parent_id,
- budget_period_id => $budget_period_id,
- budget_code => $budget_code,
- budget_name => $budget_name,
- budget_branchcode => $budget_branchcode,
- budget_amount => $budget_amount,
- budget_amount_sublevel => $budget_amount_sublevel,
- budget_encumb => $budget_encumb,
- budget_expend => $budget_expend,
- budget_notes => $budget_notes,
- sort1_authcat => $sort1_authcat,
- sort2_authcat => $sort2_authcat,
- budget_description => $budget_description,
- budget_owner_id => $budget_owner_id,
- budget_permission => $budget_permission,
- );
- if ( defined $budget_id ) {
- ModBudget( \%budget_hash );
+ if ( defined $$budget_hash{budget_id} ) {
+ ModBudget( $budget_hash );
} else {
- AddBudget( \%budget_hash );
+ AddBudget( $budget_hash );
}
}
my $branches = GetBranches();
- my $budget_period_dropbox = GetBudgetPeriodsDropbox($budget_period_id );
+ my $budget_period_dropbox = GetBudgetPeriodsDropbox($$period{budget_period_id} );
$template->param(
budget_period_dropbox => $budget_period_dropbox,
budget_id => $budget_id,
- budget_period_startdate => $period->{'budget_period_startdate'},
- budget_period_enddate => $period->{'budget_period_enddate'},
+ %$period,
);
- my $moo = GetBudgetHierarchy($budget_period_id, $template->{param_map}->{'USER_INFO'}[0]->{'branchcode'}, $show_mine?$borrower_id:'');
+ my $moo = GetBudgetHierarchy($$period{budget_period_id}, C4::Context->userenv->{branchcode}, $show_mine?$borrower_id:'');
my @budgets = @$moo; #FIXME
my $toggle = 0;
my $period_total = 0;
my ( $period_alloc_total, $base_alloc_total, $sub_alloc_total, $base_spent_total, $base_remaining_total );
+ use YAML;
+ $debug && warn Dump(@budgets);
+ #This Looks WEIRD to me : should budgets be filtered in such a way ppl who donot own it would not see the amount spent on the budget by others ?
+
foreach my $budget (@budgets) {
# PERMISSIONS
- unless($staffflags->{'superlibrarian'} == 1 ) {
+ unless($staffflags->{'superlibrarian'} % 2 == 1 ) {
#IF NO PERMS, THEN DISABLE EDIT/DELETE
unless ( $template->{param_map}->{'CAN_user_acquisition_budget_modify'} ) {
$budget->{'budget_lock'} = 1;
}
# check budget permission
- if ( $budget_period_locked == 1 ) {
+ if ( $$period{budget_period_locked} == 1 ) {
$budget->{'budget_lock'} = 1;
} elsif ( $budget->{budget_permission} == 1 ) {
$budget->{'remaining_pos'} = 1 if $budget->{'budget_remaining'} > 0;
$budget->{'remaining_neg'} = 1 if $budget->{'budget_remaining'} < 0;
- $budget->{'budget_amount'} = $num->format_price( $budget->{'budget_amount'} );
- $budget->{'budget_spent'} = $num->format_price( $budget->{'budget_spent'} );
- $budget->{'budget_remaining'} = $num->format_price( $budget->{'budget_remaining'} );
- $budget->{'budget_amount_total'} = $num->format_price( $budget->{'budget_amount_total'} );
- $budget->{'budget_amount_sublevel'} = $num->format_price( $budget->{'budget_amount_sublevel'} ) if defined $budget->{'budget_amount_sublevel'};
- $budget->{'budget_unalloc_sublevel'} = $num->format_price( $budget->{'budget_unalloc_sublevel'} ) if defined $budget->{'budget_unalloc_sublevel'};
+ for (grep {/budget_spent|budget_amount|budget_remaining|budget_unalloc/} keys %$budget){
+ $$budget{$_} = $num->format_price( $$budget{$_} ) if defined($$budget{$_})
+ }
- my $borrower = &GetMember( $budget->{budget_owner_id} );
- $budget->{budget_owner_name} = $borrower->{'firstname'} . ' ' . $borrower->{'surname'};
- $budget->{budget_borrowernumber} = $borrower->{'borrowernumber'};
+ my $borrower = &GetMember( borrowernumber=>$budget->{budget_owner_id} );
+ $budget->{"budget_owner_name"} = $borrower->{'firstname'} . ' ' . $borrower->{'surname'};
+ $budget->{"budget_borrowernumber"} = $borrower->{'borrowernumber'};
push( @loop, { %{$budget},
- toggle => $toggle++%2,
branchname => $branches->{ $budget->{branchcode} }->{branchname},
- startdate => format_date($budget->{startdate}),
- enddate => format_date($budget->{enddate}),
}
);
}
$template->param(
else => 1,
budget => \@loop,
- budget_period_total => $num->format_price($budget_period_total),
+ budget_period_total => $num->format_price($$period{budget_period_total}),
period_alloc_total => $num->format_price($period_alloc_total),
base_alloc_total => $num->format_price($base_alloc_total),
sub_alloc_total => $num->format_price($sub_alloc_total),
base_remaining_total => $num->format_price($base_remaining_total),
period_remaining_total => $num->format_price( $period_alloc_total - $base_alloc_total ),
branchloop => \@branchloop2,
- cur => $cur->{symbol},
- cur_format => $cur_format,
);
} #---- END $OP eq DEFAULT