Bug 18399: Add reasons in edit suggestion page
Test plan: - Fill the authorised values's category 'SUGGEST' with reason - Edit a pending suggestion. Set the status to rejected and select a reason - Check the reason has been saved (i.e in the suggestions table of rejected tab) - Check in the corresponding message_queue that the reason is here - Re-edit the same suggestion - Check that the correct reason is selected by defaut - Edit an other pending suggetion. Set the status to rejected, select other reason and fill the input text - Re-edit the previews suggestion and make sure the input "other" is displayed by default with the correct value Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
f279be8604
commit
7b9140e8ef
|
|
@ -172,6 +172,24 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
|
|||
$("#quantity,#price,#currency").on("change",function(){
|
||||
calcNewsuggTotal();
|
||||
});
|
||||
|
||||
[% IF other_reason %]
|
||||
$(".select-reason").hide();
|
||||
$(".select-reason").find("option[value='other']").attr("selected","selected");
|
||||
$("#other_reason").show();
|
||||
[% ELSE %]
|
||||
$("#other_reason").hide();
|
||||
[% END %]
|
||||
$(".select-reason").change(function(){
|
||||
if($(this).val() == "other"){
|
||||
$(this).hide();
|
||||
$("#other_reason").show();
|
||||
}
|
||||
});
|
||||
$("a[href*=back]").click(function(){
|
||||
$(".select-reason").show().find("option[value='']").attr("selected","selected");
|
||||
$("#other_reason").hide();
|
||||
});
|
||||
});
|
||||
// ]]>
|
||||
</script>
|
||||
|
|
@ -457,6 +475,29 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
|
|||
[% END %]
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<label for="reason">Reason</label>
|
||||
<select class="select-reason" id="reason" name="reason">
|
||||
<option value=""> -- Choose a reason -- </option>
|
||||
[% FOREACH reasonsloo IN suggestion.reasonsloop %]
|
||||
[% IF (reasonsloo.lib == suggestion.reason) %]
|
||||
<option value="[% reasonsloo.lib %]" selected="selected">[% reasonsloo.lib %]</option>
|
||||
[% ELSE %]
|
||||
<option value="[% reasonsloo.lib %]">[% reasonsloo.lib %]</option>
|
||||
[% END %]
|
||||
[% END %]
|
||||
<option value="other">Others...</option>
|
||||
</select>
|
||||
|
||||
<span id="other_reason" name="other_reason">
|
||||
[% IF other_reason %]
|
||||
<input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." value="[% suggestion.reason%]"/>
|
||||
[% ELSE %]
|
||||
<input type="text" size="31" id="select-other_reason" name="other_reason" placeholder="please note your reason here..." />
|
||||
[% END %]
|
||||
<a href="#back">Cancel</a>
|
||||
</span>
|
||||
</li>
|
||||
[% END %]
|
||||
<li><table>
|
||||
<thead><tr><th> </th><th>Date</th><th>By</th></tr></thead>
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ my $returnsuggested = $input->param('returnsuggested');
|
|||
my $managedby = $input->param('managedby');
|
||||
my $displayby = $input->param('displayby') || '';
|
||||
my $tabcode = $input->param('tabcode');
|
||||
my $reasonsloop = GetAuthorisedValues("SUGGEST");
|
||||
|
||||
# filter informations which are not suggestion related.
|
||||
my $suggestion_ref = $input->Vars;
|
||||
|
|
@ -133,6 +134,12 @@ if ( $op =~ /save/i ) {
|
|||
$suggestion_only->{manageddate} = dt_from_string;
|
||||
$suggestion_only->{"managedby"} = C4::Context->userenv->{number};
|
||||
}
|
||||
|
||||
my $otherreason = $input->param('other_reason');
|
||||
if ($suggestion_only->{reason} eq 'other' && $otherreason) {
|
||||
$suggestion_only->{reason} = $otherreason;
|
||||
}
|
||||
|
||||
if ( $suggestion_only->{'suggestionid'} > 0 ) {
|
||||
&ModSuggestion($suggestion_only);
|
||||
} else {
|
||||
|
|
@ -169,6 +176,15 @@ elsif ($op=~/add/) {
|
|||
elsif ($op=~/edit/) {
|
||||
#Edit suggestion
|
||||
$suggestion_ref=&GetSuggestion($$suggestion_ref{'suggestionid'});
|
||||
$suggestion_ref->{reasonsloop} = $reasonsloop;
|
||||
my $other_reason = 1;
|
||||
foreach my $reason ( @{ $reasonsloop } ) {
|
||||
if ($suggestion_ref->{reason} eq $reason->{lib}) {
|
||||
$other_reason = 0;
|
||||
}
|
||||
}
|
||||
$other_reason = 0 unless $suggestion_ref->{reason};
|
||||
$template->param(other_reason => $other_reason);
|
||||
Init($suggestion_ref);
|
||||
$op ='save';
|
||||
}
|
||||
|
|
@ -243,7 +259,6 @@ if ($op=~/else/) {
|
|||
push @criteria_dv, '' if $criteria_has_empty;
|
||||
|
||||
my @allsuggestions;
|
||||
my $reasonsloop = GetAuthorisedValues("SUGGEST");
|
||||
foreach my $criteriumvalue ( @criteria_dv ) {
|
||||
# By default, display suggestions from current working branch
|
||||
unless ( exists $$suggestion_ref{'branchcode'} ) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue