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

(-)a/catalogue/detail.pl (+6 lines)
Lines 143-148 my $dat = &GetBiblioData($biblionumber); Link Here
143
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
143
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
144
my @subscriptions       = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber );
144
my @subscriptions       = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber );
145
my @subs;
145
my @subs;
146
if (scalar(@subscriptions)) {
147
	$template->param('isSerial',1);
148
}
149
146
150
147
foreach my $subscription (@subscriptions) {
151
foreach my $subscription (@subscriptions) {
148
    my %cell;
152
    my %cell;
Lines 412-415 if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref Link Here
412
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
416
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
413
$template->param( holdcount => $holdcount, holds => $holds );
417
$template->param( holdcount => $holdcount, holds => $holds );
414
418
419
$template->param('ShowPlaceItemLevelHold',  C4::Context->preference('ShowPlaceItemLevelHold'));
420
415
output_html_with_http_headers $query, $cookie, $template->output;
421
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/installer/data/mysql/sysprefs.sql (+1 lines)
Lines 342-347 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
342
('ShowPatronImageInWebBasedSelfCheck','0','','If ON, displays patron image when a patron uses web-based self-checkout','YesNo'),
342
('ShowPatronImageInWebBasedSelfCheck','0','','If ON, displays patron image when a patron uses web-based self-checkout','YesNo'),
343
('ShowReviewer','full','none|full|first|surname|firstandinitial|username','Choose how a commenter\'s identity is presented alongside comments in the OPAC','Choice'),
343
('ShowReviewer','full','none|full|first|surname|firstandinitial|username','Choose how a commenter\'s identity is presented alongside comments in the OPAC','Choice'),
344
('ShowReviewerPhoto','1','','If ON, photo of reviewer will be shown beside comments in OPAC','YesNo'),
344
('ShowReviewerPhoto','1','','If ON, photo of reviewer will be shown beside comments in OPAC','YesNo'),
345
('ShowPlaceItemLevelHold','0',NULL,'Allow placing a item-level hold from the detailed biblio view.','YesNo'),
345
('singleBranchMode','0',NULL,'Operate in Single-branch mode, hide branch selection in the OPAC','YesNo'),
346
('singleBranchMode','0',NULL,'Operate in Single-branch mode, hide branch selection in the OPAC','YesNo'),
346
('SlipCSS','',NULL,'Slips CSS url.','free'),
347
('SlipCSS','',NULL,'Slips CSS url.','free'),
347
('SMSSendDriver','','','Sets which SMS::Send driver is used to send SMS messages.','free'),
348
('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 422-427 function verify_images() { Link Here
422
                [% IF ( hostrecords ) %]<th>Host records</th>[% END %]
422
                [% IF ( hostrecords ) %]<th>Host records</th>[% END %]
423
                [% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
423
                [% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
424
                [% IF ( ShowCourseReserves ) %]<th>Course Reserves</th>[% END %]
424
                [% IF ( ShowCourseReserves ) %]<th>Course Reserves</th>[% END %]
425
                [% IF ( ShowPlaceItemLevelHold || isSerial ) %]<th id="placeItemLevelHoldTh">Reserve</th>[% END %]
425
            </tr>
426
            </tr>
426
        </thead>
427
        </thead>
427
        <tbody>
428
        <tbody>
Lines 590-595 function verify_images() { Link Here
590
                       [% END %]
591
                       [% END %]
591
                    </td>
592
                    </td>
592
                [% END %]
593
                [% END %]
594
                [% IF ( ShowPlaceItemLevelHold || isSerial ) %]
595
                    <td>
596
                        <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]&itemnumber=[% item.itemnumber %]">
597
                            Place hold
598
                        </a>
599
                    </td>
600
                [% END %]
593
                </tr>
601
                </tr>
594
            [% END %]
602
            [% END %]
595
        </tbody>
603
        </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