MT#58605 CSC Administrative subscriber cannot create Seats or Group if ext_range_min specified in Customer prefs

Change-Id: I29bd4411256331a986a3d63e673983ca503951fa
mr12.1
Hugo Zigha 2 years ago
parent 0bb677fa0f
commit 1bb32f5f86

@ -154,8 +154,7 @@ import {
minValue, minValue,
maxValue, maxValue,
maxLength, maxLength,
numeric, numeric
between
} from '@vuelidate/validators' } from '@vuelidate/validators'
import { inRange } from 'src/helpers/validation' import { inRange } from 'src/helpers/validation'
import CscObjectSpinner from '../../CscObjectSpinner' import CscObjectSpinner from '../../CscObjectSpinner'
@ -203,7 +202,7 @@ export default {
maxLength: maxLength(64), maxLength: maxLength(64),
numeric, numeric,
isInRange: function (value) { isInRange: function (value) {
return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension, between) return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension)
} }
}, },
huntTimeout: { huntTimeout: {

@ -32,7 +32,6 @@
clearable clearable
dense dense
hide-bottom-space hide-bottom-space
hide-hint
:error="v$.data.extension.$errors.length > 0" :error="v$.data.extension.$errors.length > 0"
:error-message="extensionErrorMessage" :error-message="extensionErrorMessage"
:disable="loading" :disable="loading"
@ -201,8 +200,7 @@ import {
import { import {
required, required,
maxLength, maxLength,
numeric, numeric
between
} from '@vuelidate/validators' } from '@vuelidate/validators'
import { inRange } from 'src/helpers/validation' import { inRange } from 'src/helpers/validation'
import CscInput from 'components/form/CscInput' import CscInput from 'components/form/CscInput'
@ -256,7 +254,7 @@ export default {
numeric, numeric,
maxLength: maxLength(64), maxLength: maxLength(64),
isInRange: function (value) { isInRange: function (value) {
return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension, between) return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension)
} }
}, },
password: { password: {

@ -22,14 +22,14 @@ export function isPhone (value) {
return /^\+[0-9]?()[0-9](\s|\S)(\d[0-9]{9})$/.test(value) return /^\+[0-9]?()[0-9](\s|\S)(\d[0-9]{9})$/.test(value)
} }
export function inRange (value, min, max, between) { export function inRange (value, min, max) {
value = Number(value) value = Number(value)
if (min && max == null) { if (min >= 0 && max == null) {
return min <= value return min <= value
} else if (min == null && max) { } else if (min < 0 && max) {
return max >= value return max >= value
} else if (min && max) { } else if (min >= 0 && max) {
return between(min, max)(value) return min <= value && max >= value
} else { } else {
return true return true
} }

@ -242,7 +242,6 @@
<script> <script>
import _ from 'lodash' import _ from 'lodash'
import { between } from '@vuelidate/validators'
import { inRange } from 'src/helpers/validation' import { inRange } from 'src/helpers/validation'
import { import {
mapState, mapState,
@ -391,7 +390,7 @@ export default {
changes: { changes: {
extension: { extension: {
isInRange: function (value) { isInRange: function (value) {
return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension, between) return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension)
} }
} }
} }

@ -326,8 +326,7 @@ import numberFilter from '../filters/number'
import useValidate from '@vuelidate/core' import useValidate from '@vuelidate/core'
import { import {
required, required,
maxLength, maxLength
between
} from '@vuelidate/validators' } from '@vuelidate/validators'
export default { export default {
name: 'CscPagePbxSeatDetails', name: 'CscPagePbxSeatDetails',
@ -533,7 +532,7 @@ export default {
changes: { changes: {
extension: { extension: {
isInRange: function (value) { isInRange: function (value) {
return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension, between) return inRange(value, this.getMinAllowedExtension, this.getMaxAllowedExtension)
} }
}, },
displayName: { displayName: {

@ -160,24 +160,24 @@ export default {
}, },
getMinAllowedExtension (state, getters, rootState, rootGetters) { getMinAllowedExtension (state, getters, rootState, rootGetters) {
const subscriber = rootGetters['user/getSubscriber'] const subscriber = rootGetters['user/getSubscriber']
return subscriber.ext_range_min return subscriber.ext_range_min && subscriber.ext_range_min >= 0 ? +subscriber.ext_range_min : -1
}, },
getMaxAllowedExtension (state, getters, rootState, rootGetters) { getMaxAllowedExtension (state, getters, rootState, rootGetters) {
const subscriber = rootGetters['user/getSubscriber'] const subscriber = rootGetters['user/getSubscriber']
return subscriber.ext_range_max return subscriber.ext_range_max && subscriber.ext_range_max >= 1 ? +subscriber.ext_range_max : null
}, },
getExtensionHint (state, getters, rootState, rootGetters) { getExtensionHint (state, getters, rootState, rootGetters) {
const min = getters.getMinAllowedExtension const min = getters.getMinAllowedExtension
const max = getters.getMaxAllowedExtension const max = getters.getMaxAllowedExtension
if (min && max == null) { if (min >= 0 && max == null) {
return i18n.global.tc('Minimum allowed extension is {min}', { return i18n.global.tc('Minimum allowed extension is {min}', {
min: min min: min
}) })
} else if (min == null && max) { } else if (min < 0 && max) {
return i18n.global.tc('Maximum allowed extension is {max}', { return i18n.global.tc('Maximum allowed extension is {max}', {
max: max max: max
}) })
} else if (min && max) { } else if (min >= 0 && max) {
return i18n.global.tc('Allowed extensions are between {min} and {max}', { return i18n.global.tc('Allowed extensions are between {min} and {max}', {
min: min, min: min,
max: max max: max

Loading…
Cancel
Save