allow __gte and __lte searches for ACQLIA that include 'date' in their code
authorGalen Charlton <gmc@equinoxinitiative.org>
Thu, 13 Feb 2020 17:15:31 +0000 (12:15 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Thu, 13 Feb 2020 17:15:31 +0000 (12:15 -0500)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.ts

index 19d989e..bc1cc68 100644 (file)
@@ -44,8 +44,8 @@
         <option i18n value="__not,__fuzzy" [disabled]="searchTermDatatypes[t.field] != 'text'">does NOT contain</option>
         <option i18n value="__starts" [disabled]="searchTermDatatypes[t.field] != 'text'">STARTS with</option>
         <option i18n value="__ends" [disabled]="searchTermDatatypes[t.field] != 'text'">ENDS with</option>
-        <option i18n value="__lte" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is on or BEFORE</option>
-        <option i18n value="__gte" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is on or AFTER</option>
+        <option i18n value="__lte" [disabled]="searchTermDatatypes[t.field] != 'timestamp' && !dateLikeSearchFields[t.field]">is on or BEFORE</option>
+        <option i18n value="__gte" [disabled]="searchTermDatatypes[t.field] != 'timestamp' && !dateLikeSearchFields[t.field]">is on or AFTER</option>
         <option i18n value="__between" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">is BETWEEN</option>
         <option i18n value="__age" [disabled]="searchTermDatatypes[t.field] != 'timestamp'">age (relative date)</option>
         <option i18n value="__in">matches a term from a file</option>
index 785e0a6..d9cbdbe 100644 (file)
@@ -26,6 +26,7 @@ export class AcqSearchFormComponent implements OnInit, AfterViewInit {
 
     hints = ['jub', 'acqpl', 'acqpo', 'acqinv', 'acqlid'];
     availableSearchFields = {};
+    dateLikeSearchFields = {};
     searchTermDatatypes = {};
     searchFieldLinkedClasses = {};
     validSearchTypes = ['lineitems', 'purchaseorders', 'invoices', 'selectionlists'];
@@ -83,6 +84,9 @@ export class AcqSearchFormComponent implements OnInit, AfterViewInit {
                     datatype: 'text'
                 };
                 this.searchTermDatatypes['acqlia:' + liad.id()] = 'text';
+                if (liad.code().match(/date/)) {
+                    this.dateLikeSearchFields['acqlia:' + liad.id()] = true;
+                }
             });
 
             if (this.initialSearchTerms.length > 0) {