Bug 11976: Add Publication date to subscription table (opac) + column settings
authorMark Tompsett <mtompset@hotmail.com>
Thu, 26 Oct 2017 15:41:34 +0000 (11:41 -0400)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 21 Dec 2017 16:21:11 +0000 (13:21 -0300)
This patch adds the column settings feature to the subscription list at
the OPAC.
It also adds a new column (Publication date) to this table

Using Home->Administration->Column Settings->OPAC->subscriptionst
the fields visibility can be toggled.

TEST PLAN
---------
1) Have a subscription where you have received at least once.
2) Look for it in OPAC and note the date is the received date, not the publication date
3) Apply patch
4) Log in to staff client
5) Home->Administration->Column Settings->OPAC->subscriptionst
6) Set visibility as desired.
7) Refresh OPAC page
   -- everything should be as expected.
8) run koha qa test tools.

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
admin/columns_settings.yml
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt

index 951a564..61fa864 100644 (file)
@@ -481,3 +481,14 @@ modules:
         -
           columnname: item_coursereserves
 
+      subscriptionst:
+        -
+          columnname: serial_serialseq
+        -
+          columnname: serial_publisheddate
+        -
+          columnname: serial_planneddate
+        -
+          columnname: serial_status
+        -
+          columnname: serial_notes
index 5fcb9f3..073fa52 100644 (file)
                                 [% END %]
                                 [% IF ( subscription.latestserials ) %]
                                     <p class="subscription_latestissues"> The [% subscription.opacdisplaycount %] latest issues for this subscription:</p>
-                                    <table class="table table-bordered table-striped">
+                                    <table class="table table-bordered table-striped" id="subscriptionst">
+                                        <thead>
                                         <tr>
-                                            <th>Issue #</th>
-                                            <th>Date</th>
-                                            <th>Status</th>
-                                            <th>Note</th>
+                                            <th id="serial_serialseq" data-colname="serial_serialseq" class="serialseq">Issue #</th>
+                                            <th id="serial_publisheddate" data-colname="serial_publisheddate" class="publisheddate">Publication date</th>
+                                            <th id="serial_planneddate" data-colname="serial_planneddate" class="planneddate">Received date</th>
+                                            <th id="serial_status" data-colname="serial_status" class="serial_status">Status</th>
+                                            <th id="serial_notes" data-colname="serial_notes" class="serial_notes">Note</th>
                                         </tr>
+                                        </thead>
+                                        <tbody>
                                         [% FOREACH latestserial IN subscription.latestserials %]
                                             <tr>
-                                                <td>[% latestserial.serialseq %]</td>
-                                                <td>[% latestserial.planneddate %]</td>
-                                                <td>
+                                                <td class="serialseq">[% latestserial.serialseq %]</td>
+                                                <td class="publisheddate">[% latestserial.publisheddate %]</td>
+                                                <td class="planneddate">[% latestserial.planneddate %]</td>
+                                                <td class="serial_status">
                                                     [% IF (latestserial.status1 ) %]<span>Expected</span>[% END %]
                                                     [% IF (latestserial.status2 ) %]<span>Arrived</span>[% END %]
                                                     [% IF (latestserial.status3 ) %]<span>Late</span>[% END %]
                                                     [% IF (latestserial.status7 ) %]<span>Claimed</span>[% END %]
                                                     [% IF (latestserial.status8 ) %]<span>Stopped</span>[% END %]
                                                 </td>
-                                                <td>[% latestserial.notes %]</td>
+                                                <td class="serial_notes">[% latestserial.notes %]</td>
                                             </tr>
                                         [% END # / FOREACH latestserials %]
+                                        </tbody>
                                     </table>
                                 [% END # / IF subscription.latestserials %]
                             [% END # / FOREACH subscriptions %]
             "bKohaColumnsUseNames": true
         }, columns_settings);
 
+        var serial_column_settings = [% ColumnsSettings.GetColumns( 'opac', 'biblio-detail', 'subscriptionst', 'json' ) %];
+
+        KohaTable("#subscriptionst", {
+            dom: 'B<"clearfix">t',
+            "columnDefs": [
+                { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
+                { "sType": "title-string", "aTargets" : [ "title-string" ] }
+                ],
+            "bKohaColumnsUseNames": true
+        }, serial_column_settings);
+
 [% IF ( TagsInputEnabled && loggedinusername ) %]
         $(".tag_add").click(function(){
             var thisid = $(this).attr("id");