Bug 36105: Add 'No status alias' option

1) Install FreeForm and enable ILLModule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) Visit /cgi-bin/koha/admin/authorised_values.pl add search for 'alias', click on ILL_STATUS_ALIAS
3) Click on the 'New authorized value for ILL_STATUS_ALIAS' button and add 'alias_code' in authorized value and 'Alias Description' in Description
4) Visit /cgi-bin/koha/ill/ill-requests.pl and create a new FreeForm request
5) After created, click 'Manage request', and then click the 'Edit request' button
6) Edit the Status and select 'Alias Description', click 'Submit'
7) Create a second request but do not set a status alias this time
7) Visit /cgi-bin/koha/ill/ill-requests.pl and select 'Alias description' on the 'Status aliases:' left-side filter
8) Notice the correct record is returned.
9) Now repeat 7) and select 'No status alias'. Notice the request with an empty status_alias is returned
10) Repeat 7 but select 'All status aliases'. Notice both requests are returned

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nell O’Hora <nohora@aub.ac.uk>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Pedro Amorim 2024-02-15 15:18:38 +00:00 committed by Katrin Fischer
parent d7d22d38b8
commit a4855c3ce2
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
2 changed files with 8 additions and 2 deletions

View File

@ -5,6 +5,7 @@
var ill_manage_select_backend_first = _("Select a backend first");
var ill_all_statuses = _("All statuses");
var ill_all_status_aliases = _("All status aliases");
var ill_no_status_alias = _("No status alias");
var ill_status_aliases = _("Status aliases");
</script>
<!-- / ill-list-table-strings.inc -->

View File

@ -119,7 +119,11 @@ $(document).ready(function() {
subquery_and.push( {"me.status":{"=": status }});
}
if(status_alias){
subquery_and.push({"me.status_alias":{"=": status_alias }});
if (status_alias === 'null' ){
subquery_and.push({ "me.status_alias": { "=": null } });
}else{
subquery_and.push({ "me.status_alias": { "=": status_alias } });
}
}
filters.push({"-and": subquery_and});
@ -489,7 +493,8 @@ $(document).ready(function() {
return '<li><label for="illfilter_status_alias">'+ill_status_aliases+':</label> <select name="illfilter_status_alias" id="illfilter_status_alias"></select></li>';
});
$('#illfilter_status_alias').append(
'<option value="">'+ill_all_status_aliases+'</option>'
'<option value="">'+ill_all_status_aliases+'</option>'+
'<option value="null">'+ill_no_status_alias+'</option>'
);
status_aliases.sort((a, b) => a.str.localeCompare(b.str)).forEach(function (status_alias) {
$('#illfilter_status_alias').append(