From 31db5edd52a153c1a5edec243ddf4a563ca20cc6 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Thu, 12 Oct 2023 12:51:32 +0000 Subject: [PATCH] Bug 37094: Improve layout of serial claims page This patch updates the serial claims interface to hopefully make it more usable: - Vendor selection and filter issues forms are in the sidebar - The "Download selected" and "Send notification" forms are now in their own columns at the bottom of the table of issues. - NEW: The "Download selected" and "Send notification" forms are disabled unless one or more issues are selected. To test you'll need more than one vendor with subscriptions that have late issues. - Go to Serials -> Claims. - You should see a "Choose vendor" form in the main part of the page. - Choose a vendor. - After selecting a vendor you should see the vendor selection form in the sidebar along with a "Filter missing issues" form. - Confirm that both forms work correctly. - In the main body of the page you should see the table of missing issues. ** Previously this table was sorted by default on the checkbox column. Since that doesn't make sense I moved the default sort to the "Since" column. - Below the table of issues should should see the "Download selected" form. If you have a claim notice defined, you'll also see a "Send notification" form, each in their own column. - These forms should initially be disabled. - When you check a checkbox or click the "Select all" control at the top of the checkbox column the forms should become active. - Confirm that both forms work correctly. Sponsored-by: Athens County Public Libraries --- .../prog/css/src/staff-global.scss | 16 + .../prog/en/modules/serials/claims.tt | 334 +++++++++++------- 2 files changed, 217 insertions(+), 133 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss index f63558b8fb..1dd77e3ba4 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss +++ b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss @@ -314,6 +314,11 @@ aside { a { display: block; flex-grow: 1; + + + input[type="reset"] { + flex-grow: 0; + margin-left: .5rem; + } } } } @@ -992,6 +997,17 @@ fieldset { } } + &[disabled] { + legend, + label, + select, + input { + cursor: not-allowed; + filter: alpha( opacity=65 ); + opacity: .65; + } + } + &.lastchecked { margin-bottom: 0; margin-right: 0; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt index 21d8e10539..acdd24c0d5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt @@ -63,6 +63,7 @@
No missing issues found.
[% ELSE %]
Please choose a vendor.
+ [% PROCESS select_vendor context => "main" %] [% END %] [% END %] [% END %] @@ -77,153 +78,149 @@ [% END %] -
-
- - - -
-
- [% IF ( missingissues ) %]

Missing issues

-
-
- Filters: -
    -
  1. - - - - - [% INCLUDE 'date-format.inc' %] - - Clear filter -
  2. -
-
-
-
- [% INCLUDE 'csrf-token.inc' %] - - - - - - - - - - - - - - - [% FOR field IN additional_fields_for_subscription %] - - [% END %] - - - - [% FOREACH missingissue IN missingissues %] +
+ [% INCLUDE 'csrf-token.inc' %] +
VendorLibraryTitleISSNIssue numberStatusSincePublication dateClaims countClaim date[% field.name | html %]
+ - - - - - - - - - - - + + + + + + + + + + + [% FOR field IN additional_fields_for_subscription %] - [% IF field.authorised_value_category %] - - [% ELSE %] - + + [% END %] + + + + [% FOREACH missingissue IN missingissues %] + + + + + + + + + + + + + [% FOR field IN additional_fields_for_subscription %] + [% IF field.authorised_value_category %] + + [% ELSE %] + + [% END %] + [% END %] + + [% END # /FOREACH missingissue %] + + + + + + + + + + + + + + + [% FOR field IN additional_fields_for_subscription %] + [% END %] - [% END # /FOREACH missingissue %] - - - - - - - - - - - - - - - [% FOR field IN additional_fields_for_subscription %] - - [% END %] - - -
- [% UNLESS missingissue.cannot_claim %] - - [% END %] - [% missingissue.name | html %] - [% Branches.GetName( missingissue.branchcode ) | html %] - - [% missingissue.title | html %] - [% missingissue.issn | html %][% missingissue.serialseq | html %] - [% INCLUDE 'serial-status.inc' serial = missingissue %] - - [% missingissue.planneddate | $KohaDates %] - - [% missingissue.publisheddate | $KohaDates %] - [% missingissue.claims_count | html %] - [% missingissue.claimdate | $KohaDates %] - VendorLibraryTitleISSNIssue numberStatusSincePublication dateClaims countClaim date[% AuthorisedValues.GetByCode( field.authorised_value_category, missingissue.additional_fields.${field.name} ) | html %][% missingissue.additional_fields.${field.name} | html %][% field.name | html %]
+ [% UNLESS missingissue.cannot_claim %] + [% END %] + [% missingissue.name | html %] + [% Branches.GetName( missingissue.branchcode ) | html %] + + [% missingissue.title | html %] + [% missingissue.issn | html %][% missingissue.serialseq | html %] + [% INCLUDE 'serial-status.inc' serial = missingissue %] + + [% missingissue.planneddate | $KohaDates %] + + [% missingissue.publisheddate | $KohaDates %] + [% missingissue.claims_count | html %] + [% missingissue.claimdate | $KohaDates %] + [% AuthorisedValues.GetByCode( field.authorised_value_category, missingissue.additional_fields.${field.name} ) | html %][% missingissue.additional_fields.${field.name} | html %]
+ + + + +
+ + [% IF ( csv_profiles.count && letters ) %] +
+
+ [% ELSIF ( csv_profiles.count || letters ) %] +
+
+ [% END %] [% IF csv_profiles.count %] -
- - - Download selected claims +
+
+ Download selected claims + + +
+ +
+
[% END %] + [% IF ( csv_profiles.count && letters ) %] +
+
+ [% END %] + [% IF letters %] -
- - - - - +
+
+ Send claim notification + + +
+ + + +
+
[% END %] + + [% IF ( csv_profiles.count && letters ) %] +
+
+ [% END %] -
+ [% END # /missingissues %] @@ -231,35 +228,93 @@
+[% BLOCK select_vendor %] +
+ [% IF ( context == "main") %] +
+ [% ELSE %] +
+ [% END %] +

Choose vendor

+ + +
+
+ +
+ +[% END %] + [% MACRO jsinclude BLOCK %] [% INCLUDE 'calendar.inc' %] [% INCLUDE 'datatables.inc' %]