UI modified to clearly show the "After Ring
Timeout" as unique parameter that is
editable in one place only.
Change-Id: Ieadc2c255ad8977664c2288269cef6c1a8da5b72
- 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
The device alignment image is outside
of the screen view. This commit changes
the alignement of the page to have
all the content displayed without
lateral scrolling.
Change-Id: I6bfd5d23730544e22b7842b9ee005f6c3455e010
Review all instances of the console object (such as console.info, console.error, console.warn ...)
in the CSC repository
Change-Id: I360164516748cc7412c1fa2023db3445f01f53ac
Resolved an issue where item lists on the
dashboard would overflow the container borders
when containing many items. The updated logic
limits the visible items to the 5 most recent,
ensuring proper layout and improved UI
consistency.
Change-Id: I50ee8ed9e5b8d68abc77ae17ca4273320d2c6daa
*Users can now add/select a B-number
set when creating a call forward.
Before this commit, this was only
possible from the admin panel.
Note, users cannot delete or amend
B-numbers created by someone else
(e.g. if a PBX admin user creates
a B-number for a Seat,the Seat-User
won't be able to edit it).
*Fix the way we handle sourceset
deletion ensuring data is reloaded.
Change-Id: I58cb639156fb9ac0386d6bf0f3ec26daa4ebf857
/api/faxes endpoint was returning a 422 error
Uprocessable content. This commit
amends the payload to match what is in the
APIv1 documentation (old docs)
Change-Id: Ib8d9c0ec41e1e1a18bbe503db711b55e5f66e050
Bin icon misplaced bug fixed by changing the
css class. This commit also improve input
behaviors. With the Vue 3 migration it seems
that $atts doesn't overwrite binded attributes
anymore, so we had two clear buttons on inputs.
To prevent this the following steps have been
taken:
* custom clear button is switched on only when
the attribute "value" is used.
* native clear button is switched on in all
other cases
This should avoid adding regressions.
Change-Id: I39f41ce8d461efc5eff5c7e541d227dbfd6c667d
Resolved 21 out of 22 vulnerabilities (1 Low, 6 Moderate, 15 High).
Only vulnerability left is a moderate one from "vue-template-compiler",
a dependency of @quasar/quasar-app-extension-testing-unit-jest.
Tried the yarn resolution method too, however the version
needed to resolve the vulnerability is not compatible
with our current setup.
Change-Id: I5477c791542196d14dcb6b809c76c4981c8a0973
The new Portuguese language has been added to the
available prompts and the csc ui has to propose
it as possibile predefined soundsets.
At the same time the list of languanges has been
alphabetically ordered.
Change-Id: I9fca6151ff2b856512acded2df621c708cb3b67b
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
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
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
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
To clean up a bit the situation we upgrade all possible
dependencies to resolve vulnerabilities alerts and
adapt the code where necessary.
* Started with 89 vulnerabilities.
Severity: 13 Low, 44 Moderate,32 High
* Result: 1 vulnerability.
Severity: 1 Moderate
Change-Id: Ic0d9f1aa7c05ea5cb01980e8e110260b4f5dc534
The backend returns "403 - Password Expired" when user's
password is too old and we redirect the user to the
/changepassword page where they can update their pw.
Users will be required to insert username, current password,
new password and to retype the new one.
Success: user redirected to login page.
Failure: a banner with the error is shown for 10 seconds.
NOTE:
* Password requirements are always presented in the frontend
as guidelines but validations are not enforced.
It was a joint decision with the backend team not to expose
whether the web_validation is active on the platform.
* If the web_validation is active, the backend will respond
with a 422 and the error message will describe the missed
password requirements.
Change-Id: Ic8b34980ff3099712f72042294409a2eb8e9347f
Accessing directly the state with store.platformInfo.type returns
undefined. We replace the line with a getter.
Change-Id: Ic74d233ce67ffdf80e7f75e2976e523c6646fb41
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
The new sipwise logo has been updated in:
* header
* login page
* favicon
The logo component receives a prop (color)
that allows to pick between white or default
colours.
Change-Id: I7aae1d99b460c84f4b8a66ef7219335d7f6b9d62
Due to some changes on api v2, we cannot pass a parameter that doesn't exist to api.
In csc, we put the lang parameter in each call but it returns an error when using api v2.
So in the case we use api v2 we just removed this parameter.
Change-Id: Ib9e5decc67178d65626a285688e41b88b16e0b03
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
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
The NCOS and NCOS Sets visibility was restricted to normal
subscribers or PBX subscriber administrators. Therefore it
was not visible to PBX subscribers that are not administrators.:
Change-Id: I6028c4e3c8537b193b009ae2cd7408cc245dc822
Add translations for the error message shown when license is invalid
and fix a small bug in the router guard, in fact we were checking
the licenses list against the attribute which are different values.
Change-Id: Ic595f731cd770f932e30fe9b649d68bcc3af7119
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
We have introduced the concept of licenses which can be active
or inactive (all active licenses are stored in the array "licenses"
-GET 'api/platforminfo'). This means that a service (e.g. fax)
can be activated, but the license to use it could be active or
inactive. If the latter is true, the user is not allowed to
use the service in fact the backend returns a 403 - Invalid
license when the relevant endpoints are called.
* Before this commit we were retrieving the fax services as
part of the login phase, but with the new licenses logic the
existing flow was broken by a 403 for those users with inactive
fax license and it was impossible to login into the platform.
With this commit we amend getUserData() to wrap the call to
retrieve the fax settings in a statement that checks if the
fax licence is active.
* We edit the "Invalid license" message returned by the backend
with a more user-friendly text. The text is showed in a
small banner on top of the page every time the user opens
a page that is not supposed to access because the relevant
license is inactive.
* We remove some unused code in CscLayoutMain.vue
* v-if moved before class to silence warning in AuiMobileAppBadges
Change-Id: Ie7831e0024475c3a5aa8acf3874e6eda442fc9a2
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