Bug 20581: Add display of status_alias to staff vw
authorAndrew Isherwood <andrew.isherwood@ptfs-europe.com>
Tue, 17 Apr 2018 11:03:07 +0000 (12:03 +0100)
committerNick Clemens <nick@bywatersolutions.com>
Fri, 22 Feb 2019 14:31:31 +0000 (14:31 +0000)
- This patch adds display of the new status_alias value, when set, in
favour of the request's status value.
- It also allows the user to set a status_alias for an existing request.
When set, this value will be displayed in preference to the status.

Signed-off-by: Niamh.Walker-Headon@it-tallaght.ie

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

ill/ill-requests.pl
koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt

index d962773..e84ccab 100755 (executable)
@@ -162,8 +162,11 @@ if ( $backends_available ) {
                 value   => {}
             };
             $template->param(
-                whole   => $backend_result,
-                request => $request
+                whole          => $backend_result,
+                request        => $request,
+                status_aliases => scalar Koha::AuthorisedValues->search(
+                    { category => 'ILLSTATUS' }
+                )
             );
         } else {
             # Commit:
@@ -174,6 +177,10 @@ if ( $backends_available ) {
             $request->price_paid($params->{price_paid});
             $request->notesopac($params->{notesopac});
             $request->notesstaff($params->{notesstaff});
+            my $alias = ($params->{status_alias} =~ /\d/) ?
+                $params->{status_alias} :
+                undef;
+            $request->status_alias($alias);
             $request->store;
             my $backend_result = {
                 error   => 0,
index 575e17f..3187447 100644 (file)
                                 <li class="status">
                                     <label class="status">Status:</label>
                                     [% stat = request.status %]
-                                    [% request.capabilities.$stat.name | html %]
+                                    [% current_alias = request.status_alias %]
+                                    <select id="status_alias" name="status_alias">
+                                        [% IF !current_alias %]
+                                        <option value="" selected>
+                                        [% ELSE %]
+                                        <option value="">
+                                        [% END %]
+                                            [% request.capabilities.$stat.name | html %]
+                                        </option>
+                                        [% FOREACH alias IN status_aliases %]
+                                            [% IF alias.id == current_alias %]
+                                            <option value="[% alias.id %]" selected>
+                                            [% ELSE %]
+                                            <option value="[% alias.id %]">
+                                            [% END %]
+                                                [% alias.authorised_value | html %]
+                                            </option>
+                                        [% END %]
+                                    </select>
                                 </li>
                                 <li class="updated">
                                     <label class="updated">Last updated:</label>
                                     </li>
                                     <li class="status">
                                         <span class="label status">Status:</span>
-                                        [% request.capabilities.$req_status.name | html %]
+                                        [% IF request.statusalias %]
+                                            [% request.statusalias.authorised_value | html %]
+                                        [% ELSE %]
+                                            [% request.capabilities.$req_status.name | html%]
+                                        [% END %]
                                     </li>
                                     <li class="updated">
                                         <span class="label updated">Last updated:</span>
 
             // Render function for request status
             var createStatus = function(data, type, row, meta) {
-                var origData = meta.settings.oInit.originalData;
-                if (origData.length > 0) {
-                    var status_name = meta.settings.oInit.originalData[0].capabilities[
-                        row.status
-                    ].name;
-                    return getStatusName(status_name);
+                if (row.status_alias) {
+                    return row.status_alias.authorised_value;
                 } else {
-                    return '';
+                    var origData = meta.settings.oInit.originalData;
+                    if (origData.length > 0) {
+                        var status_name = meta.settings.oInit.originalData[0].capabilities[
+                            row.status
+                        ].name;
+                        return getStatusName(status_name);
+                    } else {
+                        return '';
+                    }
                 }
             };