* Split call queue resource identity from subscriber ownership
* Use callQueue.id for row state, updates, and removal
* Use subscriber_id, with id fallback, for owner display lookup
* Send complete form payload with subscriberId and queue values
* Use setPreference when creating queue preferences
* Remove lodash usage from newly changed store/API lines
* Fix call queue removal loading state check
* Resolve dead call queue link in seat's pbx configuration menu
* Improve remove call queue flow
Change-Id: Iabf7382799866534de12eea6bc3db8ed13cfcb52
(cherry picked from commit d5e1f72d6e)
(cherry picked from commit ee0a649729)
Remove the use of apiv2 for the customer phonebook
requests as the endpoint is not available on mr13.5.x.
NGCP-Flow: mr13.5
Change-Id: I7f9baffd78f01ffb244209f714126726676252b7
(cherry picked from commit f01a95032f)
- Convert all actions from .then()/.catch() chains to async/await
- Extract savePreference() helper to centralise error handling and
state commits, avoiding repetition across every action
- Extract updateBooleanPreference() helper. It covers the following
scenarios:
* new value is false: remove PATCH property in DB
* new value is true: add PATCH property in DB
* new value is true AND the value already exist in the
customer preferences: replace PATCH to amend property in DB
(added to avoid regression introduced by previous code, which
saved a property as false instead of removing it)s
- Add proper add/set/remove logic to updateBlockInList,
updateBlockOutList and updateBlockOutOverridePin: previously all
three always called setCustomerPreference regardless of whether the
preference existed or was empty
- Split logic to add, remove and edit customer preferences
Change-Id: Ie419de31631b9ef1b06653446dfbe1a33a10c225
(cherry picked from commit 58e7a88272)
(cherry picked from commit 625596e549)
Our nightly tests flagged the fact that
the feature was unstable and unrealiable.
Changes:
* Extract subscriber phonebook api and state
* Change direct use of http in the sub-phonebook
method to use the relevant method in common.js
* Simplify logic to PATCH single properties
with a unique PUT in the Phonebook entry form
* Amend getList, handleResponseError and
put to allow use with API v2 endpoints
* Amend translations and methods to replace
"phonebook" with "phonebook entry" where
necessary
Change-Id: I189d45fe426a1ded400a251d7efdfa72f76f9061
(cherry picked from commit ff40864da0)
(cherry picked from commit 5199755314)
The PBX seat page was crashing because v2 calls always return
unauthorized. An investigation is ongoing to determine whether
NCOS seat should be accessed by subscriber. In the meantime,
errors are handled gracefully so the user can continue using
the app.
Change-Id: Ie4ce6c7970815b448f406bb5e64aeefda348aeed
(cherry picked from commit f34d8e153d)
Revert changes from commit 716d45f6 that altered setPreference.
The previous commit limited the function to handling only true/false
preferences, removing the ability to replace existing values.
This change restores the original behavior, allowing setPreference
to update existing preferences with new values, not just booleans.
Change-Id: I9658515d9714c30607a652fcc0ee3af86a0c8fcd
A new button to activate the new 'dnd' subscriber preference
has been added to the CSC under the 'Call Settings>General' page.
Change-Id: I00a4c845b098c46fcdfdfbb246f97cebf7a82ae1
Show entries from customer, reseller, and other
subscribers (same customer) in subscriber phonebook
by using `include=all` and filtering by
`subscriber_id=id` in API call.
Disable editing for entries not owned by the subscriber.
Change-Id: Ic95fbb926b7e31d31ad7a0a5a5646c7867c5bd3a
A new "Seats" button has been added to the subscriber phonebook section,
allowing users to view all available seats and initiate callbacks
directly from the list.
Change-Id: Icb5b21b7394e9008617b27770142fd0ed83f68a8
Migrating from ^8.10.0 to 9.14.0 had breaking changes.
* We moved to a flat configuration and changed the amended the script to run lint.
* We upgraded all eslint relevant libraries/plugins.
* We opened another ticket to review all the console.log/debug/info present in the repo.
Change-Id: Ie1e2c1ef49fc09cddbd9cc639505a1a65917bd35
In the last version mr12.5 we increased the security standards for the subscriber's password.
Now it is mandatory to have:
* password length min 12 chars
* must have at least 3 digits
* must have at least 3 lowercase letters
* must have at least 3 uppercase letters
* must have at least 3 special chars
In this review we adapt the random password generator in the CSC.
Change-Id: I8f257e34f7df8c99ef776ea9262fa18c32aef4da
We were using some shared logic to set subscriber preferences
for incoming and outcoming calls preferences. However the
PATCH/'replace' request was always failing with a 422 before
running a second block of code to finally add the new
preference. This commit adds a custom block of logic to
handle the creation of subscriber preferences for the
outg/incom calls.
Change-Id: I42a4b82a1b805e75597c1037caf4f789e2b287b6
With the creation of the Customer Preferences Page we add the possibility for the subscriber's administrator to view and edit some of the preferences that are applied customer's wide.
We also refactored $errMsg, the function that handles validation error messages globally.
The reviewed function displays the error text based on the errorMessages methods in src/validators/index.js
Change-Id: Ic9a1b2eab9b71255026447a690d3426097cbaf93
Add a new "force CLI" checkbox to the add pbx seat form.
If the checkbox is ticked, "?create_primary_acli=false" is
added to the request URL params when creating a subscriber.
Removes customer_id params from createSubscriber() as it
seems to be a leftover from old code.
Change-Id: I58e287030bc740659415f888d8ed42f5ab6894d1
- remove some spaces and some code in comment
- change icon for upload
- adding an error for the number when it is duplicated in add/edit pages
Change-Id: I3f1ca01e70a1b3bcf068bdea3c5cc98668f74c9f
NOTE: please AR carefully as the change affects every CSC request
Additions:
After testing the approach of rewriting the url property of the request object, problems appeared. The library vue-resource considers the url property actually as url path and not as the entire url. This is clearly a misleading naming in vue-resource. But for query params it offers the params object.
Change-Id: I27ca475df9ae8cde487907a0e341984e9c384241
AC:
* align config approach with AUI application
* apply the standard way of injecting configuration through boot files.
* removed some files which are already part of RTC CDK and not used in CSC anymore
Note: you have to move your personal "src/config.js" to "src/config/app.js" manually in your working folder.
Change-Id: If5a615f0691631e4410e6780a025fed54133147b
AC:
Can see the already existing SIP-password in plain text in the dialog
Can input new SIP-password
Can generate new SIP-password
Can save the new SIP-password
Can see a QNotification after successful save action
Can input only a restricted set of characters as in CSCv1 (NOTE: actually it's very strange and I'm not sure that it works properly in V1. For example it does not react on cyrilyc symbols but requires at least one lowercase english character)
TAC:
Reuse the already existing password input dialog that is used for the webpassword
Change-Id: I2cf3af4a330a9efa4102637b59e8a71ec962bd0e
NOTE
- You need to install backend PPA if not yet merged ngcp-ppa gerrit_TT122001_review49995
- For AR testing the feature, in adminUI you have to:
1. create a Subscriber profile set
2. add two profiles, one with reminder attribute checked
3. go to Subscriber > Details > Master Data > Edit and select the newly created profileset and the profile with Reminder attribute checked
4. login with the edited subscriber and check that you are able to access Reminder module either from left menu and via url
5. change the created subscriber profile set selecting the second profile (the one without reminder attribute)
6. refresh CSC and check if Reminder is gone in left menu, and if trying to access the route via url you are redirected to /
7. try to unassign the profile set from the subscriber, reload CSC and check that scenario of previous point happens
Change-Id: I6a09e6764a8a1cd9abd31ad7cb3d1df11d1b5953
AC:
Can see a list of SubscriberRegistrations of the logged in Subscriber
Can browse the list by using a pagination
Can sort the columns
Change-Id: Ia9fdfe0712627ba4780fcb46b03708d6444761b5
- TT#115519 Create separate page and route "Recordings" under "Call Settings"
- TT#115520 Integrate and configure QTable
- TT#115521 Implement vuex actions, mutations and getters
- TT#115522 Implement expanded section to render Streams meta data
NOTE #1: for populating recording table, please follow these instructions https://sipwise.atlassian.net/wiki/spaces/DEV/pages/1105494098/Recorded+calls+on+dev+environment
NOTE #2: /callrecordingstreams endpoint needs to be fixed (TT#118600 ); in the meantime as workaround to be able to fetch streams you need to go to /usr/share/perl5/NGCP/Panel/Controller/API/CallRecordingStreams.pm on your VM and modify line 30, change 'call' to 'me.call', then execute systemctl restart ngcp-panel
Change-Id: Iac102ef7449cf7621166f2492cd8b200005768e1
AC:
Can see all indentations in SFC, JS, CSS, HTML, JSON-Files as Spaces and not as Tabs
Can see the indentations configured in the corresponding .editorconfig
Can see the .eslintrc adjusted according to the new indentation
Can see 4 Spaces instead of Tabs as indentation
Modify "i18n:extract" tool configuration to use 4 spaces
Change-Id: I53cbda0ed3d9697d15beac7ab7f4ae675b33cba2
AC
Can select a language from a list of given languages
Can persist the preferred language
Can reset the language to "Domain default"
Change-Id: Ic1824a91b5a04e2b7ddb2c2ec4a89712e278ca2f
- Can click password recovery button/link
- Can request recovery mail by input mail address and confirm
- Can set new password after forwarded from recovery mail
For AR:
- click on Forgot Password in CSC login screen
- after submitting, login into mysql in your development env and execute
'select * from billing.password_resets;'
- copy the most recent uuid
- go to localhost:8080/#/recoverpassword?token=uuid and
proceed with password reset
Change-Id: Iff10165f98daa65a0ac85ec55c5d62926513fe0d
√ Can toggle the setting "clir_intrapbx" by a Quasar toggle button
√ Can see a success toast for both cases (on/off)
Change-Id: I4c29d2cc59dade6b925403d9454bf589ef5ac674
What has been done:
- TT#47832, Implement UI for removal of CallQueueConfiguration items, incl
loading spinner and confirm dialog
- TT#47833, Implement state handling for CallQueueConfiguration removal of item
- TT#47834, Create API method for removal of CallQueueConfiguration item
Change-Id: I0a8f7e2a4fa68b13276f5944410982febfc2e333