From 90f60cad0ec8d9ac4d1e7eded4c153e9a1b54243 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Wed, 7 Apr 2021 22:45:37 +0900 Subject: [PATCH] misc: Add MSISDN duplicate check in WebUI --- tests/app/epc-init.c | 2 +- webui/src/containers/Profile/Document.js | 16 ++++++++++++++++ webui/src/containers/Subscriber/Document.js | 16 ++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/tests/app/epc-init.c b/tests/app/epc-init.c index 27a417435..c84f0ffe2 100644 --- a/tests/app/epc-init.c +++ b/tests/app/epc-init.c @@ -70,7 +70,7 @@ int app_initialize(const char *const argv[]) * * Note that at least 4 seconds are needed if freeDiameter is running. */ - ogs_msleep(500); + ogs_msleep(5000); return OGS_OK;; } diff --git a/webui/src/containers/Profile/Document.js b/webui/src/containers/Profile/Document.js index edc15be7c..789ee6e7b 100644 --- a/webui/src/containers/Profile/Document.js +++ b/webui/src/containers/Profile/Document.js @@ -169,6 +169,22 @@ class Document extends Component { validate = (formData, errors) => { const { profiles, action, status } = this.props; +// In Editing-mode, this is not working! +// More study is needed. +// +// if (formData.msisdn) { +// formData.msisdn.map(msisdn => { +// if (subscribers.data.filter(subscriber => subscriber.msisdn.includes(msisdn)).length > 0) { +// errors.msisdn.addError(`'${msisdn}' is duplicated`); +// } +// }); + + if (formData.msisdn) { + const { msisdn } = formData; + if (msisdn && msisdn.length > 1 && msisdn[0] === msisdn[1]) + errors.msisdn.addError(`'${msisdn[1]}' is duplicated`); + } + if (formData.slice) { let s_nssais = formData.slice.map(slice => { return JSON.stringify({ sst: slice.sst, sd: slice.sd }) diff --git a/webui/src/containers/Subscriber/Document.js b/webui/src/containers/Subscriber/Document.js index dc37d2e1c..341fde8d0 100644 --- a/webui/src/containers/Subscriber/Document.js +++ b/webui/src/containers/Subscriber/Document.js @@ -182,6 +182,22 @@ class Document extends Component { errors.imsi.addError(`'${imsi}' is duplicated`); } +// In Editing-mode, this is not working! +// More study is needed. +// +// if (formData.msisdn) { +// formData.msisdn.map(msisdn => { +// if (subscribers.data.filter(subscriber => subscriber.msisdn.includes(msisdn)).length > 0) { +// errors.msisdn.addError(`'${msisdn}' is duplicated`); +// } +// }); + + if (formData.msisdn) { + const { msisdn } = formData; + if (msisdn && msisdn.length > 1 && msisdn[0] === msisdn[1]) + errors.msisdn.addError(`'${msisdn[1]}' is duplicated`); + } + if (formData.slice) { let s_nssais = formData.slice.map(slice => { return JSON.stringify({ sst: slice.sst, sd: slice.sd })