TT#52801 Subscriber Admin wants to remove soundset

Change-Id: If1da600108000c532a3fef5ae75bb97cd4bede1e
changes/63/27263/2
raxelsen 6 years ago
parent fb4ba3093b
commit d5bc3d4552

@ -712,3 +712,7 @@ export function getSoundFilesGrouped(options) {
});
});
}
export function removeSoundSet(id) {
return Vue.http.delete('api/soundsets/' + id);
}

@ -25,8 +25,12 @@
sublabel
>
<div>
<span class="csc-item-label">{{ $t('pbxConfig.description') }}:</span>
<span class="csc-item-value">{{ set.description }}</span>
<span class="csc-item-label">
{{ $t('pbxConfig.description') }}:
</span>
<span class="csc-item-value">
{{ set.description }}
</span>
</div>
</q-item-tile>
<q-item-tile
@ -69,6 +73,14 @@
class="csc-list-actions-pinned"
>
<q-item-tile>
<q-btn
v-if="expanded"
icon="delete"
:big="mobile"
color="negative"
flat
@click="remove()"
/>
<q-btn
:icon="titleIcon"
:big="mobile"
@ -155,6 +167,9 @@
methods: {
toggleMain() {
this.expanded = !this.expanded;
},
remove() {
this.$emit('remove', this.set);
}
},
watch: {

@ -14,6 +14,7 @@
:key="set.id"
:set="set"
:mobile="isMobile"
@remove="removeSoundSetDialog"
/>
</q-list>
<div
@ -22,13 +23,22 @@
>
{{ $t('pbxConfig.noSoundSets') }}
</div>
<csc-remove-dialog
ref="removeDialog"
:title="$t('pbxConfig.removeSoundSetTitle')"
:message="removeDialogMessage"
@remove="removeSoundSet"
/>
</csc-page>
</template>
<script>
import CscPage from '../../CscPage'
import CscPbxSoundSet from './CscPbxSoundSet'
import { mapGetters } from 'vuex'
import CscRemoveDialog from '../../CscRemoveDialog'
import {
mapGetters
} from 'vuex'
import {
Platform,
QList,
@ -38,11 +48,13 @@
components: {
CscPage,
CscPbxSoundSet,
CscRemoveDialog,
QList,
QBtn
},
data () {
return {
currentRemovingSoundSet: null
}
},
mounted() {
@ -56,9 +68,23 @@
]),
isMobile() {
return !!Platform.is.mobile;
},
removeDialogMessage() {
if (this.currentRemovingSoundSet !== null) {
return this.$t('pbxConfig.removeSoundSetText', {
set: this.currentRemovingSoundSet.name
});
}
}
},
methods: {
removeSoundSetDialog(soundSet) {
this.currentRemovingSoundSet = soundSet;
this.$refs.removeDialog.open();
},
removeSoundSet() {
this.$store.dispatch('pbxConfig/removeSoundSet', this.currentRemovingSoundSet)
}
},
watch: {
}

@ -413,7 +413,9 @@
"removeConfigText": "You are about to remove call queue for {subscriber}",
"seconds": "seconds",
"callers": "callers",
"description": "Description"
"description": "Description",
"removeSoundSetTitle": "Remove sound set",
"removeSoundSetText": "You are about to remove the {set} sound set"
},
"callBlocking": {
"privacyEnabledToast": "Your number is hidden to the callee",

@ -39,7 +39,8 @@ import {
getPrefs,
removeCallQueue,
getAllSoundSets,
getSoundFilesGrouped
getSoundFilesGrouped,
removeSoundSet
} from '../../api/pbx-config'
export default {
@ -50,14 +51,14 @@ export default {
silent: silent,
page: page
});
getGroupList(page).then((data)=>{
getGroupList(page).then((data) => {
context.commit('listSucceeded', data);
return data;
}).then((groups) => {
groups.groups.items.forEach((group)=>{
groups.groups.items.forEach((group) => {
context.dispatch('loadCallQueueForGroup', group.id);
});
}).catch((err)=>{
}).catch((err) => {
context.commit('listFailed', err.message);
});
},
@ -66,18 +67,18 @@ export default {
group.domainId = context.state.pilot.domain_id;
context.commit('addItemRequesting', group);
context.commit('lastAddedGroup', group.name);
addGroup(group).then(()=>{
addGroup(group).then(() => {
return context.dispatch('listGroups', true);
}).then(()=>{
}).then(() => {
context.commit('addItemSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('addItemFailed', err.message);
});
},
reloadGroup(context, group) {
return new Promise((resolve, reject)=>{
return new Promise((resolve, reject) => {
context.commit('groupReloading', group);
getGroup(group.id).then(($group)=>{
getGroup(group.id).then(($group) => {
context.commit('groupReloaded', $group);
return $group;
}).then((data) => {
@ -87,9 +88,9 @@ export default {
group: group,
error: err.message
});
}).then(()=>{
}).then(() => {
resolve();
}).catch((err)=>{
}).catch((err) => {
reject(err);
});
});
@ -99,7 +100,7 @@ export default {
context.commit('lastUpdatedField', {name: group.name, type: 'group name'});
setGroupName(group.id, group.name).then(() => {
return context.dispatch('reloadGroup', group);
}).then(()=>{
}).then(() => {
context.commit('updateItemSucceeded');
}).catch((err) => {
context.commit('updateItemFailed', err.message);
@ -108,7 +109,7 @@ export default {
setGroupExtension(context, group) {
context.commit('updateItemRequesting', group);
context.commit('lastUpdatedField', {name: group.extension, type: 'group extension'});
setGroupExtension(group.id, group.extension).then(()=>{
setGroupExtension(group.id, group.extension).then(() => {
return context.dispatch('reloadGroup', group);
}).then(() => {
context.commit('updateItemSucceeded');
@ -121,7 +122,7 @@ export default {
context.commit('lastUpdatedField', {name: group.huntPolicy + " ringing", type: 'group hunt policy'});
setGroupHuntPolicy(group.id, group.huntPolicy).then(() => {
return context.dispatch('reloadGroup', group);
}).then(()=>{
}).then(() => {
context.commit('updateItemSucceeded');
}).catch((err) => {
context.commit('updateItemFailed', err.message);
@ -130,7 +131,7 @@ export default {
setGroupHuntTimeout(context, group) {
context.commit('updateItemRequesting', group);
context.commit('lastUpdatedField', {name: group.huntTimeout + " seconds", type: 'group hunt timeout'});
setGroupHuntTimeout(group.id, group.huntTimeout).then(()=>{
setGroupHuntTimeout(group.id, group.huntTimeout).then(() => {
return context.dispatch('reloadGroup', group);
}).then(() => {
context.commit('updateItemSucceeded');
@ -143,11 +144,11 @@ export default {
Promise.all([
assignNumbers(data.add, data.item.id),
assignNumbers(data.remove, context.getters.pilotId)
]).then(()=>{
]).then(() => {
return context.dispatch('reloadGroup', data.item);
}).then(()=>{
}).then(() => {
context.commit('updateAliasNumbersSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('updateAliasNumbersFailed', err.message);
});
},
@ -156,17 +157,17 @@ export default {
Promise.all([
assignNumbers(data.add, data.item.id),
assignNumbers(data.remove, context.getters.pilotId)
]).then(()=>{
]).then(() => {
return context.dispatch('reloadSeat', data.item);
}).then(()=>{
}).then(() => {
context.commit('updateAliasNumbersSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('updateAliasNumbersFailed', err.message);
});
},
updateSeats(context, group) {
context.commit('updateGroupsAndSeatsRequesting', group);
updateGroupSeats(group.id, group.seats).then(()=>{
updateGroupSeats(group.id, group.seats).then(() => {
return context.dispatch('reloadGroup', group);
}).then(() => {
context.commit('updateGroupsAndSeatsSucceeded');
@ -177,12 +178,12 @@ export default {
removeGroup(context, group) {
context.commit('removeItemRequesting', group);
context.commit('lastRemovedGroup', group.name);
removeGroup(group.id).then(()=>{
removeGroup(group.id).then(() => {
return context.dispatch('listGroups', true);
}).then(()=>{
}).then(() => {
context.commit('removeGroup', group);
context.commit('removeItemSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('removeItemFailed', err.message);
});
},
@ -193,14 +194,14 @@ export default {
silent: silent,
page: page
});
getSeatList(page).then((data)=>{
getSeatList(page).then((data) => {
context.commit('listSucceeded', data);
return data;
}).then((seats) => {
seats.seats.items.forEach((seat)=>{
seats.seats.items.forEach((seat) => {
context.dispatch('loadCallQueueForSeat', seat.id);
});
}).catch((err)=>{
}).catch((err) => {
context.commit('listFailed', err.message);
});
},
@ -209,16 +210,16 @@ export default {
seat.domainId = context.state.pilot.domain_id;
context.commit('addItemRequesting', seat);
context.commit('lastAddedSeat', seat.name);
addSeat(seat).then(()=>{
addSeat(seat).then(() => {
return context.dispatch('listSeats', true);
}).then(()=>{
}).then(() => {
context.commit('addItemSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('addItemFailed', err.message);
});
},
reloadSeat(context, seat) {
return new Promise((resolve, reject)=>{
return new Promise((resolve, reject) => {
context.commit('seatReloading', seat);
getSeat(seat.id).then(($seat) => {
context.commit('seatReloaded', $seat);
@ -230,9 +231,9 @@ export default {
seat: seat,
error: err.message
});
}).then(()=>{
}).then(() => {
resolve();
}).catch((err)=>{
}).catch((err) => {
reject(err);
});
});
@ -242,7 +243,7 @@ export default {
context.commit('lastUpdatedField', {name: seat.name, type: 'seat name'});
setSeatName(seat.id, seat.name).then(() => {
return context.dispatch('reloadSeat', seat);
}).then(()=>{
}).then(() => {
context.commit('updateItemSucceeded');
}).catch((err) => {
context.commit('updateItemFailed', err.message);
@ -251,7 +252,7 @@ export default {
setSeatExtension(context, seat) {
context.commit('updateItemRequesting', seat);
context.commit('lastUpdatedField', {name: seat.extension, type: 'seat extension'});
setSeatExtension(seat.id, seat.extension).then(()=>{
setSeatExtension(seat.id, seat.extension).then(() => {
return context.dispatch('reloadSeat', seat);
}).then(() => {
context.commit('updateItemSucceeded');
@ -261,7 +262,7 @@ export default {
},
updateGroups(context, seat) {
context.commit('updateGroupsAndSeatsRequesting', seat);
updateSeatGroups(seat.id, seat.groups).then(()=>{
updateSeatGroups(seat.id, seat.groups).then(() => {
return context.dispatch('reloadSeat', seat);
}).then(() => {
context.commit('updateGroupsAndSeatsSucceeded');
@ -272,16 +273,16 @@ export default {
removeSeat(context, seat) {
context.commit('removeItemRequesting', seat);
context.commit('lastRemovedSeat', seat.name);
removeSeat(seat.id).then(()=>{
removeSeat(seat.id).then(() => {
return context.dispatch('listSeats', true);
}).then(()=>{
}).then(() => {
context.commit('removeItemSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('removeItemFailed', err.message);
});
},
listDevices(context, options) {
return new Promise((resolve, reject)=>{
return new Promise((resolve, reject) => {
let silent = _.get(options, 'silent', false);
context.commit('deviceListRequesting', silent);
getDeviceList({
@ -289,13 +290,13 @@ export default {
profile_id: _.get(context, 'getters.listProfileFilter', null),
identifier: _.get(context, 'getters.listMacAddressFilter', null),
station_name: _.get(context, 'getters.listStationNameFilter', null)
}).then((devices)=>{
}).then((devices) => {
context.commit('deviceListSucceeded', devices);
devices.items.forEach((device)=>{
devices.items.forEach((device) => {
context.dispatch('loadDevice', device.id);
});
resolve();
}).catch((err)=>{
}).catch((err) => {
context.commit('deviceListFailed', err.message);
reject(err);
});
@ -306,78 +307,78 @@ export default {
getDevice(deviceId, {
join: true,
joinLines: false,
}).then((device)=>{
}).then((device) => {
context.commit('deviceSucceeded', device);
}).catch((err)=>{
}).catch((err) => {
context.commit('deviceFailed', deviceId, err.message);
});
},
loadProfiles(context) {
if(!context.getters.hasProfiles) {
getProfiles({ all: true }).then((profiles)=>{
getProfiles({ all: true }).then((profiles) => {
context.commit('profilesSucceeded', profiles);
profiles.items.forEach((profile)=>{
profiles.items.forEach((profile) => {
context.dispatch('loadModelImage', profile.device_id);
});
}).catch((err)=>{
}).catch((err) => {
context.commit('profilesFailed', err.message);
});
}
},
loadModelImage(context, modelId) {
context.commit('modelImageRequesting', modelId);
getModelFrontImage(modelId).then((modelImage)=>{
getModelFrontImage(modelId).then((modelImage) => {
context.commit('modelImageSucceeded', modelImage);
}).catch((err)=>{
}).catch((err) => {
context.commit('modelImageFailed', modelId, err.message);
});
},
createDevice(context, device) {
context.commit('createDeviceRequesting', device);
createDevice(device).then(()=>{
createDevice(device).then(() => {
context.commit('createDeviceSucceeded');
context.dispatch('listDevices', {
page: context.getters.listCurrentPage,
silent: true
});
}).catch((err)=>{
}).catch((err) => {
context.commit('createDeviceFailed', err.message);
});
},
removeDevice(context, device) {
context.commit('deviceRequesting', device.id);
removeDevice(device.id).then(()=>{
removeDevice(device.id).then(() => {
context.commit('deviceRemoved', device);
context.dispatch('listDevices', {
page: context.getters.listCurrentPage,
silent: true
});
}).catch((err)=>{
}).catch((err) => {
context.commit('deviceFailed', device.id, err.message);
});
},
getAllGroupsAndSeats(context) {
context.commit('groupsAndSeatsRequesting');
getAllGroupsAndSeats().then((list)=>{
getAllGroupsAndSeats().then((list) => {
context.commit('groupsAndSeatsSucceeded', list);
}).catch((err)=>{
}).catch((err) => {
context.commit('groupsAndSeatsError', err.message);
});
},
updateDeviceKeys(context, data) {
context.commit('updateDeviceKeyRequesting', data.device.id);
updateDeviceKeys(data.device.id, data.keys).then(()=>{
updateDeviceKeys(data.device.id, data.keys).then(() => {
context.commit('updateDeviceKeySucceeded', data);
context.dispatch('loadDevice', data.device.id);
}).catch((err)=>{
}).catch((err) => {
context.commit('updateDeviceKeyFailed', data.device.id, err);
});
},
listProfiles(context) {
context.commit('listProfilesRequesting');
getProfiles({ all: true }).then((profiles)=>{
getProfiles({ all: true }).then((profiles) => {
context.commit('listProfilesSucceeded', profiles);
}).catch((err)=>{
}).catch((err) => {
context.commit('listProfilesFailed', err.message);
});
},
@ -475,14 +476,14 @@ export default {
context.commit('configReloading', config);
getConfig(config.id).then(($config) => {
context.commit('configReloaded', $config);
}).catch((err)=>{
}).catch((err) => {
context.commit('configReloadingFailed', {
config: config,
error: err.message
});
}).then(()=>{
}).then(() => {
resolve();
}).catch((err)=>{
}).catch((err) => {
reject(err);
});
});
@ -496,7 +497,7 @@ export default {
context.commit('updateItemRequesting', updateItem);
setQueueLengthConfig(updateItem.id, updateItem.max_queue_length).then(() => {
return context.dispatch('reloadConfig', updateItem);
}).then(()=>{
}).then(() => {
context.commit('updateItemSucceeded');
}).catch((err) => {
context.commit('updateItemFailed', err.message);
@ -511,7 +512,7 @@ export default {
context.commit('updateItemRequesting', updateItem);
setWrapUpTimeConfig(updateItem.id, updateItem.queue_wrap_up_time).then(() => {
return context.dispatch('reloadConfig', updateItem);
}).then(()=>{
}).then(() => {
context.commit('updateItemSucceeded');
}).catch((err) => {
context.commit('updateItemFailed', err.message);
@ -545,11 +546,11 @@ export default {
},
removeCallQueue(context, config) {
context.commit('removeItemRequesting', config);
removeCallQueue(config.id).then(()=>{
removeCallQueue(config.id).then(() => {
return context.dispatch('listCallQueueGroupsAndSeats', true);
}).then(()=>{
}).then(() => {
context.commit('removeItemSucceeded');
}).catch((err)=>{
}).catch((err) => {
context.commit('removeItemFailed', err.message);
});
},
@ -582,5 +583,15 @@ export default {
}).catch((err) => {
context.commit('filesForSoundSetFailed', id, err);
})
},
removeSoundSet(context, soundSet) {
context.commit('removeItemRequesting', soundSet);
removeSoundSet(soundSet.id).then(() => {
return context.dispatch('listSoundSets');
}).then(() => {
context.commit('removeItemSucceeded');
}).catch((err) => {
context.commit('removeItemFailed', err.message);
});
}
}

Loading…
Cancel
Save