* Implemented priority flow as sort -> normalize to 0..n-1
across fetch/create/edit/remove
* On creation handles priority incrementally
* On edit, arranges and normalizes (if needed) priority values
* Enforced the same move rules in store action (moveDestination)
to block invalid reorders.
* Removes references to LocalSubscriber
* Fixes unit tests
Change-Id: Ib64cc30ea75141692085ec38df5c528565389469
(cherry picked from commit 38d6e2089c)
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)
- Keep callNumberInput getter returning full input for display purposes
- Use callNumberNormalized getter to strip domain before making calls
- Add callNumberNormalized to component's mapped getters
- Update startCall validation to use normalized number
Change-Id: I4172a4f426bf7f827e3ff717a901b8a64f4264d1
(cherry picked from commit afd3e09d55)
This reverts commit b70ea928dd.
NGCP-Flow: mr12.5
Reason for revert: The new Quasar is struggling to resolve assets path's and crashes the app.
Change-Id: Id4d53d9f660c02c77642c0e5feb455caa0b56a81
Trickle ICE candidate updates were not sent through
to kamailio/rtpengine. This was happening because
there was not ICE configuration.
Change-Id: I2a3ae1ab92ac9d6e766bd46915930fd553a6ff26
(cherry picked from commit ed162e8e56)
This update introduced many breaking changes.
Listed here the most important ones:
* quasar.conf.js file has been renamed
quasar.config.js.
* Quasar v4 replaced the old /src/index.template.html
with a new /index.html at the root of the project.
The special comment <!-- quasar:entry-point -->
is used to inject scripts/styles automatically.
* Use setupMiddlewares instead of onBeforeSetupMiddleware.
* proxy is now an array of proxy config objects.
* Dropped support for Vuex. We can still use Vuex as any
Vue plugin, but we have to manage everything (installing the
store, no store parameter in boot files, etc.).
We'll migrate to Pinia asap.
* Updated postcssrc according to docs
Change-Id: I585a3e2d17f666d9ca2773fa446d644f0fc201a2
(cherry picked from commit 72d36d22ab)
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
(cherry picked from commit e935071c95)
Fixed an issue where the component tried to access the `id` property
of `this.groupSelected` when it was undefined. This happened because
the state gets cleared on refresh, and the component didn't have a
check to reload the necessary resources.
- Added check to ensure resources are reloaded if state is cleared
- Prevent accessing `id` of undefined in the component
Change-Id: Ib6b669df87d255cf174254b32fa1c451d0901f73
(cherry picked from commit 4e72e67697)
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)
- Verify and correct route access for admin-only CSC pages
- Update route guard logic to support:
* User role (admin / non-admin)
* Exact match on user profile attribute
* Presence of one or more profile attributes
* Required licenses (all must exist)
* Exact platfom feature
* Exact capability match
- Ensure route guards match menu visibility restrictions
- Document route guards and menu visibility logic
- Note: for fax settings, we use the extra variable
`isFaxServerSettingsActive` to determine whether the toggle
in the fax server menu should be on or off.
Change-Id: Id60a0e8b2145701ed4ae52d0859da46172076a89
(cherry picked from commit 2b46170467)
Listed here the changes:
- change properties accessed directly
from state with computed properties
that handles null cases
- Fix typos for subcriberListState
and subcriberListError
- Improve route watcher in
CscPagePbxDeviceDetails
- add a method to load only thumbnails
instead of full set of data for
the device profiles to improve
performance.
- removed 1000 rows for loadProfiles()
as it was too slow. We expect max 150
devices so it was set to 300 rows.
Note, more refactoring will be needed.
Change-Id: Iefe0328052174f0bb93f8cdbae59f77257592592
(cherry picked from commit d8c1f097cc)
The Send Fax icon was displayed in the PBX Configuration
even when the functionality was not enabled in the fax settings.
This was caused by the ability to activate
the feature at the seat or group level.
The logic has been corrected, and the Send Fax functionality
now appears only when it is properly enabled for the user.
Change-Id: I02358f12eaf1a5543d2c6552e21d4452c56acdc6
(cherry picked from commit dcfecc4327)
Two switch buttons added to group details as for seats.
These buttons update play_announce_before_call_setup and play_announce_before_cf preferences.
Change-Id: I230b9a8d62b34a2e013a326ad4d50403b82d824a
(cherry picked from commit 6e70eb898b)
App was crashing when user was refreshing
page on page /pbx-configuration/device/${id}
This happens because the logic to load all
necessary resources is a bit tangled. This
commit attempts to tidy up things without
inserting breaking changes.
Change-Id: I868678fcc6ed181697a5f3825d41940429785375
(cherry picked from commit e314c96c3c)
Allow subscriber administrator to configure the devices
admin password from CSC.
Change-Id: I2919f749704e421ebc22eb82de3e9ed956dd5b40
(cherry picked from commit 30d4b44aea)
- The ban error is now handled, and an error message is displayed
when a user is banned.
- The translation of the error message has been added.
Change-Id: I3fc4c8d18136f4954b2cb9ccd7b896688e0f20de
(cherry picked from commit d0308acabe)
When a PBX Seat user tries to delete a sorce set that
was previously added by a PBX admin the backend
return an error as the entity doesn't belong to the
Seat user. In this scenario the source set is not
delete from the DB and it is removed from the relevant
mapping. The missing try/catch didn't allow the
code to reload the updated resources to show the
changes.
NGCP-Flow: mr12.5
Change-Id: I2862d5922aa1df99d11b2d6d58dcd8e161160253
This commit fixes the following bugs:
* On refresh The PBX Seat Page crashes because the
seat id in the state goes back to null.
* PBX Seats and Groups pages' reactivity is not
working, in fact the components are not refreshed
upon manually changing the group or seat id in the URL.
* When user changes a destination that belonged
to admin user the app was getting stuck in an
infinite loop now we show the permission error.
* When user deletes a CF previously set by the admin,
or a mapping containing the above, the app was crashing.
We now delete the mapping and show a warning informing
the user if the associated destination set belongs
to admin.
* When seat user creates a new CF all CF previously
created by admin were disappearing because only
destinations filtered by csc users were retrieved
after the creation fo a new mapping instead of all
the available destinations.
* Time set created in admin were visualised as "...".
We now show the string "Custom time set" and show
a formatted summary of the details on click.
* Not all timesets were shown in call forward page
because of the missing parameter "all: true" in
the getList config. getList or pagination in csc
needs proper reviewing.
Change-Id: I06faa0a1fd0db003cb7ed81328147897386830ff
(cherry picked from commit 12043c549d)
The backend has been amended so that when a call
is recorded on both sides (caller and callee),
if one of the two sides deletes the recording,
the item is only removed from their view and the other
party can still see the recording. To achieve this we
add a param subscriber_id into the delete request.
As well this commit fixes the pop-up appearing to confirm
the user wants to proceed with deletion. The pop-up
was appearing without title and message, now both
are shown.
Change-Id: I7808fd3fad819e3e194448d16e882502f0a29bc6
(cherry picked from commit c64a0620c4)
To make sure compatibility with previous versions
and avoid the app crashing, we are adding
a better handling of the case where security.password
object doesn't exist in platforminfo. This covers
the edge case where costumers with ad hoc solutions
cannot upgrade to latest templates version.
Change-Id: I8aef12170d2f3782424f8b12dc032b3d465fb6b6
(cherry picked from commit 499e89ac44)
Password requirements have been edited so that are not
hardcoded. They are stored in the config.yaml file
and passed to the frontend through the
platforminfo.security.password object.
We adapt the frontend to:
- pick this info
- display the precise requirements in a tooltip that appears
when users hoover on a password field
- adapt the relevant inputs validations accordingly
- update the password components to use the centralised
$errMsg() function to handle error messages.
- fix weird behaviour of retype password where was not
showing validation errors
- remove "score > 2" as a necessary condition to enable the
retype field
Change-Id: I0feea3d7c5c2ae977402c3576e883899117f8864
(cherry picked from commit 0b0846d7e7)
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)
Following the changes about the licenses, some API will now
return a "403 - License not available" error when the needed
license is not available to the user. In the frontend we handle
the licenses with two levels of protection:
1) We hide menus of missing licenses from the sidebar
2) We add a guard in boot/routes.js that would redirect to the
homepage any attempts to access the mentioned menus, in case
they are mistakenly shown.
Change-Id: I9e88473ee90935db9b2a234ff03aef1b3a44a97b
(cherry picked from commit 2d1ec7c499)
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
(cherry picked from commit abf1d52fe7)
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
When testing the bugfix mentioned in the ticket I found the below
bugs and proceeded with the fixes:
- cscCfGroupConditionDate: added try/catch to handle better errors.
Before the fix the component was gettign stuck on loading when
the backend was returning an error
- refactored post() in common.js to reflect sipwise js policy
- actions.js: fixed bug to pass correct timeSetId in the cfmapping
PATCH requests. Before the fix we were passing an object with all
the data of the new timeset rather than the id only and the backend
was complaining.
Change-Id: I7bfabaf7a1a2aea8c6034de0d8f76e2f90633cdb
Some conditions were not evaluating correctly as we are passing
empty strings instead of null/undefined values. We replaced the
nullish coellish operator with a simple or operator until we have
more time to review the incorrect use of empty strings in oppose of null
and undefined values in the entire app
Change-Id: Ifb8635976166830e0d32b88a27985a7661854acb
- Changing list view to 8 rows with 3 columns.
- Preferences/Edit are now open in a separate page.
- Adding the new 4 preferences ( - Admin Name/ Disable web GUI/ User config priority over-provisioning/FW upgrade disable) together with the existing parameters.
Change-Id: Iae92c3313c592f7662587f52d0d4c9293ba41a97
- 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