Bug 32938: Add ORDRSP message display to basket page
This patch extends the EDIFACT message display functionality on the basket page to include ORDRSP (Order Response) messages alongside existing QUOTE and ORDERS messages. Features added: - ORDRSP message collection and filtering - Smart button display logic: * Single button for one message type * Dropdown for multiple message types (now includes ORDRSP) - ORDRSP-specific UI elements: * Reply icon (fa-reply) indicating response nature * "View order response" labeling * Integration with existing modal and highlighting system The ORDRSP messages correctly link to baskets since they are vendor responses to the original order, following the standard EDI workflow: ORDERS → ORDRSP → INVOICE Sponsored-by: OpenFifth <https://openfifth.co.uk/> Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
This commit is contained in:
parent
8897fde297
commit
29b71a0749
|
|
@ -126,16 +126,20 @@
|
|||
[% IF edifact_enabled && edifact_messages.size > 0 %]
|
||||
[% SET quote_messages = [] %]
|
||||
[% SET order_messages = [] %]
|
||||
[% SET ordrsp_messages = [] %]
|
||||
[% FOR message IN edifact_messages %]
|
||||
[% IF message.message_type == 'QUOTE' %]
|
||||
[% quote_messages.push(message) %]
|
||||
[% ELSIF message.message_type == 'ORDERS' %]
|
||||
[% order_messages.push(message) %]
|
||||
[% ELSIF message.message_type == 'ORDRSP' %]
|
||||
[% ordrsp_messages.push(message) %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF quote_messages.size > 0 && order_messages.size > 0 %]
|
||||
<!-- Both quote and order messages exist -->
|
||||
[% SET total_messages = quote_messages.size + order_messages.size + ordrsp_messages.size %]
|
||||
[% IF total_messages > 1 %]
|
||||
<!-- Multiple messages exist - show dropdown -->
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-default dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <i class="fa fa-file-text"></i> View EDIFACT interchanges </button>
|
||||
<ul class="dropdown-menu">
|
||||
|
|
@ -153,6 +157,13 @@
|
|||
</a>
|
||||
</li>
|
||||
[% END %]
|
||||
[% FOR message IN ordrsp_messages %]
|
||||
<li>
|
||||
<a class="dropdown-item view_edifact_message" href="#" data-message-id="[% message.id | html %]" data-basketno="[% basketno | html %]" data-basketname="[% basketname | html %]">
|
||||
<i class="fa fa-reply"></i> View order response ([% message.transfer_date | $KohaDates %])
|
||||
</a>
|
||||
</li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
[% ELSIF quote_messages.size > 0 %]
|
||||
|
|
@ -169,6 +180,13 @@
|
|||
<i class="fa fa-shopping-cart"></i> View EDIFACT order
|
||||
</button>
|
||||
</div>
|
||||
[% ELSIF ordrsp_messages.size > 0 %]
|
||||
<!-- Only order response messages exist -->
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default view_edifact_message" data-message-id="[% ordrsp_messages.0.id | html %]" data-basketno="[% basketno | html %]" data-basketname="[% basketname | html %]">
|
||||
<i class="fa fa-reply"></i> View EDIFACT order response
|
||||
</button>
|
||||
</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
|
@ -338,16 +356,20 @@
|
|||
[% IF edifact_enabled && edifact_messages.size > 0 %]
|
||||
[% SET quote_messages = [] %]
|
||||
[% SET order_messages = [] %]
|
||||
[% SET ordrsp_messages = [] %]
|
||||
[% FOR message IN edifact_messages %]
|
||||
[% IF message.message_type == 'QUOTE' %]
|
||||
[% quote_messages.push(message) %]
|
||||
[% ELSIF message.message_type == 'ORDERS' %]
|
||||
[% order_messages.push(message) %]
|
||||
[% ELSIF message.message_type == 'ORDRSP' %]
|
||||
[% ordrsp_messages.push(message) %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
[% IF quote_messages.size > 0 && order_messages.size > 0 %]
|
||||
<!-- Both quote and order interchanges exist -->
|
||||
[% SET total_messages = quote_messages.size + order_messages.size + ordrsp_messages.size %]
|
||||
[% IF total_messages > 1 %]
|
||||
<!-- Multiple messages exist - show dropdown -->
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-default dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <i class="fa fa-file-text"></i> View EDIFACT interchanges </button>
|
||||
<ul class="dropdown-menu">
|
||||
|
|
@ -365,10 +387,17 @@
|
|||
</a>
|
||||
</li>
|
||||
[% END %]
|
||||
[% FOR message IN ordrsp_messages %]
|
||||
<li>
|
||||
<a class="dropdown-item view_edifact_message" href="#" data-message-id="[% message.id | html %]" data-basketno="[% basketno | html %]" data-basketname="[% basketname | html %]">
|
||||
<i class="fa fa-reply"></i> View order response ([% message.transfer_date | $KohaDates %])
|
||||
</a>
|
||||
</li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
[% ELSIF quote_messages.size > 0 %]
|
||||
<!-- Only quote interchanges exist -->
|
||||
<!-- Only quote messages exist -->
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default view_edifact_message" data-message-id="[% quote_messages.0.id | html %]" data-basketno="[% basketno | html %]" data-basketname="[% basketname | html %]">
|
||||
<i class="fa fa-quote-left"></i> View EDIFACT quote
|
||||
|
|
@ -381,6 +410,13 @@
|
|||
<i class="fa fa-shopping-cart"></i> View EDIFACT order
|
||||
</button>
|
||||
</div>
|
||||
[% ELSIF ordrsp_messages.size > 0 %]
|
||||
<!-- Only order response messages exist -->
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default view_edifact_message" data-message-id="[% ordrsp_messages.0.id | html %]" data-basketno="[% basketno | html %]" data-basketname="[% basketname | html %]">
|
||||
<i class="fa fa-reply"></i> View EDIFACT order response
|
||||
</button>
|
||||
</div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue