Incremental fix for Bug 3285 - Location on Add Subscription should be pull down

- Adds location dropdown to subscription edit form
- Pulls authorised value for display on subscription detail page
- Adds function for pulling authorised value description based
  on category and value

This patch does NOT implement automatic preselection of the shelving
location form field on the serial add item screen. This must be
worked out in order for the bug to be closed.

Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(cherry picked from commit e54169ba0f)

Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
This commit is contained in:
Owen Leonard 2010-12-06 11:56:12 +00:00 committed by Chris Nighswonger
parent 7f8130e433
commit d941d85712
4 changed files with 31 additions and 2 deletions

View File

@ -57,6 +57,7 @@ BEGIN {
&GetAuthorisedValueCategories
&GetKohaAuthorisedValues
&GetKohaAuthorisedValuesFromField
&GetKohaAuthorisedValueLib
&GetAuthValCode
&GetNormalizedUPC
&GetNormalizedISBN
@ -1214,6 +1215,27 @@ sub xml_escape {
return $str;
}
=head2 GetKohaAuthorisedValueLib
Takes $category, $authorised_value as parameters.
If $opac parameter is set to a true value, displays OPAC descriptions rather than normal ones when they exist.
Returns authorised value description
=cut
sub GetKohaAuthorisedValueLib {
my ($category,$authorised_value,$opac) = @_;
my $value;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("select lib, lib_opac from authorised_values where category=? and authorised_value=?");
$sth->execute($category,$authorised_value);
my $data = $sth->fetchrow_hashref;
$value = ($opac && $$data{'lib_opac'}) ? $$data{'lib_opac'} : $$data{'lib'};
return $value;
}
=head2 display_marc_indicators
my $display_form = C4::Koha::display_marc_indicators($field);

View File

@ -1007,7 +1007,10 @@ $(document).ready(function() {
</li>
<li>
<label for="location">Location:</label>
<input type="text" name="location" id="location" value="<!-- TMPL_VAR name="location" -->" size="30" />
<select name="location" id="location">
<option value="">None</option>
<!-- TMPL_LOOP NAME="locations_loop" --><!-- TMPL_IF NAME="selected" --><option value="<!-- TMPL_VAR NAME="authorised_value" -->" selected="selected"><!-- TMPL_VAR NAME="lib" --></option><!-- TMPL_ELSE --><option value="<!-- TMPL_VAR NAME="authorised_value" -->"><!-- TMPL_VAR NAME="lib" --></option><!-- /TMPL_IF --><!-- /TMPL_LOOP -->
</select>
</li>
<li>
<label for="callnumber">Call Number:</label>

View File

@ -130,8 +130,12 @@ for my $thisbranch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{b
branchname => $branches->{$thisbranch}->{'branchname'},
};
}
my $locations_loop = GetAuthorisedValues("LOC",$subs->{'location'});
$template->param(branchloop => $branchloop,
DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
locations_loop=>$locations_loop,
);
# prepare template variables common to all $op conditions:
$template->param( 'dateformat_' . C4::Context->preference('dateformat') => 1 );

View File

@ -103,8 +103,8 @@ my ($user, $sessionID, $flags);
for my $date qw(startdate enddate firstacquidate histstartdate histenddate){
$$subs{$date} = format_date($$subs{$date}) if $date && $$subs{$date};
}
$subs->{location} = GetKohaAuthorisedValueLib("LOC",$subs->{location});
$subs->{abouttoexpire} = abouttoexpire($subs->{subscriptionid});
$template->param($subs);
$template->param(biblionumber_for_new_subscription => $subs->{bibnum});
my @irregular_issues = split /,/, $subs->{irregularity};