LP1851831 Group perm editor null descriptions OK
authorBill Erickson <berickxx@gmail.com>
Fri, 8 Nov 2019 15:37:21 +0000 (10:37 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 8 Nov 2019 19:40:19 +0000 (14:40 -0500)
Avoid assuming a permission description value is non-NULL in the
permission group editor interfaces since values are not required in the
database.

Fixes: ERROR TypeError: "l.description(...) is null"

Similarly repair the permission list title attributes so they display
the permission code (instead of an empty string) for titles when no
description is available.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/src/eg2/src/app/staff/admin/server/perm-group-map-dialog.component.ts
Open-ILS/src/eg2/src/app/staff/admin/server/perm-group-tree.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/perm-group-tree.component.ts

index 2d472d7..c71f25f 100644 (file)
@@ -64,7 +64,7 @@ export class PermGroupMapDialogComponent
             const entries: ComboboxEntry[] =  [];
             this.trimmedPerms.forEach(p => {
                 if (p.code().toLowerCase().includes(term) ||
-                    p.description().toLowerCase().includes(term)) {
+                    (p.description() || '').toLowerCase().includes(term)) {
                     entries.push({id: p.id(), label: p.code()});
                 }
             });
index 6e1770a..d906400 100644 (file)
             <div class="row" *ngFor="let map of groupPermMaps()"
                 [ngClass]="{'bg-warning': map.isdeleted()}">
               <div class="col-lg-5">
-                <span title="{{map.perm().description()}}">{{map.perm().code()}}</span>
+                <span i18n-title 
+                  title="{{map.perm().description() || map.perm().code()}}">
+                  {{map.perm().code()}}
+                </span>
               </div>
               <ng-container *ngIf="permIsInherited(map); else nativeMap">
                 <div class="col-lg-4">
index 3302c31..da97bca 100644 (file)
@@ -104,8 +104,10 @@ export class PermGroupTreeComponent implements OnInit {
         const parts = this.filterText.toLowerCase().split(' ');
 
         maps = maps.filter(m => {
-            const target = m.perm().code().toLowerCase()
-                + ' ' + m.perm().description().toLowerCase();
+            const desc = m.perm().description() || ''; // null-able
+
+            const target =
+                m.perm().code().toLowerCase() + ' ' + desc.toLowerCase();
 
             for (let i = 0; i < parts.length; i++) {
                 const part = parts[i];