From 46aad5d56176951f40510c09bb4d45df7cb279ac Mon Sep 17 00:00:00 2001 From: Hans-Peter Herzog Date: Wed, 11 Apr 2018 12:52:24 +0200 Subject: [PATCH] TT#20517 PBXConfig: As a Customer, I want to edit PBX Seats Change-Id: I48808fdb6931a4bf2737d9f3a2a23503b24353fd --- README.md | 10 + src/api/pbx-config.js | 14 +- src/api/subscriber.js | 3 + .../pages/PbxConfiguration/CscPbxGroup.vue | 22 +- .../PbxConfiguration/CscPbxGroupAddForm.vue | 128 ++++----- .../pages/PbxConfiguration/CscPbxSeat.vue | 257 +++++++++++++----- .../PbxConfiguration/CscPbxSeatAddForm.vue | 169 ++++-------- .../pages/PbxConfiguration/CscPbxSeatList.vue | 53 ---- .../pages/PbxConfiguration/Groups.vue | 247 ++++------------- .../pages/PbxConfiguration/Seats.vue | 162 ++++++----- src/mixins/item-error.js | 34 +++ src/store/common.js | 16 -- src/store/pbx-config/actions.js | 153 +++++++---- src/store/pbx-config/getters.js | 61 ++++- src/store/pbx-config/mutations.js | 103 ++++--- src/store/pbx-config/state.js | 25 +- 16 files changed, 720 insertions(+), 737 deletions(-) delete mode 100644 src/components/pages/PbxConfiguration/CscPbxSeatList.vue create mode 100644 src/mixins/item-error.js diff --git a/README.md b/README.md index ef9427c2..91826803 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,16 @@ You need a pbx subscriber to be able to access the pbx config specific modules i `enable: yes` +1. Enable write access for subscriberadmins by adding "write" to subscriber privileges as in the following example + + ``` + www_admin + privileges: + subscriberadmin: + subscribers: + - write + ``` + 1. Run ngcpcfg apply `ngcpcfg apply 'Enable pbx'` diff --git a/src/api/pbx-config.js b/src/api/pbx-config.js index 4704a8c2..bb521ffb 100644 --- a/src/api/pbx-config.js +++ b/src/api/pbx-config.js @@ -5,7 +5,7 @@ import { getJsonBody } from './utils'; import { getNumbers, assignNumbers } from './user'; import { createSubscriber, deleteSubscriber, setDisplayName, setPbxExtension, setPbxHuntPolicy, setPbxHuntTimeout, - setPbxGroupMemberIds } from './subscriber'; + setPbxGroupMemberIds, setPbxGroupIds } from './subscriber'; import uuid from 'uuid'; var createId = uuid.v4; @@ -154,3 +154,15 @@ export function setGroupHuntTimeout(id, huntTimeout) { export function updateGroupSeats(id, seatIds) { return setPbxGroupMemberIds(id, seatIds); } + +export function setSeatName(id, seatName) { + return setDisplayName(id, seatName); +} + +export function setSeatExtension(id, seatExtension) { + return setPbxExtension(id, seatExtension); +} + +export function updateSeatGroups(id, seatIds) { + return setPbxGroupIds(id, seatIds); +} diff --git a/src/api/subscriber.js b/src/api/subscriber.js index 9552d506..185c1dbc 100644 --- a/src/api/subscriber.js +++ b/src/api/subscriber.js @@ -260,3 +260,6 @@ export function setPbxGroupMemberIds(id, ids) { return setField(id, 'pbx_groupmember_ids', ids); } +export function setPbxGroupIds(id, ids) { + return setField(id, 'pbx_group_ids', ids); +} diff --git a/src/components/pages/PbxConfiguration/CscPbxGroup.vue b/src/components/pages/PbxConfiguration/CscPbxGroup.vue index 197d6da1..c0ea34d1 100644 --- a/src/components/pages/PbxConfiguration/CscPbxGroup.vue +++ b/src/components/pages/PbxConfiguration/CscPbxGroup.vue @@ -10,16 +10,19 @@ - + - + - + - + @@ -126,13 +129,6 @@ isLoading() { return this.loading; }, - cardClasses() { - var cardClasses = ['csc-pbx-group']; - if(this.isLoading) { - cardClasses.push('light-dimmed'); - } - return cardClasses; - }, titleIcon() { if(this.expanded) { return 'keyboard arrow down'; @@ -277,7 +273,7 @@ }, seatChanges() { return !_.isEqual(this.changes.seats.sort(), - this.numbersToIds(this.group.seats).sort()); + this.seatsToIds(this.group.seats).sort()); }, seatButtons() { let buttons = []; @@ -359,7 +355,7 @@ var numbersToAdd = _.difference(this.changes.aliasNumbers, oldNumbers); var numbersToRemove = _.difference(oldNumbers, this.changes.aliasNumbers); this.$emit('save-alias-numbers', { - group: this.groupModel, + item: this.groupModel, add: numbersToAdd, remove: numbersToRemove }); diff --git a/src/components/pages/PbxConfiguration/CscPbxGroupAddForm.vue b/src/components/pages/PbxConfiguration/CscPbxGroupAddForm.vue index 9f649993..447b5b6a 100644 --- a/src/components/pages/PbxConfiguration/CscPbxGroupAddForm.vue +++ b/src/components/pages/PbxConfiguration/CscPbxGroupAddForm.vue @@ -2,40 +2,42 @@ - Add Group + {{ $t('pbxConfig.addGroup') }} - - + - + - - + + - + - + - {{ $t('buttons.cancel') }} - {{ $t('buttons.save') }} + {{ $t('buttons.cancel') }} + {{ $t('buttons.save') }} - + @@ -43,78 +45,45 @@ - - diff --git a/src/components/pages/PbxConfiguration/Groups.vue b/src/components/pages/PbxConfiguration/Groups.vue index ed09be8d..1d234045 100644 --- a/src/components/pages/PbxConfiguration/Groups.vue +++ b/src/components/pages/PbxConfiguration/Groups.vue @@ -1,58 +1,23 @@