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

(-)a/opac/opac-suggestions.pl (-35 / +44 lines)
Lines 112-147 if ( $op eq 'else' ) { Link Here
112
    }
112
    }
113
}
113
}
114
114
115
my $suggestions_loop =
115
my $suggestions_loop = &SearchSuggestion($suggestion);
116
  &SearchSuggestion( $suggestion);
117
if ( $op eq "add_confirm" ) {
116
if ( $op eq "add_confirm" ) {
118
        my $count_own_suggestions = $borrowernumber ?  &SearchSuggestion( { suggestedby => $borrowernumber}) : 0;
117
    my $count_own_suggestions = $borrowernumber ? &SearchSuggestion( { suggestedby => $borrowernumber } ) : 0;
119
    if( @$count_own_suggestions >= C4::Context->preference("MaxOpenSuggestions") ){
118
    if ( @$count_own_suggestions >= C4::Context->preference("MaxOpenSuggestions") )
120
        push @messages, { type => 'error', code => 'too_many'};
119
    {
120
        push @messages, { type => 'error', code => 'too_many' };
121
    }
121
    }
122
	elsif (@$suggestions_loop>=1){
122
    elsif ( @$suggestions_loop >= 1 ) {
123
		#some suggestion are answering the request Donot Add
123
124
        for my $suggestion ( @$suggestions_loop ) {
124
        #some suggestion are answering the request Donot Add
125
            push @messages, { type => 'error', code => 'already_exists', id => $suggestion->{suggestionid} };
125
        for my $suggestion (@$suggestions_loop) {
126
            push @messages,
127
              {
128
                type => 'error',
129
                code => 'already_exists',
130
                id   => $suggestion->{suggestionid}
131
              };
126
            last;
132
            last;
127
        }
133
        }
128
	}
134
    }
129
	else {
135
    else {
130
		my $scrubber = C4::Scrubber->new();
136
        my $scrubber = C4::Scrubber->new();
131
		foreach my $suggest (keys %$suggestion){
137
        foreach my $suggest ( keys %$suggestion ) {
138
132
            # Don't know why the encode is needed for Perl v5.10 here
139
            # Don't know why the encode is needed for Perl v5.10 here
133
            $suggestion->{$suggest} = Encode::encode("utf8", $scrubber->scrub($suggestion->{$suggest}) );
140
            $suggestion->{$suggest} = Encode::encode( "utf8",
134
		}
141
                $scrubber->scrub( $suggestion->{$suggest} ) );
142
        }
135
        $suggestion->{suggesteddate} = dt_from_string;
143
        $suggestion->{suggesteddate} = dt_from_string;
136
        $suggestion->{branchcode} = $input->param('branchcode') || C4::Context->userenv->{"branch"};
144
        $suggestion->{branchcode} = $input->param('branchcode') || C4::Context->userenv->{"branch"};
137
145
138
		&NewSuggestion($suggestion);
146
        &NewSuggestion($suggestion);
139
		# empty fields, to avoid filter in "SearchSuggestion"
147
140
		$$suggestion{$_}='' foreach qw<title author publishercode copyrightdate place collectiontitle isbn STATUS>;
148
        # delete empty fields, to avoid filter in "SearchSuggestion"
141
		$suggestions_loop =
149
        foreach my $field ( qw( title author publishercode copyrightdate place collectiontitle isbn STATUS ) ) {
142
		   &SearchSuggestion( $suggestion );
150
            delete $suggestion->{$field} unless $suggestion->{$field};
151
        }
152
        $suggestions_loop = &SearchSuggestion($suggestion);
143
        push @messages, { type => 'info', code => 'success_on_inserted' };
153
        push @messages, { type => 'info', code => 'success_on_inserted' };
144
	}
154
    }
145
    $op = 'else';
155
    $op = 'else';
146
}
156
}
147
157
Lines 161-173 map{ Link Here
161
    $library ? $s->{branchcodesuggestedby} = $library->branchname : ()
171
    $library ? $s->{branchcodesuggestedby} = $library->branchname : ()
162
} @$suggestions_loop;
172
} @$suggestions_loop;
163
173
164
my $own_suggestions_count = 0;
165
foreach my $suggestion(@$suggestions_loop) {
174
foreach my $suggestion(@$suggestions_loop) {
166
    if($suggestion->{'suggestedby'} == $borrowernumber) {
175
    if($suggestion->{'suggestedby'} == $borrowernumber) {
167
        $suggestion->{'showcheckbox'} = $borrowernumber;
176
        $suggestion->{'showcheckbox'} = $borrowernumber;
168
        if ( $suggestion->{'STATUS'} eq 'ASKED' ) {
169
            $own_suggestions_count++;
170
        }
171
    } else {
177
    } else {
172
        $suggestion->{'showcheckbox'} = 0;
178
        $suggestion->{'showcheckbox'} = 0;
173
    }
179
    }
Lines 195-209 if ( C4::Context->preference("AllowPurchaseSuggestionBranchChoice") ) { Link Here
195
}
201
}
196
202
197
$template->param(
203
$template->param(
198
	%$suggestion,
204
    %$suggestion,
199
    suggestions_loop => $suggestions_loop,
205
    suggestions_loop      => $suggestions_loop,
200
    patron_reason_loop => $patron_reason_loop,
206
    patron_reason_loop    => $patron_reason_loop,
201
    "op_$op"         => 1,
207
    "op_$op"              => 1,
202
    $op => 1,
208
    $op                   => 1,
203
    messages => \@messages,
209
    messages              => \@messages,
204
    suggestionsview => 1,
210
    suggestionsview       => 1,
205
    suggested_by_anyone => $suggested_by_anyone,
211
    suggested_by_anyone   => $suggested_by_anyone,
206
    own_suggestions_count => $own_suggestions_count,
212
    own_suggestions_count => scalar @{
213
        SearchSuggestion(
214
            { suggestedby => $borrowernumber, STATUS => 'ASKED' }
215
        )
216
    },
207
);
217
);
208
218
209
output_html_with_http_headers $input, $cookie, $template->output;
219
output_html_with_http_headers $input, $cookie, $template->output;
210
- 

Return to bug 15128