MT#62722 Add "Add to Phonebook" action to call list entries

Clicking the 3-dot menu on a call list entry now
shows an "Add to Phonebook" option.

When selected, the user is redirected to
/user/subscriber-phonebook/create with the NUMBER field
pre-filled from the selected call.

Change-Id: I80ee9ba5e0080f6859db21623d19d9f9b89f3052
master
nidrissi-zouggari 4 months ago committed by Nouhaila Idrissi-Zouggari
parent 0cf6991c0f
commit 9fdd2c1131

@ -73,6 +73,12 @@
:label="blockBothLabel"
@click="toggleBlockBoth"
/>
<csc-popup-menu-item
icon="fas fa-address-book"
color="primary"
:label="$t('Add to phonebook')"
@click="addToPhonebook"
/>
</csc-more-menu>
</q-item-section>
</q-item>
@ -121,7 +127,7 @@ export default {
default: false
}
},
emits: ['toggle-block-both', 'toggle-block-outgoing', 'toggle-block-incoming', 'start-call'],
emits: ['toggle-block-both', 'toggle-block-outgoing', 'toggle-block-incoming', 'start-call', 'add-to-phonebook'],
data () {
return {}
},
@ -182,6 +188,9 @@ export default {
},
toggleBlockBoth () {
this.$emit('toggle-block-both')
},
addToPhonebook () {
this.$emit('add-to-phonebook', this.numberDialBack)
}
}
}

@ -11,6 +11,7 @@
@toggle-block-incoming="toggleBlockIncoming"
@toggle-block-outgoing="toggleBlockOutgoing"
@toggle-block-both="toggleBlockBoth"
@add-to-phonebook="toggleAddToPhonebook"
/>
<csc-fax-item
v-else-if="item.type === 'fax'"
@ -74,6 +75,7 @@ export default {
'toggle-block-outgoing',
'toggle-block-incoming',
'start-call',
'add-to-phonebook',
'download-voice-mail',
'play-voice-mail',
'delete-fax'
@ -151,6 +153,9 @@ export default {
number: this.number,
type: this.toggleActionIncoming
})
},
toggleAddToPhonebook (number) {
this.$emit('add-to-phonebook', number)
}
}
}

@ -22,6 +22,7 @@
"Add number": "Nummer hinzufügen",
"Add slot": "Eintrag hinzufügen",
"Add time range": "Zeitraum hinzufügen",
"Add to phonebook": "Zum Telefonbuch hinzufügen",
"Added group {group}": "Gruppe {group} hinzugefügt",
"Added seat {seat}": "Nebenstelle {seat} hinzugefügt",
"Admin name": "Admin name",

@ -22,6 +22,7 @@
"Add number": "Add number",
"Add slot": "Add slot",
"Add time range": "Add time range",
"Add to phonebook": "Add to phonebook",
"Added group {group}": "Added group {group}",
"Added seat {seat}": "Added seat {seat}",
"Admin name": "Admin name",

@ -22,6 +22,7 @@
"Add number": "Agregar número",
"Add slot": "Añadir ranura",
"Add time range": "Añadir rango de tiempo",
"Add to phonebook": "Añadir a la agenda",
"Added group {group}": "Grupo agregado {group}",
"Added seat {seat}": "Asiento agregado {seat}",
"Admin name": "Admin name",

@ -22,6 +22,7 @@
"Add number": "Ajouter un numéro",
"Add slot": "Ajout emplacement",
"Add time range": "Ajouter une plage de temps",
"Add to phonebook": "Ajouter au répertoire",
"Added group {group}": "Groupe {group} ajouté",
"Added seat {seat}": "Siège {seat} ajouté",
"Admin name": "Nom de l'administrateur",

@ -22,6 +22,7 @@
"Add number": "Aggiungi numero",
"Add slot": "Aggiungi slot",
"Add time range": "Aggiungi intervallo di tempo",
"Add to phonebook": "Aggiungi alla rubrica",
"Added group {group}": "Gruppo aggiunto {group}",
"Added seat {seat}": "Postazione aggiunta {seat}",
"Admin name": "Nome dell'amministratore",

@ -70,6 +70,7 @@
@toggle-block-incoming="toggleBlockIncomingAction"
@toggle-block-outgoing="toggleBlockOutgoingAction"
@toggle-block-both="toggleBlockBothAction"
@add-to-phonebook="addToPhonebookAction"
@delete-voicemail="$refs.confirmDeletionDialog.show();deletionId=$event.id"
@delete-fax="$refs.confirmDeletionFaxDialog.show();deletionId=$event.id"
/>
@ -420,6 +421,10 @@ export default {
this.$scrollTo(this.$parent.$el)
this.filterDirection = filter
this.forceReload()
},
addToPhonebookAction (number) {
this.$store.commit('user/setPhonebookNumber', number)
this.$router.push('subscriber-phonebook/create')
}
}
}

@ -75,6 +75,7 @@ import useValidate from '@vuelidate/core'
import CscPageSticky from 'components/CscPageSticky'
import { mapWaitingActions } from 'vue-wait'
import { required } from 'vuelidate/lib/validators'
import { mapGetters } from 'vuex'
export default {
name: 'CscPageSubscriberPhonebookAdd',
components: {
@ -99,6 +100,9 @@ export default {
}
},
computed: {
...mapGetters('user', [
'prefilledNumber'
]),
nameErrorMessage () {
const errorsTab = this.v$.formData.name.$errors
if (errorsTab && errorsTab.length > 0 && errorsTab[0].$validator === 'required') {
@ -109,6 +113,12 @@ export default {
return ''
}
},
mounted () {
if (this.prefilledNumber) {
this.formData.number = this.prefilledNumber
this.$store.commit('user/setPhonebookNumber', '')
}
},
methods: {
...mapWaitingActions('user', {
createPhonebookSubscriber: 'createPhonebookSubscriber'

@ -81,7 +81,8 @@ export default {
phonebookMap: {},
platformInfo: null,
qrCode: null,
qrExpiringTime: null
qrExpiringTime: null,
numberInput: ''
},
getters: {
isLogged (state) {
@ -229,6 +230,9 @@ export default {
},
isSpCe (state) {
return state.platformInfo.type === 'spce'
},
prefilledNumber (state) {
return state.numberInput
}
},
mutations: {
@ -354,6 +358,9 @@ export default {
state.loginWaitingOTPCode = true
state.OTPSecret = payload
state.loginRequesting = false
},
setPhonebookNumber (state, numberInput) {
state.numberInput = numberInput
}
},
actions: {

Loading…
Cancel
Save