X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=suggestion%2Fsuggestion.pl;h=195011e0072e202370e6738d589700f05fcc9873;hb=90ba8e846a6716fb99f4ad28aeeb97a301075313;hp=aa8fad088548dfc876d2adaf4f8bc0fa84f510f0;hpb=0d991c6abecc87105eddcf57db56f5e118b426dc;p=koha_gimpoz diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index aa8fad0885..195011e007 100755 --- a/suggestion/suggestion.pl +++ b/suggestion/suggestion.pl @@ -34,20 +34,25 @@ use C4::Debug; sub Init{ my $suggestion= shift @_; - foreach my $date qw(suggesteddate manageddate){ - $suggestion->{$date}=(($suggestion->{$date} eq "0000-00-00" ||$suggestion->{$date} eq "")? - $suggestion->{$date}=C4::Dates->today: - format_date($suggestion->{$date}) - ); - } - foreach my $date qw(rejecteddate accepteddate){ + # "Managed by" is used only when a suggestion is being edited (not when created) + if ($suggestion->{'suggesteddate'} eq "0000-00-00" ||$suggestion->{'suggesteddate'} eq "") { + # new suggestion + $suggestion->{'suggesteddate'} = C4::Dates->today; + $suggestion->{'suggestedby'} = C4::Context->userenv->{"number"} unless ($suggestion->{'suggestedby'}); + } + else { + # editing of an existing suggestion + $suggestion->{'manageddate'} = C4::Dates->today; + $suggestion->{'managedby'} = C4::Context->userenv->{"number"} unless ($suggestion->{'managedby'}); + # suggesteddate, when coming from the DB, needs to be formated + $suggestion->{'suggesteddate'} = format_date($suggestion->{'suggesteddate'}); + } + foreach my $date ( qw(rejecteddate accepteddate) ){ $suggestion->{$date}=(($suggestion->{$date} eq "0000-00-00" ||$suggestion->{$date} eq "")? "": format_date($suggestion->{$date}) ); - } - $suggestion->{'managedby'}=C4::Context->userenv->{"number"} unless ($suggestion->{'managedby'}); - $suggestion->{'createdby'}=C4::Context->userenv->{"number"} unless ($suggestion->{'createdby'}); + } $suggestion->{'branchcode'}=C4::Context->userenv->{"branch"} unless ($suggestion->{'branchcode'}); } @@ -59,7 +64,7 @@ sub GetCriteriumDesc{ if ($displayby =~/suggestedby/||$displayby =~/managedby/||$displayby =~/acceptedby/){ my $borr=C4::Members::GetMember(borrowernumber=>$criteriumvalue); return "" unless $borr; - return $$borr{firstname} . ", " . $$borr{surname}; + return $$borr{surname} . ", " . $$borr{firstname}; } if ( $displayby =~ /budgetid/) { my $budget = GetBudget($criteriumvalue); @@ -173,6 +178,13 @@ elsif ($op eq "change" ) { } $op = 'else'; } +elsif ( $op eq 'show' ) { + $suggestion_ref=&GetSuggestion($$suggestion_ref{'suggestionid'}); + $$suggestion_ref{branchname} = GetBranchName $$suggestion_ref{branchcode}; + my $budget = GetBudget $$suggestion_ref{budgetid}; + $$suggestion_ref{budgetname} = $$budget{budget_name}; + Init($suggestion_ref); +} if ($op=~/else/) { $op='else'; @@ -193,7 +205,7 @@ if ($op=~/else/) { my $budget = GetBudget($suggestion->{budgetid}); $suggestion->{budget_name}=$budget->{budget_name} if $budget; } - foreach my $date qw(suggesteddate manageddate accepteddate){ + foreach my $date ( qw(suggesteddate manageddate accepteddate) ){ if ($suggestion->{$date} ne "0000-00-00" && $suggestion->{$date} ne "" ){ $suggestion->{$date}=format_date($suggestion->{$date}) ; } else { @@ -219,7 +231,7 @@ if ($op=~/else/) { ); } -foreach my $element qw(managedby suggestedby acceptedby) { +foreach my $element ( qw(managedby suggestedby acceptedby) ) { # $debug || warn $$suggestion_ref{$element}; if ($$suggestion_ref{$element}){ my $member=GetMember(borrowernumber=>$$suggestion_ref{$element}); @@ -288,10 +300,16 @@ my $patron_reason_loop = GetAuthorisedValues("OPAC_SUG",$$suggestion_ref{'patron $template->param(patron_reason_loop=>$patron_reason_loop); #Budgets management -my $searchbudgets={ budget_branchcode=>$branchfilter} if $branchfilter; -my $budgets = GetBudgets($searchbudgets); +my $budgets = []; +if ($branchfilter) { + my $searchbudgets = { budget_branchcode => $branchfilter }; + $budgets = GetBudgets($searchbudgets); +} else { + $budgets = GetBudgets(undef); +} -foreach my $budget (@$budgets){ +foreach my $budget ( @{$budgets} ) { +## Please see file perltidy.ERR $budget->{'selected'}=1 if ($$suggestion_ref{'budgetid'} && $budget->{'budget_id'} eq $$suggestion_ref{'budgetid'}) }; @@ -301,13 +319,21 @@ $template->param( "statusselected_$$suggestion_ref{'STATUS'}" =>1); # get currencies and rates my @rates = GetCurrencies(); my $count = scalar @rates; +my $active_currency = GetCurrency(); +my $selected_currency; +if ($$suggestion_ref{'currency'}) { + $selected_currency = $$suggestion_ref{'currency'}; +} +else { + $selected_currency = $active_currency->{currency}; +} my @loop_currency = (); for ( my $i = 0 ; $i < $count ; $i++ ) { my %line; $line{currcode} = $rates[$i]->{'currency'}; $line{rate} = $rates[$i]->{'rate'}; - $line{selected} = 1 if ($$suggestion_ref{'currency'} && $line{'currcode'} eq $$suggestion_ref{'currency'}); + $line{selected} = 1 if ($line{'currcode'} eq $selected_currency); push @loop_currency, \%line; } @@ -319,7 +345,7 @@ $template->param( ); my %hashlists; -foreach my $field qw(managedby acceptedby suggestedby budgetid) { +foreach my $field ( qw(managedby acceptedby suggestedby budgetid) ) { my $values_list; $values_list=GetDistinctValues("suggestions.".$field) ; my @codes_list = map{