From 20af12a391b2761f6fda63de1c31388ae09917f8 Mon Sep 17 00:00:00 2001 From: Martin Renvoize <martin.renvoize@ptfs-europe.com> Date: Thu, 7 Jul 2022 11:32:13 +0100 Subject: [PATCH] Bug 31028: Add 'Report a concern' to OPAC details This patch adds a new 'Report a concern' option to the right sidebar on the opac detail page. On clicking the link, a modal will display allowing the user to enter a short message regarding their concerns and then submission will record said message. --- .../opac-tmpl/bootstrap/css/src/opac.scss | 7 +++++ .../en/includes/modals/catalog_concern.inc | 28 +++++++++++++++++++ .../en/includes/opac-detail-sidebar.inc | 4 +++ .../bootstrap/en/modules/opac-detail.tt | 7 +++++ .../bootstrap/js/modals/catalog_concern.js | 23 +++++++++++++++ 5 files changed, 69 insertions(+) create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/includes/modals/catalog_concern.inc create mode 100644 koha-tmpl/opac-tmpl/bootstrap/js/modals/catalog_concern.js diff --git a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss index 14caa1bcf6..d534ecb7a5 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss +++ b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss @@ -146,6 +146,13 @@ textarea { width: 50%; } +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + legend { color: #727272; font-size: 110%; diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/modals/catalog_concern.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/modals/catalog_concern.inc new file mode 100644 index 0000000000..5b0ff09627 --- /dev/null +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/modals/catalog_concern.inc @@ -0,0 +1,28 @@ +<!-- Add concern modal --> +<div class="modal" id="addConcernModal" tabindex="-1" role="dialog" aria-labelledby="addConcernModalLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <h3 class="modal-title" id="addConcernModalLabel">Report a concern</h3> + <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + <fieldset id="concern_fieldset"> + <div class="form-group"> + <label for="message">Please decribe your concerns: </label> + <textarea class="form-control" name="message" id="message_add" aria-describedby="helpBlock" required="required"></textarea> + <p id="helpBlock" class="help-block">A short summary of what the library policy is for dealing with such concerns and what constitutes a valid concern</p> + </div> + </fieldset> + </div> + <div class="modal-footer"> + <input type="hidden" name="biblio_id" id="biblio_add" value="[% biblio.biblionumber | html %]"> + <input type="hidden" name="reporter_id" id="reporter_add" value="[% borrowernumber | html %]"> + <button type="submit" id="addConfirm" class="btn btn-primary">Submit</button> + <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> + </div> + </div> + </div> +</div> diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc index a3cbb23590..644a578671 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-detail-sidebar.inc @@ -42,6 +42,10 @@ <li><a class="suggest_for_purchase btn btn-link btn-lg" href="/cgi-bin/koha/opac-suggestions.pl?op=add&biblionumber=[% biblio.biblionumber | url %]"><i class="fa fa-fw fa-gift" aria-hidden="true"></i> Suggest for purchase</a></li> [% END %] + [% IF Koha.Preference('OpacCatalogConcerns') %] + <li><a class="report_a_concern btn btn-link btn-lg" href="#" data-toggle="modal" data-target="#addConcernModal"><i class="fa fa-fw fa-warning" aria-hidden="true"></i> Report a concern</a></li> + [% END %] + [% IF ( OpacHighlightedWords && query_desc ) %] <li> <a href="#" class="highlight_toggle btn btn-link btn-lg" id="highlight_toggle_off"><i class="fa fa-fw fa-pencil" aria-hidden="true"></i> Unhighlight</a> diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt index e69c3fac73..422fe35fe5 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt @@ -1428,7 +1428,14 @@ </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> +[% IF Koha.Preference('OpacCatalogConcerns') %] + [% INCLUDE 'modals/catalog_concern.inc' %] +[% END %] + [% BLOCK jsinclude %] + [% IF Koha.Preference('OpacCatalogConcerns') %] + [% Asset.js("js/modals/catalog_concern.js") | $raw %] + [% END %] [% INCLUDE 'datatables.inc' %] [% INCLUDE 'columns_settings.inc' %] [% INCLUDE greybox.inc %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/js/modals/catalog_concern.js b/koha-tmpl/opac-tmpl/bootstrap/js/modals/catalog_concern.js new file mode 100644 index 0000000000..24617528ee --- /dev/null +++ b/koha-tmpl/opac-tmpl/bootstrap/js/modals/catalog_concern.js @@ -0,0 +1,23 @@ +$(document).ready(function() { + $('#addConcernModal').on('click', '#addConfirm', function(e) { + let reporter_id = $('#reporter_add').val(); + let biblio_id = $('#biblio_add').val(); + let message = $('#message_add').val(); + + params = { + message: message, + biblio_id: biblio_id, + reporter_id: reporter_id, + }; + + $.ajax({ + url: '/api/v1/public/catalog/concerns', + type: 'POST', + data: JSON.stringify(params), + success: function(data) { + $('#addConcernModal').modal('hide'); + }, + contentType: "json" + }); + }); +}); -- 2.20.1