Bug 14963: Add the ability to suggest purchase on existing title
This patch adds the ability to create a new purchase suggestion from an existing title. This will prevent the creation of bibliographic records that already exist in the catalogue. Also it will ease the process during acquisition. Test plan: - Login at the OPAC and go to the detail of a bibliographic record. - Note that there is a new link "New purchase suggestion for this title" on the right of the screen - Please suggest an other icon if that one is not appropriated - Click on it and submit your new suggestion => You should not get the confirmation screen (introduced by bug 14973) warning you that the title already exists. - Login staff side and order from this suggestion. - Receive items and confirm that a new bibliographic record is not created. Sponsored-by: BULAC - http://www.bulac.fr/ Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
parent
93a06105a8
commit
dd9be62a2a
|
|
@ -255,7 +255,6 @@ if ( not $ordernumber ) { # create order
|
|||
}
|
||||
else { #modify order
|
||||
$data = GetOrder($ordernumber);
|
||||
$biblionumber = $data->{'biblionumber'};
|
||||
$budget_id = $data->{'budget_id'};
|
||||
|
||||
$template->param(
|
||||
|
|
@ -272,6 +271,7 @@ else { #modify order
|
|||
push @order_users, $order_patron if $order_patron;
|
||||
}
|
||||
}
|
||||
$biblionumber = $data->{biblionumber};
|
||||
|
||||
# We can have:
|
||||
# - no ordernumber but a biblionumber: from a subscription, from an existing record
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@
|
|||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF Koha.Preference('suggestion') %]
|
||||
<li><a class="btn btn-link btn-lg" href="/cgi-bin/koha/opac-suggestions.pl?op=add&biblionumber=[% biblio.biblionumber | url %]"><i class="fa fa-fw fa-money"></i> New purchase suggestion for this title</a></li>
|
||||
[% END %]
|
||||
|
||||
[% IF ( OpacHighlightedWords && query_desc ) %]
|
||||
<li>
|
||||
<a href="#" class="highlight_toggle btn btn-link btn-lg" id="highlight_toggle_off"><i class="fa fa-fw fa-pencil"></i> Unhighlight</a>
|
||||
|
|
|
|||
|
|
@ -204,10 +204,15 @@
|
|||
</fieldset>
|
||||
<fieldset class="action">
|
||||
<input type="hidden" name="suggested_by_anyone" value="[% suggested_by_anyone | html %]" />
|
||||
<input type="hidden" name="op" value="add_validate" />
|
||||
[% IF ( need_confirm ) %]
|
||||
<input type="submit" onclick="this.form.op.value = 'add_confirm'; this.form.submit();" class="btn" value="Confirm your suggestion" />
|
||||
[% ELSE %]
|
||||
[% IF need_confirm # Confirm that we want a duplicate %]
|
||||
<input type="hidden" name="op" value="add_confirm" />
|
||||
<input type="submit" class="btn" value="Confirm your suggestion" />
|
||||
[% ELSIF biblionumber # Create from an existing title %]
|
||||
<input type="hidden" name="op" value="add_confirm" />
|
||||
<input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
|
||||
<input type="submit" class="btn" value="Submit your suggestion" />
|
||||
[% ELSE # Not created from an existing title, search for possible duplicate %]
|
||||
<input type="hidden" name="op" value="add_validate" />
|
||||
<input type="submit" class="btn" value="Submit your suggestion" />
|
||||
[% END %]
|
||||
<a class="action" href="/cgi-bin/koha/opac-suggestions.pl">Cancel</a>
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ use Koha::DateUtils qw( dt_from_string );
|
|||
|
||||
my $input = new CGI;
|
||||
my $op = $input->param('op');
|
||||
my $biblionumber = $input->param('biblionumber');
|
||||
my $suggestion = $input->Vars;
|
||||
my $negcaptcha = $input->param('negcap');
|
||||
my $suggested_by_anyone = $input->param('suggested_by_anyone') || 0;
|
||||
|
|
@ -116,7 +117,7 @@ if ( $op eq 'else' ) {
|
|||
}
|
||||
}
|
||||
|
||||
if ( $op eq "add_validate" ) {
|
||||
if ( $op eq "add_validate" && not $biblionumber ) { # If we are creating the suggestion from an existing record we do not want to search for duplicates
|
||||
$op = 'add_confirm';
|
||||
my $biblio = MarcRecordFromNewSuggestion($suggestion);
|
||||
if ( my ($duplicatebiblionumber, $duplicatetitle) = FindDuplicate($biblio) ) {
|
||||
|
|
@ -229,6 +230,19 @@ my @mandatoryfields;
|
|||
foreach (@mandatoryfields) {
|
||||
$template->param( $_."_required" => 1);
|
||||
}
|
||||
if ( $biblionumber ) {
|
||||
my $biblio = Koha::Biblios->find($biblionumber);
|
||||
$template->param(
|
||||
biblionumber => $biblio->biblionumber,
|
||||
title => $biblio->title,
|
||||
author => $biblio->author,
|
||||
copyrightdate => $biblio->copyrightdate,
|
||||
isbn => $biblio->biblioitem->isbn,
|
||||
publishercode => $biblio->biblioitem->publishercode,
|
||||
collectiontitle => $biblio->biblioitem->collectiontitle,
|
||||
place => $biblio->biblioitem->place,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$template->param(
|
||||
|
|
|
|||
Loading…
Reference in New Issue