more idl fun
authorJane Sandberg <sandbej@linnbenton.edu>
Sun, 11 Aug 2019 04:18:38 +0000 (21:18 -0700)
committerJane Sandberg <sandbej@linnbenton.edu>
Sun, 11 Aug 2019 04:18:38 +0000 (21:18 -0700)
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/eg2/src/app/staff/cat/authorities/manage.component.html
Open-ILS/src/eg2/src/app/staff/cat/authorities/manage.component.ts

index e6cc283..1cbe4fe 100644 (file)
@@ -2726,7 +2726,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <link field="notes" reltype="has_many" key="record" map="" class="arn"/>
                        <link field="bib_links" reltype="has_many" key="authority" map="" class="abl"/>
                        <link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
-                       <link field="simple_heading_record" reltype="might_have" key="record" map="" class="ash"/>
+                       <link field="simple_heading_record" reltype="has_many" key="record" map="" class="ash"/>
                </links>
                <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
                        <actions>
index 9bd448c..bbba1ce 100644 (file)
@@ -1,14 +1,14 @@
 <eg-grid #grid [dataSource]="gridSource"
   persistKey="cat.authorities.manage">
-  <eg-grid-column path="id" label="ID" i18n-label [index]="true" [hidden]="true"></eg-grid-column>
-  <eg-grid-column path="simple_heading_record.sort_value" label="Sort value" i18n-label></eg-grid-column>
-  <eg-grid-column path="simple_heading_record.value" label="Value" i18n-label></eg-grid-column>
-  <eg-grid-column path="simple_heading_record.thesaurus" label="Thesaurus" i18n-label></eg-grid-column>
-  <eg-grid-column path="create_date" label="Date created" i18n-label [hidden]="true"></eg-grid-column>
-  <eg-grid-column path="edit_date" label="Date last edited" i18n-label [hidden]="true"></eg-grid-column>
-  <eg-grid-column path="source.source" label="Record source" i18n-label [hidden]="true"></eg-grid-column>
-  <eg-grid-column path="creator.first_given_name" label="Creator first name" i18n-label></eg-grid-column>
-  <eg-grid-column path="editor.first_given_name" label="Last editor first name" i18n-label></eg-grid-column>
-  <eg-grid-column path="owner.name" label="Owning library" i18n-label></eg-grid-column>
+  <eg-grid-column path="record.id" label="ID" i18n-label [index]="true" [hidden]="true"></eg-grid-column>
+  <eg-grid-column path="sort_value" label="Sort value" i18n-label></eg-grid-column>
+  <eg-grid-column path="value" label="Value" i18n-label></eg-grid-column>
+  <eg-grid-column path="thesaurus" label="Thesaurus" i18n-label></eg-grid-column>
+  <eg-grid-column path="record.create_date" label="Date created" i18n-label [hidden]="true"></eg-grid-column>
+  <eg-grid-column path="record.edit_date" label="Date last edited" i18n-label [hidden]="true"></eg-grid-column>
+  <eg-grid-column path="record.source" label="Record source" i18n-label [hidden]="true"></eg-grid-column>
+  <eg-grid-column path="record.creator.first_given_name" label="Creator first name" i18n-label></eg-grid-column>
+  <eg-grid-column path="record.editor.first_given_name" label="Last editor first name" i18n-label></eg-grid-column>
+  <eg-grid-column path="record.owner.name" label="Owning library" i18n-label></eg-grid-column>
 
 </eg-grid>
index 443b78d..5584a1e 100644 (file)
@@ -16,11 +16,18 @@ export class ManageAuthoritiesComponent {
         this.gridSource = new GridDataSource();
 
         this.gridSource.getRows = (pager: Pager) => {
-            return this.pcrud.search('are',
-                {deleted: 'false'},
-                {flesh: 1,
-                flesh_fields: {are: ['creator', 'editor', 'owner', 'simple_heading_record']}}
-            );
+            return this.pcrud.search('ash', {
+                'record': { 'in': {
+                    'from': 'are', 'select': {'are': ['id']}, 'where': {'deleted': 'false'}}},
+                'atag': { 'in': {
+                    'from': 'ascaf', 'select': {'ascaf': ['id']}, 'where': {'main_entry': 'true'}}},
+                },
+                {flesh: 2,
+                flesh_fields: {
+                    are: ['creator', 'editor', 'owner'],
+                    ash: ['record']
+                }
+            });
         };
     }