3 # Copyright 2000-2002 Katipo Communications
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA 02111-1307 USA
27 this script modify the status of a subscription to ACCEPTED or to REJECTED
58 * aorr_confirm : to confirm accept or reject
59 * delete_confirm : to confirm the deletion
60 * accepted : to display only accepted.
71 use C4::Auth; # get_template_and_user
74 use C4::Koha; # GetAuthorisedValue
75 use C4::Dates qw(format_date);
79 my $title = $input->param('title');
80 my $author = $input->param('author');
81 my $note = $input->param('note');
82 my $copyrightdate = $input->param('copyrightdate');
83 my $publishercode = $input->param('publishercode');
84 my $volumedesc = $input->param('volumedesc');
85 my $publicationyear = $input->param('publicationyear');
86 my $place = $input->param('place');
87 my $isbn = $input->param('isbn');
88 my $status = $input->param('status');
89 my $suggestedbyme = $input->param('suggestedbyme');
90 my $op = $input->param('op') || "aorr_confirm";
92 my $dbh = C4::Context->dbh;
93 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
95 template_name => "suggestion/acceptorreject.tmpl",
99 flagsrequired => { catalogue => 1 },
106 my $userenv = C4::Context->userenv;
108 unless ($userenv->{flags} == 1){
109 $branchcode=$userenv->{branch};
113 if ( $op eq "aorr_confirm" ) {
114 my $parameters=$input->Vars;
116 my $suggestiontype=$parameters->{suggestiontype};
117 foreach my $suggestionid (keys %$parameters){
118 next unless $suggestionid=~/^\d+$/;
119 ## it is a suggestion
120 if ($parameters->{$suggestionid}=~/delete/i){
121 push @deletelist,$suggestionid;
124 ## it is not a deletion
126 my $reason = $parameters->{"reason$suggestionid"};
127 if ( $reason eq "other" ) {
128 $reason = $parameters->{"other-reason$suggestionid"};
131 $reason= $parameters->{"reason".$suggestiontype."all"};
132 if ( $reason eq "other" ) {
133 $reason = $parameters->{"other-reason".$suggestiontype."all"};
136 ModStatus( $suggestionid, $parameters->{$suggestionid}, $loggedinuser, '', $reason );
140 if (scalar(@deletelist)>0){
141 my $params = "&delete_field=".join ("&delete_field=",@deletelist);
143 print $input->redirect("/cgi-bin/koha/suggestion/acceptorreject.pl?op=delete_confirm$params");
147 if ( $op eq "delete_confirm" ) {
148 my @delete_field = $input->param("delete_field");
149 foreach my $delete_field (@delete_field) {
150 &DelSuggestion( $loggedinuser, $delete_field,"intranet" );
155 my $reasonsloop = GetAuthorisedValues("SUGGEST");
156 my $pending_suggestions = &SearchSuggestion( "", "", "", "", 'ASKED', "",$branchcode );
157 map{$_->{'reasonsloop'}=$reasonsloop;$_->{'date'}=format_date($_->{'date'})} @$pending_suggestions;
158 my $accepted_suggestions = &GetSuggestionByStatus('ACCEPTED',$branchcode);
159 map{$_->{'reasonsloop'}=$reasonsloop;$_->{'date'}=format_date($_->{'date'})} @$accepted_suggestions;
160 my $rejected_suggestions = &GetSuggestionByStatus('REJECTED',$branchcode);
161 map{$_->{'reasonsloop'}=$reasonsloop;$_->{'date'}=format_date($_->{'date'})} @$rejected_suggestions;
164 push @allsuggestions,{"suggestiontype"=>"accepted",
165 'suggestions_loop'=>$accepted_suggestions,
166 'reasonsloop' => $reasonsloop};
167 push @allsuggestions,{"suggestiontype"=>"pending",
168 'suggestions_loop'=>$pending_suggestions,
169 'reasonsloop' => $reasonsloop};
170 push @allsuggestions,{"suggestiontype"=>"rejected",
171 'suggestions_loop'=>$rejected_suggestions,
172 'reasonsloop' => $reasonsloop};
175 suggestions => \@allsuggestions,
179 output_html_with_http_headers $input, $cookie, $template->output;