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

(-)a/C4/VirtualShelves/Page.pm (-24 / +3 lines)
Lines 214-220 sub shelfpage { Link Here
214
                my $member = GetMember( 'borrowernumber' => $owner );
214
                my $member = GetMember( 'borrowernumber' => $owner );
215
                my $ownername = defined($member) ? $member->{firstname} . " " . $member->{surname} : '';
215
                my $ownername = defined($member) ? $member->{firstname} . " " . $member->{surname} : '';
216
                $edit = 1;
216
                $edit = 1;
217
                $sortfield='' unless $sortfield;
218
                $template->param(
217
                $template->param(
219
                    edit                => 1,
218
                    edit                => 1,
220
                    display             => $displaymode,
219
                    display             => $displaymode,
Lines 224-230 sub shelfpage { Link Here
224
                    ownername           => $ownername,
223
                    ownername           => $ownername,
225
                    "category$category" => 1,
224
                    "category$category" => 1,
226
                    category            => $category,
225
                    category            => $category,
227
                    "sort_$sortfield"   => 1,
226
                    sortfield           => $sortfield,
228
                    allow_add           => $allow_add,
227
                    allow_add           => $allow_add,
229
                    allow_delete_own    => $allow_delete_own,
228
                    allow_delete_own    => $allow_delete_own,
230
                    allow_delete_other  => $allow_delete_other,
229
                    allow_delete_other  => $allow_delete_other,
Lines 248-264 sub shelfpage { Link Here
248
            #check that the user can view the shelf
247
            #check that the user can view the shelf
249
            if ( ShelfPossibleAction( $loggedinuser, $shelfnumber, 'view' ) ) {
248
            if ( ShelfPossibleAction( $loggedinuser, $shelfnumber, 'view' ) ) {
250
                my $items;
249
                my $items;
251
                my $authorsort;
252
                my $yearsort;
253
                my $tag_quantity;
250
                my $tag_quantity;
254
                my $sortfield = ( $sorton ? $sorton : 'title' );
251
                my $sortfield = ( $sorton ? $sorton : 'title' );
255
                if ( $sortfield eq 'author' ) {
252
                ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset, $sortfield );
256
                    $authorsort = 'author';
257
                }
258
                if ( $sortfield eq 'year' ) {
259
                    $yearsort = 'year';
260
                }
261
                ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset, $sortfield eq 'year' ? 'copyrightdate' : $sortfield );
262
                for my $this_item (@$items) {
253
                for my $this_item (@$items) {
263
                    my $biblionumber = $this_item->{'biblionumber'};
254
                    my $biblionumber = $this_item->{'biblionumber'};
264
                    my $record = GetMarcBiblio($biblionumber);
255
                    my $record = GetMarcBiblio($biblionumber);
Lines 302-310 sub shelfpage { Link Here
302
                    shelfname           => $shelfname,
293
                    shelfname           => $shelfname,
303
                    shelfnumber         => $shelfnumber,
294
                    shelfnumber         => $shelfnumber,
304
                    viewshelf           => $shelfnumber,
295
                    viewshelf           => $shelfnumber,
305
                    authorsort          => $authorsort,
296
                    sortfield           => $sortfield,
306
                    yearsort            => $yearsort,
307
                    itemcallnumbersort  => $sortfield eq 'itemcallnumber',
308
                    manageshelf         => $manageshelf,
297
                    manageshelf         => $manageshelf,
309
                    allowremovingitems  => ShelfPossibleAction( $loggedinuser, $shelfnumber, 'delete'),
298
                    allowremovingitems  => ShelfPossibleAction( $loggedinuser, $shelfnumber, 'delete'),
310
                    allowaddingitem     => ShelfPossibleAction( $loggedinuser, $shelfnumber, 'add'),
299
                    allowaddingitem     => ShelfPossibleAction( $loggedinuser, $shelfnumber, 'add'),
Lines 413-428 sub shelfpage { Link Here
413
        my $category  = $shelflist->{$element}->{'category'};
402
        my $category  = $shelflist->{$element}->{'category'};
414
        my $owner     = $shelflist->{$element}->{'owner'}||0;
403
        my $owner     = $shelflist->{$element}->{'owner'}||0;
415
        my $canmanage = ShelfPossibleAction( $loggedinuser, $element, 'manage' );
404
        my $canmanage = ShelfPossibleAction( $loggedinuser, $element, 'manage' );
416
        my $sortfield = $shelflist->{$element}->{'sortfield'};
417
        if ( $sortfield ){
418
            if ( $sortfield eq 'author' ) {
419
                $shelflist->{$element}->{"authorsort"} = 'author';
420
            } elsif ( $sortfield eq 'year' ) {
421
                $shelflist->{$element}->{"yearsort"} = 'year';
422
            } elsif ( $sortfield eq 'itemcallnumber' ) {
423
                $shelflist->{$element}->{"itemcallnumbersort"} = 'itemcallnumber';
424
            }
425
        }
426
        $shelflist->{$element}->{"viewcategory$category"} = 1;
405
        $shelflist->{$element}->{"viewcategory$category"} = 1;
427
        $shelflist->{$element}->{manageshelf} = $canmanage;
406
        $shelflist->{$element}->{manageshelf} = $canmanage;
428
        if($canmanage || ($loggedinuser && $owner==$loggedinuser)) {
407
        if($canmanage || ($loggedinuser && $owner==$loggedinuser)) {
(-)a/installer/data/mysql/updatedatabase.pl (+9 lines)
Lines 6097-6102 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
6097
    SetVersion ($DBversion);
6097
    SetVersion ($DBversion);
6098
}
6098
}
6099
6099
6100
$DBversion = "3.11.00.XXX";
6101
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
6102
    $dbh->do(q{
6103
        UPDATE virtualshelves SET sortfield="copyrightdate" where sortfield="year";
6104
    });
6105
    print "Upgrade to $DBversion done (Bug 9167: Update the virtualshelves.sortfield column with 'copyrightdate' if needed)\n";
6106
    SetVersion ($DBversion);
6107
}
6108
6100
=head1 FUNCTIONS
6109
=head1 FUNCTIONS
6101
6110
6102
=head2 TableExists($table)
6111
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt (-14 / +14 lines)
Lines 298-312 function placeHold () { Link Here
298
        <ol>
298
        <ol>
299
        <li><label class="required" for="addshelf">List name:</label><input id="addshelf" type="text" name="addshelf" size="25" /></li>
299
        <li><label class="required" for="addshelf">List name:</label><input id="addshelf" type="text" name="addshelf" size="25" /></li>
300
        <li><span class="label">Owner: </span><input type="hidden" name="owner" id="owner" value="[% loggedinuser %]" />[% loggedinusername %]</li>
300
        <li><span class="label">Owner: </span><input type="hidden" name="owner" id="owner" value="[% loggedinuser %]" />[% loggedinusername %]</li>
301
		<li><label for="sortfield" >Sort this list by: </label>
301
        <li><label for="sortfield" >Sort this list by: </label>
302
		<select name="sortfield" id="sortfield">
302
        <select name="sortfield" id="sortfield">
303
		[% IF ( sort_title ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
303
            <option value="title">Title</option>
304
		[% IF ( sort_author ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
304
            <option value="author">Author</option>
305
		[% IF ( sort_copyrightdate ) %]<option value="copyrightdate" selected="selected">Copyrightdate</option>[% ELSE %]<option value="copyrightdate">Copyrightdate</option>[% END %]
305
            <option value="copyrightdate">Copyrightdate</option>
306
        [% IF ( sort_itemcallnumber ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
306
            <option value="itemcallnumber">Call number</option>
307
		</select></li>
307
        </select></li>
308
        <li><label for="category">Category: </label>
308
        <li><label for="category">Category: </label>
309
			<select name="category" id="category">
309
            <select name="category" id="category">
310
                  <option value="1">Private</option>
310
                  <option value="1">Private</option>
311
                  <option value="2">Public</option>
311
                  <option value="2">Public</option>
312
                     </select></li>
312
                     </select></li>
Lines 324-333 function placeHold () { Link Here
324
		<li><label for="owner">Owner: </label><input type="hidden" id="owner" name="owner" value="[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]" />[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]</li>
324
		<li><label for="owner">Owner: </label><input type="hidden" id="owner" name="owner" value="[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]" />[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]</li>
325
		<li><label for="sortfield" >Sort this list by: </label>
325
		<li><label for="sortfield" >Sort this list by: </label>
326
		<select name="sortfield">
326
		<select name="sortfield">
327
		[% IF ( sort_title ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
327
		[% IF ( sortfield == "title" ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
328
		[% IF ( sort_author ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
328
		[% IF ( sortfield == "author" ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
329
		[% IF ( sort_copyrightdate ) %]<option value="copyrightdate" selected="selected">Copyrightdate</option>[% ELSE %]<option value="copyrightdate">Copyrightdate</option>[% END %]
329
		[% IF ( sortfield == "copyrightdate" ) %]<option value="copyrightdate" selected="selected">Copyrightdate</option>[% ELSE %]<option value="copyrightdate">Copyrightdate</option>[% END %]
330
        [% IF ( sort_itemcallnumber ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
330
        [% IF ( sortfield == "itemcallnumber" ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
331
		</select></li>
331
		</select></li>
332
		<li><label for="category">Category: </label>
332
		<li><label for="category">Category: </label>
333
			<select id="category" name="category">
333
			<select id="category" name="category">
Lines 392-398 function placeHold () { Link Here
392
                    [% IF ( shelveslooppri.toggle ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
392
                    [% IF ( shelveslooppri.toggle ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
393
        <td><a href="shelves.pl?[% IF ( shelveslooppri.showprivateshelves ) %]display=privateshelves&amp;[% END %]viewshelf=[% shelveslooppri.shelf %]&amp;shelfoff=[% shelfoff %]">[% shelveslooppri.shelfname |html %]</a></td>
393
        <td><a href="shelves.pl?[% IF ( shelveslooppri.showprivateshelves ) %]display=privateshelves&amp;[% END %]viewshelf=[% shelveslooppri.shelf %]&amp;shelfoff=[% shelfoff %]">[% shelveslooppri.shelfname |html %]</a></td>
394
        <td>[% shelveslooppri.count %] item(s)</td>
394
        <td>[% shelveslooppri.count %] item(s)</td>
395
        <td>[% IF ( shelveslooppri.authorsort ) %]Author[% ELSIF ( shelveslooppri.yearsort ) %]Year[% ELSIF (shelveslooppri.itemcallnumbersort) %]Call number[% ELSE %]Title[% END %]</td>
395
        <td>[% IF ( shelveslooppri.sortfield == "author" ) %]Author[% ELSIF ( shelveslooppri.sortfield == "copyrightdate" ) %]Year[% ELSIF (shelveslooppri.sortfield == "itemcallnumber") %]Call number[% ELSE %]Title[% END %]</td>
396
        <td>[% IF ( shelveslooppri.viewcategory1 ) %]Private[% END %]
396
        <td>[% IF ( shelveslooppri.viewcategory1 ) %]Private[% END %]
397
			[% IF ( shelveslooppri.viewcategory2 ) %]Public[% END %]
397
			[% IF ( shelveslooppri.viewcategory2 ) %]Public[% END %]
398
		</td>
398
		</td>
Lines 445-451 function placeHold () { Link Here
445
		<td><a href="shelves.pl?viewshelf=[% shelvesloo.shelf %]">[% shelvesloo.shelfname |html %]</a></td>
445
		<td><a href="shelves.pl?viewshelf=[% shelvesloo.shelf %]">[% shelvesloo.shelfname |html %]</a></td>
446
        <td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% shelvesloo.owner %]">[% shelvesloo.ownername %]</td>
446
        <td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% shelvesloo.owner %]">[% shelvesloo.ownername %]</td>
447
		<td>[% shelvesloo.count %] item(s)</td>
447
		<td>[% shelvesloo.count %] item(s)</td>
448
        <td>[% IF ( shelvesloo.authorsort ) %]Author[% ELSIF ( shelvesloo.yearsort ) %]Year[% ELSIF (shelvesloo.itemcallnumbersort) %]Call number[% ELSE %]Title[% END %]</td>
448
        <td>[% IF ( shelvesloo.sortfield == "author" ) %]Author[% ELSIF ( shelvesloo.sortfield == "copyrightdate" ) %]Year[% ELSIF (shelvesloo.sortfield == "itemcallnumber") %]Call number[% ELSE %]Title[% END %]</td>
449
        <td>[% IF ( shelvesloo.viewcategory1 ) %]Private[% END %]
449
        <td>[% IF ( shelvesloo.viewcategory1 ) %]Private[% END %]
450
			[% IF ( shelvesloo.viewcategory2 ) %]Public[% END %]
450
			[% IF ( shelvesloo.viewcategory2 ) %]Public[% END %]
451
		</td>
451
		</td>
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt (-9 / +8 lines)
Lines 485-494 $(function() { Link Here
485
                      <li>
485
                      <li>
486
                        <label for="sortfield" >Sort this list by: </label>
486
                        <label for="sortfield" >Sort this list by: </label>
487
                        <select name="sortfield" id="sortfield">
487
                        <select name="sortfield" id="sortfield">
488
                          [% IF ( sort_title ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
488
                          [% IF ( sortfield == "title" ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
489
                          [% IF ( sort_author ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
489
                          [% IF ( sortfield == "author" ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
490
                          [% IF ( sort_year ) %]<option value="year" selected="selected">Year</option>[% ELSE %]<option value="year">Year</option>[% END %]
490
                          [% IF ( sortfield == "copyrightdate" ) %]<option value="copyrightdate" selected="selected">Year</option>[% ELSE %]<option value="copyrightdate">Year</option>[% END %]
491
                          [% IF ( sort_itemcallnumber ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
491
                          [% IF ( sortfield == "itemcallnumber" ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
492
                        </select>
492
                        </select>
493
                      </li>
493
                      </li>
494
                      <li>
494
                      <li>
Lines 675-684 $(function() { Link Here
675
                      <li>
675
                      <li>
676
                        <label for="sortfield" >Sort this list by: </label>
676
                        <label for="sortfield" >Sort this list by: </label>
677
                        <select name="sortfield" id="sortfield">
677
                        <select name="sortfield" id="sortfield">
678
                          [% IF ( sort_title ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
678
                          <option value="title">Title</option>
679
                          [% IF ( sort_author ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
679
                          <option value="author">Author</option>
680
                          [% IF ( sort_year ) %]<option value="year" selected="selected">Year</option>[% ELSE %]<option value="year">Year</option>[% END %]
680
                          <option value="copyrightdate">Year</option>
681
                          [% IF ( sort_itemcallnumber ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
681
                          <option value="itemcallnumber">Call number</option>
682
                        </select>
682
                        </select>
683
                      </li>
683
                      </li>
684
                      <li>
684
                      <li>
685
- 

Return to bug 8032