Bugzilla – Attachment 187077 Details for
Bug 21004
Use modal to add and edit notes on receiving orders/shipments page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 21004: Use modal to add and edit notes on receiving orders/shipments page
0001-Bug-21004-Use-modal-to-add-and-edit-notes-on-receivi.patch (text/plain), 15.96 KB, created by
Johanna Räisä
on 2025-09-30 09:49:45 UTC
(
hide
)
Description:
Bug 21004: Use modal to add and edit notes on receiving orders/shipments page
Filename:
MIME Type:
Creator:
Johanna Räisä
Created:
2025-09-30 09:49:45 UTC
Size:
15.96 KB
patch
obsolete
>From a61b3b91e8f8d8b4a949e3de89e10cbc827bf6a6 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Johanna=20R=C3=A4is=C3=A4?= <johanna.raisa@gmail.com> >Date: Tue, 30 Sep 2025 11:56:17 +0300 >Subject: [PATCH 1/2] Bug 21004: Use modal to add and edit notes on receiving > orders/shipments page > >This patch adds a modal to add and edit notes on the receiving orders/shipments page. > >Test Plan: >1. Navigate to the receiving orders/shipments page. >2. Add or edit a note. >3. See that a new page opens with a form to add or edit the note. >4. Apply the patch and reload the page. >5. Click to add or edit a note. >6. See that a modal opens with a form to add or edit the note. > >Sponsored-by: Koha-Suomi Oy >--- > .../prog/en/modules/acqui/parcel.tt | 170 +++++++++++++++--- > 1 file changed, 146 insertions(+), 24 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt >index 410c55d95c..68297f5b22 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt >@@ -248,22 +248,51 @@ > <br /> > [% IF ( order.order_internalnote ) %] > <p class="ordernote" >- ><strong>Internal note: </strong>[% order.order_internalnote | html %] [<a >- href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=internal" >- >Change internal note</a >- >]</p >- > >+ ><span id="internal-note-[% order.ordernumber | html %]">[% order.order_internalnote | html %]</span> >+ <a >+ class="edit_note no-export" >+ data-ordernumber="[% order.ordernumber | html %]" >+ data-note_type="internal" >+ href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | html %]&type=internal" >+ title="Edit internal note" >+ > >+ <i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit internal note >+ </a> >+ </p> > [% ELSE %] >- [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=internal" >- >Add internal note</a >- >] >+ <a >+ class="edit_note no-export" >+ data-ordernumber="[% order.ordernumber | html %]" >+ data-note_type="internal" >+ href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | html %]&type=internal" >+ title="Add internal note" >+ > >+ <i class="fa fa-plus"></i> Add internal note >+ </a> > [% END %] > [% IF ( order.order_vendornote ) %] >- <p class="ordernote"><strong>Vendor note: </strong>[% order.order_vendornote | html %]</p> >+ <p class="ordernote"> >+ <span id="vendor-note-[% order.ordernumber | html %]">[% order.order_vendornote | html %]</span> >+ <a >+ class="edit_note no-export" >+ data-ordernumber="[% order.ordernumber | html %]" >+ data-note_type="vendor" >+ href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | html %]&type=vendor" >+ title="Edit vendor note" >+ > >+ <i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit vendor note >+ </a> >+ </p> > [% ELSE %] >- [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | uri %]&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]&type=vendor" >- >Add vendor note</a >- >] >+ <a >+ class="edit_note no-export" >+ data-ordernumber="[% order.ordernumber | html %]" >+ data-note_type="vendor" >+ href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=[% order.ordernumber | html %]&type=vendor" >+ title="Add vendor note" >+ > >+ <i class="fa fa-plus"></i> Add vendor note >+ </a> > [% END %] > </td> > <td> >@@ -333,6 +362,33 @@ > <!-- /.modal-dialog --> > </div> > <!-- /.modal --> >+ <!-- Modal for editing vendor and internal notes --> >+ <div class="modal" id="noteEditor" tabindex="-1" role="dialog" aria-labelledby="noteEditorLabel"> >+ <div class="modal-dialog"> >+ <form id="modify_order_notes" action="/cgi-bin/koha/acqui/modordernotes.pl" method="post"> >+ [% INCLUDE 'csrf-token.inc' %] >+ <div class="modal-content"> >+ <div class="modal-header"> >+ <h1 class="modal-title" id="noteEditorLabel">Order note</h1> >+ <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> >+ </div> >+ <div class="modal-body"> >+ <textarea id="ordernotes" name="ordernotes" rows="3" cols="30" class="focus">[% ordernotes | html %]</textarea> >+ <input type="hidden" id="notes_ordernumber" name="ordernumber" value="" /> >+ <input type="hidden" name="op" value="cud-save" /> >+ <input type="hidden" id="type" name="type" value="" /> >+ </div> >+ <div class="modal-footer"> >+ <button type="submit" class="btn btn-primary">Save</button> >+ <button type="button" class="btn btn-default" data-bs-dismiss="modal">Cancel</button> >+ </div> >+ </div> >+ <!-- /.modal-content --> >+ </form> >+ <!-- /#modify_order_notes --> >+ </div> >+ <!-- /.modal-dialog --> >+ </div> > > [% IF (invoiceclosedate) %] > <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid | uri %]">View invoice</a> >@@ -495,29 +551,71 @@ > if ( internal_note != null && internal_note != '' ) { > result += '<p class="ordernote"><strong>' > + _("Internal note: ") >- + '</strong>' + escape_str(internal_note) >- + ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >- + encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' >- + '&type=internal">' + _("Change internal note") + '</a>]</p>'; >+ + '</strong>' >+ + '<span id="internal-note-' + escape_str(row.order_id) + '">' + escape_str(row.internal_note) + '</span>' >+ + ' <a' >+ + ' class="edit_note no-export"' >+ + ' data-ordernumber="' + escape_str(row.order_id) + '"' >+ + ' data-note_type="internal"' >+ + ' href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >+ + encodeURIComponent(row.order_id) >+ + '&type=internal"' >+ + ' title="' + _("Edit internal note") + '"' >+ + '>' >+ + '<i class="fa-solid fa-pencil" aria-hidden="true"></i> ' >+ + _("Edit internal note") >+ + '</a>' >+ + '</p>'; > } > else { >- result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >- + encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' >- + '&type=internal">' + _("Add internal note") + '</a>]'; >+ result += '<p><a' >+ + ' class="edit_note no-export"' >+ + ' data-ordernumber="' + escape_str(row.order_id) + '"' >+ + ' data-note_type="internal"' >+ + ' href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >+ + encodeURIComponent(row.order_id) >+ + '&type=internal"' >+ + ' title="' + _("Add internal note") + '"' >+ + '>' >+ + '<i class="fa fa-plus"></i> ' >+ + _("Add internal note") >+ + '</a></p>'; > } > > var vendor_note = row.vendor_note; > if ( vendor_note != null && vendor_note != '' ) { > result += '<p class="ordernote"><strong>' > + _("Vendor note: ") >- + '</strong>' + escape_str(vendor_note) + '</p>'; >+ + '</strong>' >+ + '<span id="vendor-note-' + escape_str(row.order_id) + '">' + escape_str(vendor_note) + '</span>' >+ + ' <a' >+ + ' class="edit_note no-export"' >+ + ' data-ordernumber="' + escape_str(row.order_id) + '"' >+ + ' data-note_type="vendor"' >+ + ' href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >+ + encodeURIComponent(row.order_id) >+ + '&type=vendor"' >+ + ' title="' + _("Edit vendor note") + '"' >+ + '>' >+ + '<i class="fa-solid fa-pencil" aria-hidden="true"></i> ' >+ + _("Edit vendor note") >+ + '</a>' >+ + '</p>'; > } > else { >- result += ' [<a href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >- + encodeURIComponent(row.order_id) + '&referrer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid | uri %]' >- + '&type=vendor">' + _("Add vendor note") + '</a>]'; >+ result += ' <p><a' >+ + ' class="edit_note no-export"' >+ + ' data-ordernumber="' + escape_str(row.order_id) + '"' >+ + ' data-note_type="vendor"' >+ + ' href="/cgi-bin/koha/acqui/modordernotes.pl?ordernumber=' >+ + encodeURIComponent(row.order_id) >+ + '&type=vendor"' >+ + ' title="' + _("Add vendor note") + '"' >+ + '>' >+ + '<i class="fa fa-plus"></i> ' >+ + _("Add vendor note") >+ + '</a></p>'; > } >- > return result; > }, > "orderable": true, >@@ -686,6 +784,7 @@ > $('.selOrder', row.node()).prop('checked', true); > } > }); >+ setupNoteEditorHandlers(); > }); > > $("#dataPreview").on("hidden.bs.modal", function(){ >@@ -719,6 +818,29 @@ > + "ordernumber=" + ordernumber > window.open(url, 'TransferOrder'); > } >+ function setupNoteEditorHandlers() { >+ $(".edit_note").on("click", function(e) { >+ e.preventDefault(); >+ var ordernumber = $(this).data("ordernumber"); >+ var note_type = $(this).data("note_type"); >+ var modalTitle = _("%s (order number %s)").format($(this).attr("title"), ordernumber); >+ var note_text = $( "#" + note_type + "-note-" + ordernumber ).html(); >+ $("#noteEditor .modal-title").text(modalTitle); >+ $("#notes_ordernumber").val( ordernumber ); >+ $("#ordernotes").html( note_text ); >+ $("#type").val( note_type ); >+ $("#noteEditor").modal("show"); >+ $("#ordernotes").focus(); >+ }); >+ $("#noteEditor").on('hidden.bs.modal', function (e) { >+ $("#noteEditorLabel").html(""); >+ $("#noteEditor .modal-title").text(""); >+ $("#ordernotes").html( "" ); >+ $("#notes_ordernumber").val(""); >+ $("#type").val(""); >+ }); >+ } >+ setupNoteEditorHandlers(); > </script> > [% END %] > >-- >2.34.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 21004
: 187077 |
187078