From: Jane Sandberg <sandbej@linnbenton.edu> Date: Thu, 20 Dec 2018 17:39:03 +0000 (-0600) Subject: LP1809288: Port Booking Admin to Angular X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0c19eb5c596735ddcd4c9eb1fa0c1b70a050ce6e;p=evergreen%2Fequinox.git LP1809288: Port Booking Admin to Angular Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Bill Erickson <berickxx@gmail.com> --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 1be2c885e8..d541e5fc96 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -4932,11 +4932,11 @@ SELECT usr, <class id="brt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource_type" oils_persist:tablename="booking.resource_type" reporter:label="Resource Type"> <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_type_id_seq"> <field reporter:label="Resource Type ID" name="id" reporter:datatype="id" reporter:selector="name"/> - <field reporter:label="Resource Type Name" name="name" reporter:datatype="text"/> + <field reporter:label="Resource Type Name" name="name" reporter:datatype="text" oils_obj:required="true"/> <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/> <field reporter:label="Fine Amount" name="fine_amount" reporter:datatype="money"/> <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money"/> - <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/> + <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit" oils_obj:required="true"/> <field reporter:label="Catalog Item" name="catalog_item" reporter:datatype="bool"/> <field reporter:label="Bibliographic Record" name="record" reporter:datatype="link"/> <field reporter:label="Transferable" name="transferable" reporter:datatype="bool"/> @@ -4965,10 +4965,10 @@ SELECT usr, <class id="brsrc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource" oils_persist:tablename="booking.resource" reporter:label="Resource"> <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_id_seq"> <field reporter:label="Resource ID" name="id" reporter:datatype="id" reporter:selector="barcode" /> - <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/> - <field reporter:label="Resource Type" name="type" reporter:datatype="link"/> + <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit" oils_obj:required="true"/> + <field reporter:label="Resource Type" name="type" reporter:datatype="link" oils_obj:required="true"/> <field reporter:label="Overbook" name="overbook" reporter:datatype="bool"/> - <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/> + <field reporter:label="Barcode" name="barcode" reporter:datatype="text" oils_obj:required="true"/> <field reporter:label="Is Deposit Required" name="deposit" reporter:datatype="bool"/> <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money"/> <field reporter:label="User Fee" name="user_fee" reporter:datatype="money"/> @@ -4997,8 +4997,8 @@ SELECT usr, <class id="bra" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource_attr" oils_persist:tablename="booking.resource_attr" reporter:label="Resource Attribute"> <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_attr_id_seq"> <field reporter:label="Resource Attribute ID" name="id" reporter:datatype="id" reporter:selector="name" /> - <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/> - <field reporter:label="Resource Attribute Name" name="name" reporter:datatype="text"/> + <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit" oils_obj:required="true"/> + <field reporter:label="Resource Attribute Name" name="name" reporter:datatype="text" oils_obj:required="true"/> <field reporter:label="Resource Type" name="resource_type" reporter:datatype="link"/> <field reporter:label="Is Required" name="required" reporter:datatype="bool"/> <field reporter:label="Valid Values" name="valid_values" oils_persist:virtual="true" reporter:datatype="link"/> @@ -5023,9 +5023,9 @@ SELECT usr, <class id="brav" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource_attr_value" oils_persist:tablename="booking.resource_attr_value" reporter:label="Resource Attribute Value"> <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_attr_value_id_seq"> <field reporter:label="Resource Attribute Value ID" name="id" reporter:datatype="id" reporter:selector="valid_value" /> - <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit"/> - <field reporter:label="Resource Attribute" name="attr" reporter:datatype="link"/> - <field reporter:label="Valid Value" name="valid_value" reporter:datatype="text"/> + <field reporter:label="Owning Library" name="owner" reporter:datatype="org_unit" oils_obj:required="true"/> + <field reporter:label="Resource Attribute" name="attr" reporter:datatype="link" oils_obj:required="true"/> + <field reporter:label="Valid Value" name="valid_value" reporter:datatype="text" oils_obj:required="true"/> <field reporter:label="Resource Attribute Maps" name="attr_maps" oils_persist:virtual="true" reporter:datatype="link"/> <field reporter:label="Resource Attribute Value Maps" name="attr_val_maps" oils_persist:virtual="true" reporter:datatype="link"/> </fields> @@ -5048,9 +5048,9 @@ SELECT usr, <class id="bram" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="booking::resource_attr_map" oils_persist:tablename="booking.resource_attr_map" reporter:label="Resource Attribute Map"> <fields oils_persist:primary="id" oils_persist:sequence="booking.resource_attr_map_id_seq"> <field reporter:label="Resource Attribute Map ID" name="id" reporter:datatype="id"/> - <field reporter:label="Resource" name="resource" reporter:datatype="link"/> - <field reporter:label="Resource Attribute" name="resource_attr" reporter:datatype="link"/> - <field reporter:label="Attribute Value" name="value" reporter:datatype="link"/> + <field reporter:label="Resource" name="resource" reporter:datatype="link" oils_obj:required="true"/> + <field reporter:label="Resource Attribute" name="resource_attr" reporter:datatype="link" oils_obj:required="true"/> + <field reporter:label="Attribute Value" name="value" reporter:datatype="link" oils_obj:required="true"/> </fields> <links> <link field="resource" reltype="has_a" key="id" map="" class="brsrc"/> diff --git a/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.html b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.html new file mode 100644 index 0000000000..e33da8e6a3 --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.html @@ -0,0 +1,18 @@ +<eg-staff-banner bannerText="Booking Administration" i18n-bannerText> +</eg-staff-banner> + +<div class="container"> + <eg-link-table columnCount="3"> + <eg-link-table-link i18n-label label="Resources" + routerLink="/staff/admin/booking/resource"></eg-link-table-link> + <eg-link-table-link i18n-label label="Resource Attributes" + routerLink="/staff/admin/booking/resource_attr"></eg-link-table-link> + <eg-link-table-link i18n-label label="Resource Attribute Maps" + routerLink="/staff/admin/booking/resource_attr_map"></eg-link-table-link> + <eg-link-table-link i18n-label label="Resource Attribute Values" + routerLink="/staff/admin/booking/resource_attr_value"></eg-link-table-link> + <eg-link-table-link i18n-label label="Resource Types" + routerLink="/staff/admin/booking/resource_type"></eg-link-table-link> + </eg-link-table> +</div> + diff --git a/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.ts new file mode 100644 index 0000000000..e6be070bec --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking-splash.component.ts @@ -0,0 +1,11 @@ +import {Component, Input, ViewChildren, + AfterViewInit, QueryList} from '@angular/core'; + +@Component({ + templateUrl: './admin-booking-splash.component.html' +}) + +export class AdminBookingSplashComponent { +} + + diff --git a/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking.module.ts b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking.module.ts new file mode 100644 index 0000000000..b6ea6e19fd --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/admin/booking/admin-booking.module.ts @@ -0,0 +1,24 @@ +import {NgModule} from '@angular/core'; +import {StaffCommonModule} from '@eg/staff/common.module'; +import {AdminBookingRoutingModule} from './routing.module'; +import {AdminCommonModule} from '@eg/staff/admin/common.module'; +import {AdminBookingSplashComponent} from './admin-booking-splash.component'; + +@NgModule({ + declarations: [ + AdminBookingSplashComponent + ], + imports: [ + AdminCommonModule, + AdminBookingRoutingModule + ], + exports: [ + ], + providers: [ + ] +}) + +export class AdminBookingModule { +} + + diff --git a/Open-ILS/src/eg2/src/app/staff/admin/booking/routing.module.ts b/Open-ILS/src/eg2/src/app/staff/admin/booking/routing.module.ts new file mode 100644 index 0000000000..1cbf480ee4 --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/admin/booking/routing.module.ts @@ -0,0 +1,22 @@ +import {NgModule} from '@angular/core'; +import {RouterModule, Routes} from '@angular/router'; +import {AdminBookingSplashComponent} from './admin-booking-splash.component'; +import {BasicAdminPageComponent} from '@eg/staff/admin/basic-admin-page.component'; + +const routes: Routes = [{ + path: 'splash', + component: AdminBookingSplashComponent +}, { + path: ':table', + component: BasicAdminPageComponent, + // All booking admin pages cover data in the booking.* schema. No need to + // duplicate it within the URL path. Pass it manually instead. + data: [{schema: 'booking'}] +}]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) + +export class AdminBookingRoutingModule {} diff --git a/Open-ILS/src/eg2/src/app/staff/admin/routing.module.ts b/Open-ILS/src/eg2/src/app/staff/admin/routing.module.ts index a93f9ee37c..29df72cbf0 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/routing.module.ts +++ b/Open-ILS/src/eg2/src/app/staff/admin/routing.module.ts @@ -12,6 +12,9 @@ const routes: Routes = [{ }, { path: 'acq', loadChildren: '@eg/staff/admin/acq/admin-acq.module#AdminAcqModule' + }, { + path: 'booking', + loadChildren: '@eg/staff/admin/booking/admin-booking.module#AdminBookingModule' }] }]; diff --git a/Open-ILS/src/eg2/src/app/staff/nav.component.html b/Open-ILS/src/eg2/src/app/staff/nav.component.html index feed30bcb5..7c30c00bc4 100644 --- a/Open-ILS/src/eg2/src/app/staff/nav.component.html +++ b/Open-ILS/src/eg2/src/app/staff/nav.component.html @@ -360,7 +360,8 @@ <span class="material-icons">layers</span> <span i18n>Serials Administration</span> </a> - <a class="dropdown-item" href="/eg/staff/admin/booking/index"> + <a class="dropdown-item" + routerLink="/staff/admin/booking/splash"> <span class="material-icons">business_center</span> <span i18n>Booking Administration</span> </a> diff --git a/Open-ILS/src/templates/staff/navbar.tt2 b/Open-ILS/src/templates/staff/navbar.tt2 index d82ca1f305..1ca59d57d6 100644 --- a/Open-ILS/src/templates/staff/navbar.tt2 +++ b/Open-ILS/src/templates/staff/navbar.tt2 @@ -508,7 +508,7 @@ </a> </li> <li> - <a href="./admin/booking/index" target="_self"> + <a href="/eg2/staff/admin/booking/splash" target="_self"> <span class="glyphicon glyphicon-calendar"></span> [% l('Booking Administration') %] </a>