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

(-)a/catalogue/detail.pl (+6 lines)
Lines 144-149 my $dat = &GetBiblioData($biblionumber); Link Here
144
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
144
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
145
my @subscriptions       = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber );
145
my @subscriptions       = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber );
146
my @subs;
146
my @subs;
147
if (scalar(@subscriptions)) {
148
	$template->param('isSerial',1);
149
}
150
147
151
148
foreach my $subscription (@subscriptions) {
152
foreach my $subscription (@subscriptions) {
149
    my %cell;
153
    my %cell;
Lines 462-465 $template->param (countdeletedorders => $count_deletedorders_using_biblio); Link Here
462
$template->param (basketsorders => \@baskets_orders);
466
$template->param (basketsorders => \@baskets_orders);
463
$template->param (basketsdeletedorders => \@baskets_deletedorders);
467
$template->param (basketsdeletedorders => \@baskets_deletedorders);
464
468
469
$template->param('ShowPlaceItemLevelHold',  C4::Context->preference('ShowPlaceItemLevelHold'));
470
465
output_html_with_http_headers $query, $cookie, $template->output;
471
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/installer/data/mysql/sysprefs.sql (+1 lines)
Lines 345-350 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
345
('ShowPatronImageInWebBasedSelfCheck','0','','If ON, displays patron image when a patron uses web-based self-checkout','YesNo'),
345
('ShowPatronImageInWebBasedSelfCheck','0','','If ON, displays patron image when a patron uses web-based self-checkout','YesNo'),
346
('ShowReviewer','full','none|full|first|surname|firstandinitial|username','Choose how a commenter\'s identity is presented alongside comments in the OPAC','Choice'),
346
('ShowReviewer','full','none|full|first|surname|firstandinitial|username','Choose how a commenter\'s identity is presented alongside comments in the OPAC','Choice'),
347
('ShowReviewerPhoto','1','','If ON, photo of reviewer will be shown beside comments in OPAC','YesNo'),
347
('ShowReviewerPhoto','1','','If ON, photo of reviewer will be shown beside comments in OPAC','YesNo'),
348
('ShowPlaceItemLevelHold','0',NULL,'Allow placing a item-level hold from the detailed biblio view.','YesNo'),
348
('singleBranchMode','0',NULL,'Operate in Single-branch mode, hide branch selection in the OPAC','YesNo'),
349
('singleBranchMode','0',NULL,'Operate in Single-branch mode, hide branch selection in the OPAC','YesNo'),
349
('SlipCSS','',NULL,'Slips CSS url.','free'),
350
('SlipCSS','',NULL,'Slips CSS url.','free'),
350
('SMSSendDriver','','','Sets which SMS::Send driver is used to send SMS messages.','free'),
351
('SMSSendDriver','','','Sets which SMS::Send driver is used to send SMS messages.','free'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref (+7 lines)
Lines 18-23 Cataloging: Link Here
18
                  yes: Display
18
                  yes: Display
19
                  no: "Don't Display"
19
                  no: "Don't Display"
20
            - easy ways to create analytical record relationships
20
            - easy ways to create analytical record relationships
21
        -
22
            - pref: ShowPlaceItemLevelHold
23
              default: 0
24
              choices:
25
                  yes: "Allow"
26
                  no : "Don't allow"
27
            - placing a item-level hold from the detailed biblio view. This is always enabled for serials because serials need only item-level holds.
21
    Spine Labels:
28
    Spine Labels:
22
        -
29
        -
23
            - When using the quick spine label printer,
30
            - When using the quick spine label printer,
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt (+8 lines)
Lines 524-529 function verify_images() { Link Here
524
                [% IF ( hostrecords ) %]<th>Host records</th>[% END %]
524
                [% IF ( hostrecords ) %]<th>Host records</th>[% END %]
525
                [% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
525
                [% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
526
                [% IF ( ShowCourseReserves ) %]<th>Course Reserves</th>[% END %]
526
                [% IF ( ShowCourseReserves ) %]<th>Course Reserves</th>[% END %]
527
                [% IF ( ShowPlaceItemLevelHold || isSerial ) %]<th id="placeItemLevelHoldTh">Reserve</th>[% END %]
527
            </tr>
528
            </tr>
528
        </thead>
529
        </thead>
529
        <tbody>
530
        <tbody>
Lines 697-702 function verify_images() { Link Here
697
                       [% END %]
698
                       [% END %]
698
                    </td>
699
                    </td>
699
                [% END %]
700
                [% END %]
701
                [% IF ( ShowPlaceItemLevelHold || isSerial ) %]
702
                    <td>
703
                        <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]&itemnumber=[% item.itemnumber %]">
704
                            Place hold
705
                        </a>
706
                    </td>
707
                [% END %]
700
                </tr>
708
                </tr>
701
            [% END %]
709
            [% END %]
702
        </tbody>
710
        </tbody>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt (-3 / +14 lines)
Lines 191-197 function checkMultiHold() { Link Here
191
  [% END %]
191
  [% END %]
192
192
193
  [% UNLESS ( multi_hold ) %]
193
  [% UNLESS ( multi_hold ) %]
194
    <h1>Place a hold on [% INCLUDE 'biblio-default-view.inc' %][% title |html %]</a></h1>
194
    <h1>Place a hold on [% INCLUDE 'biblio-default-view.inc' %][% title |html %]</a>
195
        [% IF targetItemTitle %] - <a href="/cgi-bin/koha/catalogue/moredetail.pl?type=&itemnumber=[% targetItemnumber %]&biblionumber=[% biblionumber %]&bi=[% biblioitemnumber %]#item[% targetItemnumber %]">[% targetItemTitle %]</a>[% END %]
196
    </h1>
195
  [% ELSE %]
197
  [% ELSE %]
196
    <h1>Confirm Holds</h1>
198
    <h1>Confirm Holds</h1>
197
  [% END %]
199
  [% END %]
Lines 208-213 function checkMultiHold() { Link Here
208
                <input type="text" size="40" id="patron" class="focus" name="findborrower" />
210
                <input type="text" size="40" id="patron" class="focus" name="findborrower" />
209
                <input type="submit" value="Search" />
211
                <input type="submit" value="Search" />
210
                <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
212
                <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
213
                [% IF targetItemnumber %]<input type="hidden" name="itemnumber" value="[% targetItemnumber %]" />[% END %]
211
            </fieldset>
214
            </fieldset>
212
        [% ELSE %]
215
        [% ELSE %]
213
          <fieldset>
216
          <fieldset>
Lines 221-226 function checkMultiHold() { Link Here
221
            [% END %]
224
            [% END %]
222
            </select>
225
            </select>
223
            <input type="hidden" name="biblionumber" value="[% biblionumber %]" /><fieldset class="action"><input type="submit" value="Select" /></fieldset></fieldset>
226
            <input type="hidden" name="biblionumber" value="[% biblionumber %]" /><fieldset class="action"><input type="submit" value="Select" /></fieldset></fieldset>
227
            [% IF targetItemnumber %]<input type="hidden" name="itemnumber" value="[% targetItemnumber %]" />[% END %]
224
228
225
        [% END %]
229
        [% END %]
226
        [% IF ( multi_hold ) %]
230
        [% IF ( multi_hold ) %]
Lines 344-351 function checkMultiHold() { Link Here
344
	</li>
348
	</li>
345
349
346
        [% UNLESS ( multi_hold ) %]
350
        [% UNLESS ( multi_hold ) %]
347
          <li> <label for="requestany">Place a hold on the next available copy </label>
351
          <li>
352
            [% UNLESS targetItemnumber %]
353
               <label for="requestany">Place a hold on the next available copy </label>
348
               <input type="checkbox" id="requestany" name="request" checked="checked" value="Any" />
354
               <input type="checkbox" id="requestany" name="request" checked="checked" value="Any" />
355
            [% END %]
349
               <input type="hidden" name="biblioitem" value="[% biblioitemnumber %]" />
356
               <input type="hidden" name="biblioitem" value="[% biblioitemnumber %]" />
350
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
357
               <input type="hidden" name="alreadyreserved" value="[% alreadyreserved %]" />
351
          </li>
358
          </li>
Lines 395-401 function checkMultiHold() { Link Here
395
        <tr class="[% itemloo.backgroundcolor %]">
402
        <tr class="[% itemloo.backgroundcolor %]">
396
            <td>
403
            <td>
397
            [% IF ( itemloo.available ) %]
404
            [% IF ( itemloo.available ) %]
398
                <input type="radio" name="checkitem" value="[% itemloo.itemnumber %]" />
405
                [% IF targetItemnumber %]
406
                    <input type="radio" name="checkitem" checked="checked" value="[% itemloo.itemnumber %]" />
407
                [% ELSE %]
408
                    <input type="radio" name="checkitem" value="[% itemloo.itemnumber %]" />
409
                [% END %]
399
            [% ELSIF ( itemloo.override ) %]
410
            [% ELSIF ( itemloo.override ) %]
400
                <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber %]" />
411
                <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber %]" />
401
                <img src="/intranet-tmpl/[% theme %]/img/famfamfam/silk/error.png" alt="Requires override of hold policy" />
412
                <img src="/intranet-tmpl/[% theme %]/img/famfamfam/silk/error.png" alt="Requires override of hold policy" />
(-)a/reserve/request.pl (-2 / +21 lines)
Lines 57-66 my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user( Link Here
57
    }
57
    }
58
);
58
);
59
59
60
my $targetItemnumber = $input->param('itemnumber') ? $input->param('itemnumber') : undef;
61
if ($targetItemnumber) {
62
    $template->param('targetItemnumber', $targetItemnumber);
63
    my $targetItem = C4::Items::GetItem($targetItemnumber);
64
    if ($targetItem->{enumchron}) {
65
        $template->param('targetItemTitle', $targetItem->{enumchron});
66
    }
67
    elsif ($targetItem->{barcode}) {
68
        $template->param('targetItemTitle', $targetItem->{barcode});
69
    }
70
    else {
71
        $template->param('targetItemTitle', $targetItem->{itemnumber});
72
    }
73
}
74
75
60
my $multihold = $input->param('multi_hold');
76
my $multihold = $input->param('multi_hold');
61
$template->param(multi_hold => $multihold);
77
$template->param(multi_hold => $multihold);
62
my $showallitems = $input->param('showallitems');
78
my $showallitems = $input->param('showallitems');
63
79
80
64
# get Branches and Itemtypes
81
# get Branches and Itemtypes
65
my $branches = GetBranches();
82
my $branches = GetBranches();
66
my $itemtypes = GetItemTypes();
83
my $itemtypes = GetItemTypes();
Lines 243-249 foreach my $biblionumber (@biblionumbers) { Link Here
243
    my @itemnumbers;
260
    my @itemnumbers;
244
261
245
    ## $items is array of 'item' table numbers
262
    ## $items is array of 'item' table numbers
246
    if (my $items = get_itemnumbers_of($biblionumber)->{$biblionumber}){
263
    if ($targetItemnumber) { #If we just want to place a hold on one item
264
        push @itemnumbers, $targetItemnumber;
265
    }
266
    elsif (my $items = get_itemnumbers_of($biblionumber)->{$biblionumber}){
247
        @itemnumbers  = @$items;
267
        @itemnumbers  = @$items;
248
    }
268
    }
249
    my @hostitems = get_hostitemnumbers_of($biblionumber);
269
    my @hostitems = get_hostitemnumbers_of($biblionumber);
250
- 

Return to bug 11157