Bug 17698: (QA follow-up) Fix minors design issues
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 12 Jun 2018 20:02:30 +0000 (17:02 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Mon, 23 Jul 2018 15:23:42 +0000 (15:23 +0000)
This patch includes some changes required on comment 57:

1. Bad resolution conflict, permission self_checkout is re-add

2. The IGNORE modifier is missing in the INSERT statement

4. When I hit /circ/checkout-notes.pl from the side bar, the page displays "Checkout notes", nothing else. We should add "There is no checkout notes".

7. I would display the table on the confirmation screen as well

10. html filters are missing

11. span element should surround translatable string, to help translators

14. patron-title.inc must be used to display patron's info

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

circ/checkout-notes.pl
installer/data/mysql/atomicupdate/bug-17698_add-permission-to-manage-checkout-notes.sql
koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt

index b0638f4..5bad39a 100755 (executable)
@@ -38,11 +38,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 );
 
 my $pending_checkout_notes = Koha::Checkouts->search({ noteseen => 0 })->count;
-my @notes = Koha::Checkouts->search({ 'me.note' => { '!=', undef } }, { prefetch => [ 'borrower', { item => 'biblionumber' } ] });
 
 $template->param(
     pending_checkout_notes => $pending_checkout_notes,
-    notes                  => \@notes,
 );
 
 my $action;
@@ -65,9 +63,11 @@ if ( $action eq 'seen' ) {
     }
 }
 
+my $notes = Koha::Checkouts->search({ 'me.note' => { '!=', undef } }, { prefetch => [ 'borrower', { item => 'biblionumber' } ] });
 $template->param(
     selected_count => scalar(@issue_ids),
     action         => $action,
+    notes          => $notes,
 );
 
 output_html_with_http_headers $query, $cookie, $template->output;
index 86d4351..ce3bd8f 100644 (file)
@@ -1 +1 @@
-INSERT INTO permissions (module_bit, code, description) VALUES ( 1, 'manage_checkout_notes', 'Mark checkout notes as seen/not seen');
+INSERT IGNORE INTO permissions (module_bit, code, description) VALUES ( 1, 'manage_checkout_notes', 'Mark checkout notes as seen/not seen');
index 05533e7..cd02e65 100644 (file)
             [% IF ( selected_count ) %]
                 <div class="dialog message">
                     [% IF ( action == 'seen' ) %]
-                        [% selected_count %] note(s) marked as seen.
+                        <span>[% selected_count %] note(s) marked as seen.</span>
                     [% ELSIF ( action == 'notseen' ) %]
-                        [% selected_count %] note(s) marked as not seen.
+                        <span>[% selected_count %] note(s) marked as not seen.</span>
                     [% ELSE %]
-                        Failed to change the status of [% selected_count %] item(s).
+                        <span>Failed to change the status of [% selected_count %] item(s).</span>
                     [% END %]
                 </div>
-                <a href="/cgi-bin/koha/circ/checkout-notes.pl" class="btn btn-default btn-sm"><i class="fa fa-left"></i> Return to checkout notes</a>
-            [% ELSE %]
+            [% END %]
+
+            [% IF ( notes.count ) %]
+                <fieldset class="action">
+                    <a class="SelectAll"><i class="fa fa-check"></i> Select all</a> | <a class="ClearAll"><i class="fa fa-remove"></i> Clear all</a>
+                </fieldset>
+
+                <form id="mark_selected" method="post" action="/cgi-bin/koha/circ/checkout-notes.pl">
+
+                    <table id="notestable">
+                        <thead>
+                            <tr>
+                                <th>&nbsp;</th>
+                                <th>Title</th>
+                                <th>Note</th>
+                                <th>Date</th>
+                                <th>Set by</th>
+                                <th>Status</th>
+                                <th>Actions</th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            [% FOREACH note IN notes %]
+                                <tr>
+                                    <td><input type="checkbox" name="issue_ids" value="[% note.issue_id %]"></td>
+                                    <td>[% note.item.biblio.title %] - [% note.item.biblio.author %] (<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% note.item.biblionumber %]">[% note.item.barcode %]</a>)</td>
+                                    <td>[% note.note | html %]</td>
+                                    <td>[% note.notedate | $KohaDates %]</td>
+                                    <td>[% INCLUDE 'patron-title.inc' patron => note.patron hide_patron_infos_if_needed=1 %]</td>
+                                    <td>
+                                        [% IF ( note.noteseen == 0 ) %]
+                                            <span id="status_[% note.issue_id %]">Not seen</span>
+                                        [% ELSIF ( note.noteseen == 1 ) %]
+                                            <span id="status_[% note.issue_id %]">Seen</span>
+                                        [% END %]
+                                    </td>
+                                    <td class="actions">
+                                        [% IF ( note.noteseen == 1 ) %]
+                                            <button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs"><i class="fa fa-eye-slash"></i> Mark not seen</button>
+                                        [% ELSIF ( note.noteseen == 0 ) %]
+                                            <button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
+                                        [% END %]
+                                    </td>
+                                </tr>
+                            [% END %]
+                        </tbody>
+                    </table>
 
-                [% IF ( notes ) %]
                     <fieldset class="action">
-                        <a class="SelectAll"><i class="fa fa-check"></i> Select all</a> | <a class="ClearAll"><i class="fa fa-remove"></i> Clear all</a>
+                        <button type="submit" class="btn btn-default btn-sm" name="mark_selected-seen" value="seen" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button>
+                        <button type="submit" class="btn btn-default btn-sm" name="mark_selected-notseen" value="notseen" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
                     </fieldset>
 
-                    <form id="mark_selected" method="post" action="/cgi-bin/koha/circ/checkout-notes.pl">
+                </form>
 
-                        <table id="notestable">
-                            <thead>
-                                <tr>
-                                    <th>&nbsp;</th>
-                                    <th>Title</th>
-                                    <th>Note</th>
-                                    <th>Date</th>
-                                    <th>Set by</th>
-                                    <th>Status</th>
-                                    <th>Actions</th>
-                                </tr>
-                            </thead>
-                            <tbody>
-                                [% FOREACH note IN notes %]
-                                    <tr>
-                                        <td><input type="checkbox" name="issue_ids" value="[% note.issue_id %]"></td>
-                                        <td>[% note.item.biblio.title %] - [% note.item.biblio.author %] (<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% note.item.biblionumber %]">[% note.item.barcode %]</a>)</td>
-                                        <td>[% note.note %]</td>
-                                        <td>[% note.notedate | $KohaDates %]</td>
-                                        <td>[% IF note.patron.title %][% note.patron.title %] [% END %][% note.patron.firstname %] [% note.patron.surname %] (<a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% note.patron.borrowernumber %]">[% note.patron.cardnumber %]</a>)</td>
-                                        <td>
-                                            [% IF ( note.noteseen == 0 ) %]
-                                                <span id="status_[% note.issue_id %]">Not seen</span>
-                                            [% ELSIF ( note.noteseen == 1 ) %]
-                                                <span id="status_[% note.issue_id %]">Seen</span>
-                                            [% END %]
-                                        </td>
-                                        <td class="actions">
-                                            [% IF ( note.noteseen == 1 ) %]
-                                                <button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs"><i class="fa fa-eye-slash"></i> Mark not seen</button>
-                                            [% ELSIF ( note.noteseen == 0 ) %]
-                                                <button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
-                                            [% END %]
-                                        </td>
-                                    </tr>
-                                [% END %]
-                            </tbody>
-                        </table>
-
-                        <fieldset class="action">
-                            <button type="submit" class="btn btn-default btn-sm" name="mark_selected-seen" value="seen" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button>
-                            <button type="submit" class="btn btn-default btn-sm" name="mark_selected-notseen" value="notseen" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
-                        </fieldset>
-
-                    </form>
-
-                [% END %] <!-- notes -->
-
-            [% END %] <!-- selected_count -->
+            [% ELSE %]
+                <span>There are currently no checkout notes.</span>
+            [% END %] <!-- notes -->
 
         </div> <!-- yui-main -->