Lines 95-100
my $tabcode = $input->param('tabcode');
Link Here
|
95 |
# filter informations which are not suggestion related. |
95 |
# filter informations which are not suggestion related. |
96 |
my $suggestion_ref = $input->Vars; |
96 |
my $suggestion_ref = $input->Vars; |
97 |
|
97 |
|
|
|
98 |
# get only the columns of Suggestion |
99 |
my $schema = Koha::Database->new()->schema; |
100 |
my $columns = ' '.join(' ', $schema->source('Suggestion')->columns).' '; |
101 |
my $suggestion_only = { map { $columns =~ / $_ / ? ($_ => $suggestion_ref->{$_}) : () } keys($suggestion_ref) }; |
102 |
$suggestion_only->{STATUS} = $suggestion_ref->{STATUS}; |
103 |
|
98 |
delete $$suggestion_ref{$_} foreach qw( suggestedbyme op displayby tabcode edit_field ); |
104 |
delete $$suggestion_ref{$_} foreach qw( suggestedbyme op displayby tabcode edit_field ); |
99 |
foreach (keys %$suggestion_ref){ |
105 |
foreach (keys %$suggestion_ref){ |
100 |
delete $$suggestion_ref{$_} if (!$$suggestion_ref{$_} && ($op eq 'else' || $op eq 'change')); |
106 |
delete $$suggestion_ref{$_} if (!$$suggestion_ref{$_} && ($op eq 'else' || $op eq 'change')); |
Lines 115-140
$template->param('borrowernumber' => $borrowernumber);
Link Here
|
115 |
## Operations |
121 |
## Operations |
116 |
## |
122 |
## |
117 |
if ( $op =~ /save/i ) { |
123 |
if ( $op =~ /save/i ) { |
118 |
if ( $$suggestion_ref{"STATUS"} ) { |
124 |
if ( $suggestion_only->{"STATUS"} ) { |
119 |
if ( my $tmpstatus = lc( $$suggestion_ref{"STATUS"} ) =~ /ACCEPTED|REJECTED/i ) { |
125 |
if ( my $tmpstatus = lc( $suggestion_only->{"STATUS"} ) =~ /ACCEPTED|REJECTED/i ) { |
120 |
$$suggestion_ref{ lc( $$suggestion_ref{"STATUS"}) . "date" } = C4::Dates->today; |
126 |
$suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "date" } = C4::Dates->today; |
121 |
$$suggestion_ref{ lc( $$suggestion_ref{"STATUS"}) . "by" } = C4::Context->userenv->{number}; |
127 |
$suggestion_only->{ lc( $suggestion_only->{"STATUS"}) . "by" } = C4::Context->userenv->{number}; |
122 |
} |
128 |
} |
123 |
$$suggestion_ref{"manageddate"} = C4::Dates->today; |
129 |
$suggestion_only->{"manageddate"} = C4::Dates->today; |
124 |
$$suggestion_ref{"managedby"} = C4::Context->userenv->{number}; |
130 |
$suggestion_only->{"managedby"} = C4::Context->userenv->{number}; |
125 |
} |
131 |
} |
126 |
if ( $$suggestion_ref{'suggestionid'} > 0 ) { |
132 |
if ( $suggestion_only->{'suggestionid'} > 0 ) { |
127 |
&ModSuggestion($suggestion_ref); |
133 |
&ModSuggestion($suggestion_only); |
128 |
} else { |
134 |
} else { |
129 |
###FIXME:Search here if suggestion already exists. |
135 |
###FIXME:Search here if suggestion already exists. |
130 |
my $suggestions_loop = |
136 |
my $suggestions_loop = |
131 |
SearchSuggestion( $suggestion_ref ); |
137 |
SearchSuggestion( $suggestion_only ); |
132 |
if (@$suggestions_loop>=1){ |
138 |
if (@$suggestions_loop>=1){ |
133 |
#some suggestion are answering the request Donot Add |
139 |
#some suggestion are answering the request Donot Add |
134 |
} |
140 |
} |
135 |
else { |
141 |
else { |
136 |
## Adding some informations related to suggestion |
142 |
## Adding some informations related to suggestion |
137 |
&NewSuggestion($suggestion_ref); |
143 |
&NewSuggestion($suggestion_only); |
138 |
} |
144 |
} |
139 |
# empty fields, to avoid filter in "SearchSuggestion" |
145 |
# empty fields, to avoid filter in "SearchSuggestion" |
140 |
} |
146 |
} |
Lines 160-175
elsif ($op=~/edit/) {
Link Here
|
160 |
elsif ($op eq "change" ) { |
166 |
elsif ($op eq "change" ) { |
161 |
# set accepted/rejected/managed informations if applicable |
167 |
# set accepted/rejected/managed informations if applicable |
162 |
# ie= if the librarian has choosen some action on the suggestions |
168 |
# ie= if the librarian has choosen some action on the suggestions |
163 |
if ($$suggestion_ref{"STATUS"} eq "ACCEPTED"){ |
169 |
if ($suggestion_only->{"STATUS"} eq "ACCEPTED"){ |
164 |
$$suggestion_ref{"accepteddate"}=C4::Dates->today; |
170 |
$suggestion_only->{"accepteddate"}=C4::Dates->today; |
165 |
$$suggestion_ref{"acceptedby"}=C4::Context->userenv->{number}; |
171 |
$suggestion_only->{"acceptedby"}=C4::Context->userenv->{number}; |
166 |
} elsif ($$suggestion_ref{"STATUS"} eq "REJECTED"){ |
172 |
} elsif ($suggestion_only->{"STATUS"} eq "REJECTED"){ |
167 |
$$suggestion_ref{"rejecteddate"}=C4::Dates->today; |
173 |
$suggestion_only->{"rejecteddate"}=C4::Dates->today; |
168 |
$$suggestion_ref{"rejectedby"}=C4::Context->userenv->{number}; |
174 |
$suggestion_only->{"rejectedby"}=C4::Context->userenv->{number}; |
169 |
} |
175 |
} |
170 |
if ($$suggestion_ref{"STATUS"}){ |
176 |
if ($suggestion_only->{"STATUS"}){ |
171 |
$$suggestion_ref{"manageddate"}=C4::Dates->today; |
177 |
$suggestion_only->{"manageddate"}=C4::Dates->today; |
172 |
$$suggestion_ref{"managedby"}=C4::Context->userenv->{number}; |
178 |
$suggestion_only->{"managedby"}=C4::Context->userenv->{number}; |
173 |
} |
179 |
} |
174 |
if ( my $reason = $$suggestion_ref{"reason$tabcode"}){ |
180 |
if ( my $reason = $$suggestion_ref{"reason$tabcode"}){ |
175 |
if ( $reason eq "other" ) { |
181 |
if ( $reason eq "other" ) { |
Lines 183-190
elsif ($op eq "change" ) {
Link Here
|
183 |
} |
189 |
} |
184 |
foreach my $suggestionid (@editsuggestions) { |
190 |
foreach my $suggestionid (@editsuggestions) { |
185 |
next unless $suggestionid; |
191 |
next unless $suggestionid; |
186 |
$$suggestion_ref{'suggestionid'}=$suggestionid; |
192 |
$suggestion_only->{'suggestionid'}=$suggestionid; |
187 |
&ModSuggestion($suggestion_ref); |
193 |
&ModSuggestion($suggestion_only); |
188 |
} |
194 |
} |
189 |
my $params = ''; |
195 |
my $params = ''; |
190 |
foreach my $key ( |
196 |
foreach my $key ( |