From 5f7c16a829b3188f24ef8457eff453dd6a13d14b Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 13 Nov 2020 10:54:27 -0500 Subject: [PATCH] LP1901930 SIP account admin UI WIP Signed-off-by: Bill Erickson --- .../staff/admin/server/sip/account.component.html | 17 +++++++++-------- .../staff/admin/server/sip/account.component.ts | 22 +++++++++++++++++++++- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.html b/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.html index 82e5989a49..842d97e639 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.html +++ b/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.html @@ -27,10 +27,9 @@
- + [entries]="settingGroups" (onChange)="grpChanged($event)"> @@ -48,19 +47,21 @@ (recordSaved)="accountSaved()" [recordId]="accountId">
+
+
    +
  • Apply changes to the account before modifying settings
  • +
  • Setting values must be entered as valid JSON.
  • +
+

Settings For Group - {{account.setting_group().label()}} + '{{account.setting_group().label()}}'

- - Setting values must be entered as valid JSON. - - diff --git a/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.ts b/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.ts index e1c204e52d..f4375f7447 100644 --- a/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/admin/server/sip/account.component.ts @@ -25,6 +25,7 @@ export class SipAccountComponent implements OnInit { account: IdlObject; usrCboxSource: (term: string) => Observable; usrCboxEntries: ComboboxEntry[]; + settingGroups: ComboboxEntry[]; usrId: number; settingsSource: GridDataSource = new GridDataSource(); @@ -45,6 +46,8 @@ export class SipAccountComponent implements OnInit { this.loadAccount().toPromise(); // force it to run }); + this.fetchGroups(); + this.usrCboxSource = term => { return this.pcrud.search('au', { deleted: 'f', active: 't', @@ -78,6 +81,16 @@ export class SipAccountComponent implements OnInit { } } + + fetchGroups() { + this.pcrud.retrieveAll('sipsetg', + {order_by: {sipsetg: 'label'}}, {atomic: true}) + .subscribe(grps => { + this.settingGroups = + grps.map(g => ({id: g.id(), label: g.label()})); + }); + } + loadAccount(): Observable { return this.pcrud.retrieve('sipacc', this.accountId, { flesh: 2, @@ -98,7 +111,12 @@ export class SipAccountComponent implements OnInit { this.pcrud.retrieve('sipsetg', entry.id, {flesh: 1, flesh_fields: {sipsetg: ['settings']}}) - .subscribe(grp => this.account.setting_group(grp)); + .subscribe(grp => { + this.account.setting_group(grp); + if (this.settingGrid) { + this.settingGrid.reload(); + } + }); } // Create a new setting group @@ -108,6 +126,8 @@ export class SipAccountComponent implements OnInit { this.cloneDialog.open().subscribe(resp => { if (!resp) { return; } + this.settingGroups.unshift({id: resp.id(), label: resp.label()}); + const settings = this.account.setting_group().settings() .map(setting => { const clone = this.idl.clone(setting); -- 2.11.0