MT#60674 Fix page permission for CE users

After having added license check is some of the CSC pages
we noticed that CSC call page cannot be accessed anymore
by CE users.
This commit fix this issue and also address a typo in the
required license to access the fax pages.

Change-Id: Ifc6cfa9b41cd53417da43f44a736076b82fcc9cb
(cherry picked from commit bc1b4f3fbe)
(cherry picked from commit 8e1b8bb655)
mr12.5.1
Marco Capetta 9 months ago committed by Crescenzo Debora
parent 685f05cc6b
commit eba868bae8

@ -36,8 +36,12 @@ export default ({ app, router, store }) => {
if (to.meta?.profileAttribute) {
const hasSubscriberProfileAttribute = store.getters['user/hasSubscriberProfileAttribute'](to.meta.profileAttribute)
if (to.meta.license && hasSubscriberProfileAttribute) {
// Guard to assure that users cannot click on menu if
// it is mistakenly visible when the license is inactive
// Guard to assure that:
// CE users have access to all available menus as they do not have licenses
if (store.platformInfo.type === 'spce') {
next()
}
// users cannot click on menu if it is mistakenly visible when the license is inactive
store.getters['user/isLicenseActive'](to.meta.license) ? next() : next('/')
}

@ -51,7 +51,8 @@ export default {
'hasSubscriberProfileAttributes',
'isLicenseActive',
'isOldCSCProxyingAllowed',
'isPbxEnabled'
'isPbxEnabled',
'isSpCe'
]),
items () {
return [
@ -66,7 +67,7 @@ export default {
icon: 'call',
label: this.callStateTitle,
sublabel: this.callStateSubtitle,
visible: this.hasSubscriberProfileAttribute(PROFILE_ATTRIBUTE_MAP.cscCalls) && this.isLicenseActive(LICENSES.csc_calls)
visible: this.hasSubscriberProfileAttribute(PROFILE_ATTRIBUTE_MAP.cscCalls && (this.isSpCe || this.isLicenseActive(LICENSES.csc_calls)))
},
{
to: '/user/conversations',
@ -138,7 +139,7 @@ export default {
to: '/user/recordings',
icon: 'play_circle',
label: this.$t('Recordings'),
visible: this.hasSubscriberProfileAttribute(PROFILE_ATTRIBUTE_MAP.recordings) && this.isLicenseActive(LICENSES.call_recording)
visible: this.hasSubscriberProfileAttribute(PROFILE_ATTRIBUTE_MAP.recordings) && (this.isSpCe || this.isLicenseActive(LICENSES.call_recording))
}
]
},

@ -434,7 +434,7 @@ const routes = [
return i18n.global.tc('Set your fax settings')
},
profileAttribute: PROFILE_ATTRIBUTE_MAP.faxServer,
license: LICENSES.phonebook
license: LICENSES.fax
}
},
{

@ -210,6 +210,9 @@ export default {
},
isPbxAttendant (state, getters) {
return getters.isPbxPilot || getters.isPbxGroup || getters.isPbxSeat
},
isSpCe (state) {
return state.platformInfo.type === 'spce'
}
},
mutations: {

Loading…
Cancel
Save