@@ -, +, @@ concerns management page as before. split button with a dropdown containing the list of status values defined above. --- Koha/REST/V1/Tickets.pm | 6 ++++++ .../en/includes/modals/display_ticket.inc | 21 ++++++++++++++++++- .../prog/en/modules/cataloguing/concerns.tt | 8 +++++-- .../prog/js/modals/display_ticket.js | 13 ++++++++---- 4 files changed, 41 insertions(+), 7 deletions(-) --- a/Koha/REST/V1/Tickets.pm +++ a/Koha/REST/V1/Tickets.pm @@ -220,6 +220,12 @@ sub add_update { )->store; } + # Update ticket status if needed + if ( $ticket_update->{status} ) { + my $ticket = $update->ticket; + $ticket->set( { status => $ticket_update->{status} } )->store; + } + # Optionally add to message_queue here to notify reporter if ( $update->public ) { my $notice = --- a/koha-tmpl/intranet-tmpl/prog/en/includes/modals/display_ticket.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/modals/display_ticket.inc @@ -1,3 +1,5 @@ +[% USE AuthorisedValues %] +[% SET status = AuthorisedValues.GetAuthValueDropbox('TICKET_STATUS') %] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/concerns.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/concerns.tt @@ -156,7 +156,7 @@ "orderable": true }, { - "data": "resolver.firstname:resolver.surname:resolved_date", + "data": "resolver.firstname:resolver.surname:resolved_date:status", "render": function(data, type, row, meta) { let result = ''; if (row.resolved_date) { @@ -166,7 +166,11 @@ }) + ''; result += '' + $datetime(row.resolved_date) + ''; } else { - result += _("Open"); + if (row.status) { + result += row.status; + } else { + result += _("Open"); + } } return result; }, --- a/koha-tmpl/intranet-tmpl/prog/js/modals/display_ticket.js +++ a/koha-tmpl/intranet-tmpl/prog/js/modals/display_ticket.js @@ -51,6 +51,9 @@ $(document).ready(function() { display_cardnumber: false, url: true }) + ' (' + $datetime(item.date) + ')'; + if ( item.status ) { + updates += '' + item.status + '' + } updates += ''; }); updates_display.html(updates); @@ -63,12 +66,14 @@ $(document).ready(function() { $('#public').prop( "checked", false ); }); - $('#ticketDetailsModal').on('click', '#updateTicket', function(e) { + $('#ticketDetailsModal').on('click', '.updateSubmit', function(e) { + let clicked = $(this); let ticket_id = $('#ticket_id').val(); let params = { 'public': $('#public').is(":checked"), - message: $('#update_message').val(), - user_id: logged_in_user_borrowernumber + 'message': $('#update_message').val(), + 'user_id': logged_in_user_borrowernumber, + 'status': clicked.data('status') }; $('#comment-spinner').show(); @@ -96,7 +101,7 @@ $(document).ready(function() { 'public': $('#public').is(":checked"), message: $('#update_message').val(), user_id: logged_in_user_borrowernumber, - state: 'resolved' + state: 'resolved', }; $('#resolve-spinner').show(); --