Bug 10430 - status filter not working in serial claims when translated
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Fri, 7 Jun 2013 10:14:02 +0000 (12:14 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Wed, 9 Oct 2013 04:28:08 +0000 (04:28 +0000)
With a translated intranet (ie fr-FR) the status filter does not work
for "Late" status.  It is because status in combobox filter is
translated "Retard" and status in table is translated "En retard".

This patch changed javascript filter to work on a status code instead
of status name.
The new classes may be used to change CSS depending on status.

Test plan :
- Use a translated intranet (ie fr-FR)
- Go to serials claim of a vendor with issues of multiple status
- Check that status filter does its work

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch passes all tests and QA script.
The status filter should probably be changed to only
allow filtering on status that can appear on the page.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt

index 7528e9a..01af0e2 100644 (file)
            }
        }
 
-       // Filter by status
-       function filterByStatus() {
-           selectedStatus = $("#statusfilter").val();
-           if (selectedStatus == "all") {
-               clearFilters();
-           } else {
-               $("table#claimst tbody tr").hide();
-               $("table#claimst tbody tr:contains(" + selectedStatus + ")").show();
-           }
-       }
+    // Filter by status
+    function filterByStatus() {
+        selectedStatus = $("#statusfilter").val();
+        if (selectedStatus == "all") {
+            clearFilters();
+        } else {
+            $("table#claimst tbody tr").hide();
+            $("table#claimst tbody tr").each( function() {
+                if ( $(this).find("span.status-" + selectedStatus).size() > 0 ) {
+                    $(this).show();
+                }
+            });
+        }
+    }
 
        // Filter by branch
        function filterByBranch() {
        <li>
            <label for="statusfilter">Status : </label>
            <select id="statusfilter" onchange="filterByStatus();">
-               <option value="all" selected="selected">(All)</option>
-               <option>Expected</option>
-               <option>Arrived</option>
-               <option>Late</option>
-               <option>Missing</option>
-               <option>Claimed</option>
-        <option>Stopped</option>
+            <option value="all" selected="selected">(All)</option>
+            <option value="expected">Expected</option>
+            <option value="arrived">Arrived</option>
+            <option value="late">Late</option>
+            <option value="missing">Missing</option>
+            <option value="claimed">Claimed</option>
+            <option value="stopped">Stopped</option>
            </select>
        </li>
        
                         [% missingissue.serialseq %]
                         </td>
                         <td>
-                            [% IF ( missingissue.status1 ) %]Expected[% END %]
-                            [% IF ( missingissue.status2 ) %]Arrived[% END %]
-                            [% IF ( missingissue.status3 ) %]Late[% END %]
-                            [% IF ( missingissue.status4 ) %]Missing[% END %]
-                            [% IF ( missingissue.status7 ) %]Claimed[% END %]
-                            [% IF ( missingissue.status8 ) %]Stopped[% END %]
+                            [% IF ( missingissue.status1 ) %]<span class="status-expected">Expected</span>[% END %]
+                            [% IF ( missingissue.status2 ) %]<span class="status-arrived">Arrived</span>[% END %]
+                            [% IF ( missingissue.status3 ) %]<span class="status-late">Late</span>[% END %]
+                            [% IF ( missingissue.status4 ) %]<span class="status-missing">Missing</span>[% END %]
+                            [% IF ( missingissue.status7 ) %]<span class="status-claimed">Claimed</span>[% END %]
+                            [% IF ( missingissue.status8 ) %]<span class="status-stopped">Stopped</span>[% END %]
                         </td>
                         <td class="planneddate">
                         [% missingissue.planneddate %]