From 973b448fd152233eb94a2c096b82c2e586531a75 Mon Sep 17 00:00:00 2001 From: Debora Crescenzo Date: Wed, 20 Aug 2025 14:38:11 +0100 Subject: [PATCH] MT#63432 Add support for "label" definition in the Device provisioning Allow setting a free-text label when configuring lines (Forward, Transfer, SpeedDial) with a custom entry. The label is only applied if a target number is set. Change-Id: Ida316ac79d454145ae1238ca5d297bff28c92af7 --- .../PbxConfiguration/CscPbxDeviceConfig.vue | 4 ++- .../CscPbxDeviceConfigKeyForm.vue | 33 ++++++++++++++++--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/components/pages/PbxConfiguration/CscPbxDeviceConfig.vue b/src/components/pages/PbxConfiguration/CscPbxDeviceConfig.vue index 34aa5b3b..16555983 100644 --- a/src/components/pages/PbxConfiguration/CscPbxDeviceConfig.vue +++ b/src/components/pages/PbxConfiguration/CscPbxDeviceConfig.vue @@ -261,6 +261,7 @@ export default { } else if (line !== null) { _.set(lines, `${line.index}.subscriber_id`, newLine.subscriber_id) _.set(lines, `${line.index}.target_number`, newLine.target_number) + _.set(lines, `${line.index}.label`, newLine.label) _.set(lines, `${line.index}.type`, newLine.type) } else { newLines.push(newLine) @@ -272,7 +273,8 @@ export default { subscriber_id: line.subscriber_id, linerange: line.linerange, type: line.type, - target_number: line.target_number + target_number: line.target_number, + label: line.label }) }) this.$emit('keysChanged', newLines) diff --git a/src/components/pages/PbxConfiguration/CscPbxDeviceConfigKeyForm.vue b/src/components/pages/PbxConfiguration/CscPbxDeviceConfigKeyForm.vue index 42e07678..b3e6fc9a 100644 --- a/src/components/pages/PbxConfiguration/CscPbxDeviceConfigKeyForm.vue +++ b/src/components/pages/PbxConfiguration/CscPbxDeviceConfigKeyForm.vue @@ -66,6 +66,17 @@ :label="$t('Number')" @update:model-value="v$.changes.target_number.$touch()" /> + @@ -86,7 +97,7 @@ {{ $t('Close') }} { @@ -302,19 +317,22 @@ export default { this.changes = this.getKeyData() this.keyData = this.getKeyData() this.hasTargetNumber = !!this.selectedLine?.target_number + this.hasLabel = !!this.selectedLine?.label } }, methods: { getKeyData () { if (this.selectedLine) { this.hasTargetNumber = !!this.selectedLine.target_number + this.hasLabel = !!this.selectedLine.label return { extension_unit: this.selectedLine.extension_unit, key_num: this.selectedLine.key_num, subscriber_id: this.selectedLine.subscriber_id, linerange: this.selectedLine.linerange, type: this.selectedLine.type, - target_number: this.selectedLine.target_number + target_number: this.selectedLine.target_number, + label: this.selectedLine.label } } return { @@ -323,7 +341,8 @@ export default { subscriber_id: null, linerange: this.selectedKey.keySet.name, type: null, - target_number: null + target_number: null, + label: null } }, closeKeyOverlay () { @@ -337,11 +356,15 @@ export default { if (this.changes.type === null) { this.changes.subscriber_id = null this.changes.target_number = null + this.changes.label = null this.hasTargetNumber = false + this.hasLabel = false } if (!this.showCustomNumberToggle) { this.changes.target_number = null + this.changes.label = null this.hasTargetNumber = false + this.hasLabel = false } }, keySubscriberChanged ({ value: subscriberId }) { @@ -350,6 +373,7 @@ export default { targetNumberToggleChanged () { if (!this.hasTargetNumber) { this.changes.target_number = null + this.changes.label = null } else { const pbxPilot = this.subscriberList.find((subscriber) => subscriber.is_pbx_pilot) this.changes.subscriber_id = pbxPilot ? pbxPilot.id : this.subscriberList[0].id @@ -358,6 +382,7 @@ export default { resetData () { this.changes = _.clone(this.keyData) this.hasTargetNumber = !!this.selectedLine?.target_number + this.hasLabel = !!this.selectedLine?.label }, onSave () { this.$emit('onSave', this.changes)