TT#84210 As a Customer, I want to see my assigned numbers

Change-Id: I26dd2f81a2a1ebd8574e1219640d61753bc68b9f
changes/79/41379/1
Hans-Peter Herzog 5 years ago
parent ca09f7f9df
commit 4c2d52b250

@ -1,42 +1,91 @@
<template> <template>
<q-list <div>
class="no-padding" <q-list
no-border no-border
link dense
> >
<q-item @click="logout"> <q-item
<q-item-side class="items-start"
icon="exit_to_app" dense
color="primary"
/>
<q-item-main
:label="$t('userMenu.logout')"
:sublabel="username"
> >
</q-item-main> <q-item-side
</q-item> style="min-width: auto"
<q-item icon="contact_phone"
@click="settings"> color="white"
<q-item-side />
icon="settings_applications" <q-item-main
color="primary" :label="$t('numbers')"
/> >
<q-item-main <q-item-tile
:label="$t('userMenu.settings')" sublabel
>
<div>
{{ primaryNumberFormatted }}
</div>
<template
v-if="aliasNumbersFormatted.length > 0"
>
<div
v-for="(aliasNumber, index) in aliasNumbersFormatted"
:key="index"
>
{{ aliasNumber }}
</div>
</template>
</q-item-tile>
</q-item-main>
</q-item>
</q-list>
<q-list
class="no-margin"
no-border
link
>
<q-item @click="logout">
<q-item-side
icon="exit_to_app"
color="primary"
style="min-width: auto"
/>
<q-item-main
:label="$t('userMenu.logout')"
:sublabel="username"
>
</q-item-main>
</q-item>
<q-item
@click="settings"
> >
</q-item-main> <q-item-side
</q-item> style="min-width: auto"
</q-list> icon="settings_applications"
color="primary"
/>
<q-item-main
:label="$t('userMenu.settings')"
>
</q-item-main>
</q-item>
</q-list>
</div>
</template> </template>
<script> <script>
import numberFilter from '../../filters/number'
import {
mapState
} from 'vuex'
import { import {
QList, QList,
QItem, QItem,
QItemMain, QItemMain,
QCollapsible, QCollapsible,
QItemSide, QItemSide,
QSideLink QSideLink,
QListHeader,
QItemSeparator,
QItemTile,
QIcon
} from 'quasar-framework' } from 'quasar-framework'
export default { export default {
name: 'csc-user-menu', name: 'csc-user-menu',
@ -52,7 +101,33 @@
QItemMain, QItemMain,
QCollapsible, QCollapsible,
QItemSide, QItemSide,
QSideLink QSideLink,
QListHeader,
QItemSeparator,
QItemTile,
QIcon
},
computed: {
primaryNumberFormatted() {
if(this.subscriber) {
return numberFilter(this.subscriber.primary_number)
}
else {
return ''
}
},
aliasNumbersFormatted() {
const numbers = []
if(this.subscriber) {
this.subscriber.alias_numbers.forEach((number)=>{
numbers.push(numberFilter(number))
})
}
return numbers
},
...mapState('user', [
'subscriber'
])
}, },
methods: { methods: {
logout() { logout() {

@ -1,10 +1,13 @@
export default function(number, extension) { export default function(number, extension) {
let constructedNumber = ""; let constructedNumber = "";
if(number !== null && number.is_devid && number.is_devid === true) { if(number === null || number === undefined) {
return ''
}
if(number.is_devid && number.is_devid === true) {
constructedNumber = "" + number.devid_alias; constructedNumber = "" + number.devid_alias;
} }
else if (number !== null) { else {
constructedNumber = "" + number.cc + number.ac + number.sn; constructedNumber = "" + number.cc + number.ac + number.sn;
} }
if (extension) { if (extension) {

@ -11,6 +11,7 @@
"notFound" : "404 Not Found", "notFound" : "404 Not Found",
"language": "Language ({language})", "language": "Language ({language})",
"languageLabel": "English", "languageLabel": "English",
"numbers": "Numbers",
"buttons": { "buttons": {
"cancel": "Cancel", "cancel": "Cancel",
"save": "Save", "save": "Save",

@ -149,6 +149,18 @@ export default {
}, },
isPasswordChanging(state) { isPasswordChanging(state) {
return state.changePasswordState === RequestState.requesting; return state.changePasswordState === RequestState.requesting;
},
primaryNumber(state) {
if (state.subscriber === null) {
return null
}
return state.subscriber.primaryNumber;
},
aliasNumbers(state) {
if (state.subscriber === null) {
return []
}
return state.subscriber.aliasNumbers;
} }
}, },
mutations: { mutations: {

Loading…
Cancel
Save