Note: to test it you can add some JS code with translations in commented block. That translation should not apper in en.json file if you execute "yarn run i18n:extract" command
Change-Id: I79f6a8358f3a52578b58044eb02169aaccf62123
- If token is valid the related user is logged in automatically
- Existing user (JWT) in the same browser context gets overwritten
- If token is invalid user lands on login page
- Token is removed from URL after it was processed
Change-Id: Ied1266178281bd10420594ceca3cbd4b84e1490d
Steps to reproduce:
* open broser settings and set any language which is not supported by CSC yet. You can chech that it was applied by executing "navigator.language" in the browser console.
* clean session storage for the CSC
* refresh the page.
** result before the fix: language selector are not displayed
** Expected result: language selector is present and language set to Englist (because it is defined as default language in CSC)
Change-Id: I2d53e649e14e3d82e2a5c1be4f99168971cd258c
NOTE
Affected routes/modules:
- /call-blocking/incoming by 'block_in_clir', 'block_in_mode', 'block_in_list'
- /call-blocking/outgoing by 'block_out_mode', 'block_out_list'
- /call-blocking/privacy by 'clir'
- /call-settings by 'music_on_hold', 'language'
- /pbx-settings by 'clir_intrapbx'
When the controlling profile attribute(s) are all unchecked, the module should disappear from CSC main menu and the route should not be reachable.
For AR, in AUI you need to create a Subscriber Profile with at least one Profile, and assign the newly created profile to the subscriber via Details > Master Data.
Change-Id: Idadcc096643fe58419682042814d3508c015b464
AC:
Can see only used translation keys in en.json
Can see unused Vue.js components removed
Note: here you can see bunch of removed files, all of them were part of unsued routes and were belong to deprecated versions of CallForwarding UI implementation. It was a preparation step to re-collect all used translation keys by i18n:extract tool.
Change-Id: I100896ed1791a766aaf1dbd0e95d61e351b65935
TAC:
Parallelise requests in the user load function which do not depend on each other
Note: it can be optimized better if we lazyload RTCengine and initialize it in a lazy way. But it should be implemented as a separate ticket.
Change-Id: I911cd29b880ab8027b341d7953c6c8337390e19b
AC:
Can click on a main menu point to open Subscriber management
Can see a page opening and loading the page from v1 within v2
Note, to test it locally:
1. you need to create the "quasar.conf.dev.js" file with content like
module.exports = {
public: '',
publicPath: '/v2/',
proxyAPI2localhost: true,
proxyAPIFromURL: 'https://dev-web3-trunk.mgm.sipwise.com'
}
2. "src/config.js" should have
baseHttpUrl: '',
3. to login into system you have to use "username@domain" login !!!
Change-Id: I3af7caeb242a52e573d87c50fe05c9462f95bfb3
- TT#128156 Add QR-Code button to the header
- TT#128157 Add QR-Code render library
- TT#128158 Implement QR-Code generation
- TT#129205 Render QR-Code in the popup
- TT#129224 Create store test and api test (including endpoint mockup)
NOTE
You need to enable sip_phone.show_qr_csc in /etc/ngcp-config/config.yml of your environment to be able to see the QR code icon
Change-Id: Ifa065ef057549696387026c5a62cf0f5297ffb05
Historically the i18n label 'English' is not really a languare but
a label to search the localisation name, which should be 'Русский' for Russian.
Change-Id: I404a06a90c582f999d0226e8d6fd6882f741f7b4
Fixed:
* translations for the first item in main menu "Start new call"
* fixed not translated page titles and back button in browser history
* fixed route for 404 page
* fixed intermittent issues with history by switching to Meta plugin instead of direc "document.title" call (bug was next: sometimes you can see current page in the history list as a previous route). It's the same solution that we have in AUI
Change-Id: Iea95e11911a76a5778fefe8320fc39f1934f8a6d
Add new translations to French.
Untranslated strings are skipped now (instead of being kept with empty
values).
Change-Id: If306e414fdf873d494718cb96f22dad5e798e04f
Primary color: Interactive elements (Buttons, MenuItems, Icons, etc. ...)
Secondary color: Background
Important: The color scheme is dark, therefore the primary
colour must be a light color and the secondary must be darker one.
Change-Id: Id499930dd56757416ec027cb36adfe0aeb31e74d
TT#124407 SubscriberProfiles - Show all features if no SubscriberProfile and no SubscriberProfileSet is set
Change-Id: Ibfa3ae28ec40fd1b0a7221ed77e903884d6907cd
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
- TT#123301 If file is loaded once, the file must not be refetched from the server
- TT#123300 Loads the audio file not before the user has clicked the play button
- TT#123302 Make sure not breaking all other player integrations
Change-Id: Ieb37bea2f9ca648e12afffe9f908743319416da4
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#118754 Create new menu point under PBXConfiguration + new page + new route
- TT#118755 Render a list of all slots of all Subscribers (Pilot, Seats, Groups)
- TT#118756 Load Subscriber (Pilot, Seats, Groups) name for each slot in the list
- TT#118757 Implement AddForm to be able to add a new AA-Slot
- TT#118758 Implement Deletion for a AA-Slot including a confirmation Dialog
- TT#118765 Implement EditForm to be able to edit the destination of an existing AA-Slot
NOTES
- In order to test the feature you need to create a Customer with Product = Cloud PBX Account, and at least one subscriber which you need to login into CSC.
- There are a couple of components which have been created and not used due tue specs revision, but left in place for future possible utilisation:
- Sorting by subscriber id and name has been removed as it is not supported by the endpoint
src/components/form/CscSelectLazy.vue
src/components/CscDataTableEditSelect.vue
Change-Id: Iec29baecfa75f3c818b9deb945625a1bf977ca88
- TT#120745 Integrate caller and callee input in CallRecording list view
- TT#120743 Adjust data fetching part
- TT#120741 Specify UX flow
Change-Id: I86796b9e116628bef0379a09f51aa190d0fbafd8
- TT#120738 Integrate caller and callee input in CallRecording list view
- TT#120737 Adjust data fetching part
- TT#120736 Specify UX flow
Change-Id: I94e579c5f01c628ea42d9bd99225d02a68b5f234
- Integrate date range input in CallRecording list view
- Adjust data fetching part
- Specify UX flow
Change-Id: I666aaa397a09ec9a5c2c63e76485e7fc4a797a46
- 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 the custom primary and secondary color if it is set
Can see the standard colours if not set
Change-Id: Iac09886d1442c145d448e1d0431bf37f1b409f03
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 see the data converted properly after saving
Can see the data rendered properly after fetching it again
Change-Id: I98259176b0dcbcfd76030305905e4e8c454df004
The separating lines created by q-separator are not visible anymore since the latest Quasar Upgrade.
AC:
Can see the lines again
Change-Id: Iaecb457fb215209f1e727b1877816cf3da4cc8fe
AC:
Can see "Office Hours"-Condition working properly according to the Kamailio time periods
Can save and see the same periods after loaded the data again
In addition:
* added logic to automatic detecion and seting "Same Time..." checkbox state based on the time ranges data in the timeset instead of timeset name
* added time ranges validation
* reproduced notification about invalid timeset which was in the old UI
* fixed popup layout to support long list of time ranges
Change-Id: Ic3a7b75a1d47c576beece660ca3fa56b9cc5b386
AC:
Can transform human readable time periods [Weekday, StartHour, StartMinute, EndHour, EndMinute] to the Perl based ( function toKamailioPeriods(arrOfHumanReadablePeriods))
Can transform Perl based time periods to human readable ones [Weekday, StartHour, StartMinute, EndHour, EndMinute]
Can see the two functions in a new separate file
Change-Id: I6559fcf1639487b00e9e442a7d6e97907f1c9af5
AC:
Can see the keys replaced by the actual english translation in the code
Can see the language files, including the english one, using the english translation as keys
Can see no more nested structure but flat a one only
Change-Id: I3c3fc18ff91d972cb592c8cab43b66da16193a1c
AC:
If not already exists:
Can see a separate main menu item "Fax Settings"
Can click the separate main menu item and land on a page "Fax Settings" (route=/user/fax-settings)
Can see settings if the feature enabled
Can decide either to use SecretKey or ACL to manage authentication
Can set a custom secret key/token
Can set the renew interval (never, daily, weekly, monthly)
Can see/read the "Last Secret Key Modify Time"
Can add email addresses to get notified about expired key (secret_renew_notify)
Can remove email addresses
Can add ACL Rule (email, ip, destination, use-regexp flag)
Can edit ACL Rule (email, ip, destination, use-regexp flag)
Can remove ACL Rule
Change-Id: I6bc25ab2f73d0dfae3fab224b11396ecdd17ab39
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
AC:
Can see the preference Music-on-hold in the new main page "Call Settings"
Can toggle the preference Music-on-hold
Change-Id: Id725dc65fc08b6b865c69ff035bc3e343e4a7651
AC:
Can add forwarding
Can alter forwarding
Can remove forwarding
Can enable forwarding
Can disable forwarding
Can enable that primary number rings
Can disable that primary number rings
Can forward to Number
Can forward to Voicebox
Can forward to Fax2Mail
Can forward to ManagerSecretary
Can forward to Conference
Can create SourceSet
Can assign number to SourceSet
Can remove number from SourceSet
Can change name of the SourceSet
Can search for existing SourceSets
Can assign an existing SourceSet
Can assign TimeSet (Date)
Can delete TimeSet (Date)
Can assign TimeSet (Date range)
Can delete TimeSet (Date range)
Can assign TimeSet (Weekdays)
Can delete TimeSet (Weekdays)
Can assign TimeSet (Office Hours)
Can delete TimeSet (Office Hours)
Change-Id: If5e5267e229a20947e0278212f59349d9e2eb7be
TT#99564 CSC: As a Customer, I want to be the PBXExtension validated according to the defined range
AC:
Can see a short text/hint under the PBXExtension input field, that shows the PBXExtension range in a human readable way
Can see an error if I try to input a PBXExtension that is out of range
Can input any value in case no range is set
Can see a different message wether min or max only are set
* Enable the extension range on AUI
1. install ngcp-ppa -k gerrit_fmates_ext_range on your dev environment
2. in AUI go to Subscriber's customer->customer preferences->cloud pbx
Change-Id: Ia97cd3049bfed68e67317aceaf26f0d304496b5b
AC:
Can see a separate main menu item "Fax Settings"
Can click the separate main menu item and land on a page "Fax Settings" (route=/user/fax-settings)
Can enable/disable the feature
Can change the name in fax header for outgoing fax
Can add a new Destination (email, file type, outgoing, incoming, reports)
Can edit a Destination (email, file type, outgoing, incoming, reports)
Can remove a Destination
Can toggle T38 (Fax over Internet)
Can toggle ECM (Error Correction Mode)
In addition there were changed "CscInputSavable" and "CscListMenuItem" components to provide better "disable state" possibility.
Change-Id: I777dd718a6e676acd72f45c175296ce767449469
AC:
Can select "and Office Hours are" as additional menu item from the Condition Menu of a forwarding group
Can open a popup containing the "Office Hours" controls
Can toggle whether the times for each weekday are the same or not
Can enable/disable specific weekdays, if times are all the same
Can manage times for each day separately, if times are not supposed to be the same
Can add multiple periods for all selected or a specific weekday
Can add a period consisting of start- and end-time
Can remove a period
Can cancel the "Office Hours" popup
Can save the state of the "Office Hours" popup
Can see the "Office Hours" as title of the forwarding group
Can click the "Office Hours" title to open and configure the "Office Hours" again
Change-Id: Id60d2e6f9032102e260570a2f6bb347049acd251
AC:
Can input PBXSeats, PBXGroups or PBXPilots name in the search input
Can see a list of possible PBXSeat, PBXGroup or PBXPilot according to the search input
Can select PBXSeat, PBXGroup or PBXPilot from the list to apply the search
Change-Id: Id97cf90b0a5fb62bc2049f73daf98d811fb4583e
AC:
Can filter by extension
Can filter by Username (Seat assigned as Private Line)
Can select filter criteria from criteria selection
Can see the right input component according to this criteria
Change-Id: I6f35098854a866fe2b7de68d17570582dc693340
AC:
Can manage loading states without implementing boilerplate store code
Can use the Vue.$wait plugin in the context of a vue component
Can start a loading context with $wait.start('loading-context')
Can check the loading state of a context with $wait.is('loading-context')
Can end a loading context with $wait.end('loading-context')
Sources:
https://github.com/f/vue-wait
Change-Id: I4318729e5193bc362b4f13186d3f2f16dac90e8b
AC:
Can filter by display_name
Can filter by extension
Can filter by primary_number
Can filter by alias_number
Can filter the same way as it is possible for PBXSeats
Can navigate through filtered items via pagination
- in addition there were added "data-cy" attributes to simplify selectors for E2E tools like Cypress.
Change-Id: Iba3919a198c2464982502d529b54182bc266bb01
- 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
The intention here is to make it easier to select specific elements in the DOM while creating E2E-Test based on selenium.
Change-Id: I21bb792b580359eb43e0c2b4cd1dc173487ebd91
- Can i select a filter criteria
- Can i input filter according to filter criteria
- Can i see model selection as input if filter criterial is device model
- Can i see text input if filter criteria is not device model
- Can i trigger the search
- Can i see spinner
- Can i see a list reloaded after triggering the filter
In general align the filtering User Experience to PBXSeats. Important is that we have always 3 main elements (Criteria selection, Filter input, Current/Active filters) only.
Change-Id: Ibbe43e543a173b6e8c27bccb5790007d12788d4b
√ Can select "Name" (display_name) as criteria in the criteria selection widget (QSelect)
√ Can input the search string in an input field (QInput)
√ Can trigger the search by clicking a Search-Button (QBtn) or pressing return
√ Can see the input becoming a QChip containing the search criteria and the search string (appears bellow the search widget)
√ Can see an empty input field after triggering the search
√ Can remove a QChip
√ Can change/overwrite the search string of a chip
Change-Id: I0f155549f25b342e3661d70dd1a8d272bf02e039
√ Can see a "PBXSettings" item in menu if user is allowed to
√ Can go to separate page "PBXSettings"
√ Can toggle the setting "clir_intrapbx" by a Quasar toggle button
√ Can see a success toast for both cases (on/off)
√ Can see a spinner until the settings are loaded
Change-Id: I98a4328dbf5a23ae159009d22e3bc172306d5f62
√ Can toggle the setting "clir_intrapbx" by a Quasar toggle button
√ Can see a success toast for both cases (on/off)
Change-Id: I4c29d2cc59dade6b925403d9454bf589ef5ac674
AC:
√ Can set start date
√ Can set end date
√ Can unset start date
√ Can unset end date
√ Can see default loading indicator during filtering
Change-Id: I8588280db954d129066f9d92455fadd0b0c4689e
AC:
√ Can choose "weekdays are ..." from condition menu in each forwarding group (online, offline, busy)
√ Can click "weekdays are ..." to choose the weekdays initially
√ Can see a date weekday widget according to the screens
√ Can choose weekdays
√ Can save the chosen weekdays
√ Can cancel the process
√ Can see the changed title "... and weekdays are Monday, Friday" after saving
√ Can click the changed title to change weekdays again
√ Can remove the condition
Extra:
√ Fix conditions menu UX bugs
√ Fix conditions popover position
Change-Id: I8a5a465765b5ce204fd47c1880164f91c03b4622
√ Can choose "date range are ..." from condition menu in each forwarding group (online, offline, busy)
√ Can click "date range are ..." to choose the range initially
√ Can see a date range widget according to the screens
√ Can choose range
√ Can save the chosen range
√ Can cancel the process
√ Can see the changed title "... and date range are ..." after saving
√ Can click the changed title to change date range again
√ Can remove the condition
Change-Id: I432fa3b99f0be0abd7d16d7be48d2c2d96811f97
√ 1 - mapping, destinationset, sourceset and timeset GET endopints should be called in parallel (instead of synchronously) when possible
√ 2 - mapping, destinationset, sourceset and timeset PATCH and PUT endpoints should be called with header "return=representation" instead of "return=minimal" to allow consistency between local and persisted data without having to refetch the data every time a change is made
Change-Id: Idec6281c8fd560383e983107e78b48f5094f4dcc
√ Can choose "date is" from condition menu in each forwarding group (online, offline, busy)
√ Can click "date is ..." to set the date initially
√ Can see a date widget according to the screens
√ Can choose a date
√ Can set the date
√ Can see the changed title "... and date is Thu, Apr 13 2017"
√ Can click the changed title to set a new date again
√ Can remove the condition
Change-Id: Ia2aec66d7c8d89f2be8b471348a98db96219d204
The list looks like:
| English
| français
| Italiano
| Español
| Deutsch
Use uppercase `Français` to be consistent.
Change-Id: Ia3f1087c10d2d816c43835993e536d797d088f5c
The filter functionality for PBX Devices allows now partial matching station name and mac address.
Change-Id: I94f8d4ab8c445bb650f70d7c2db58b3acc55bea4
EXTRA:
- Main title
-- √ change wording online -> available
-- √ Add number placeholder after Primary number
-- √ if no groups exist label should be “All calls group to the primary number”
- √ When adding a sourceset to an unpersisted group, all the popovers should be in the same context,
- √ and the alert message should be within the popover (instead of yellow toast)
- √ Change buttons in the sourceset edit popover
ADD button for adding sources under the input field
CLOSE and DELETE (red + trash icon) buttons for the whole list on the same line at the bottom of the popover
- √ Prevent creation of more than one unpersisted group by alerting the user “You have to create a destination on the unsaved group”
- √ Gray out “All calls go to the primary number” on available groups when group is disabled
Cosmetic
- √ Remove bold from main title
- √ Adjust paddings for buttons in the popover
- √ Line heights within each group should be consistent
- √ Timeout popover > more width + dots
Change-Id: I1adab34f5bd921779027adacf7ff50f235ff2510
AC:
If forwarding group is not persisted yet:
√ Can click "and condition" and sees the possible conditions like "call from ..."
√ Can click a condition
√ Can see a number input to save the initial destination
√ Can see information why all this is happening
√ Can see the origin condition popup (source list, time widget) again after saving the number
Change-Id: I78c44fe000f980335b4c49480cb43c6250fbe1ce
ACs:
√ Can click a new type of forwarding group under "Add forwarding"
√ Can create a new group "If online and call from ..."
√ Can delete an existing group
√ Can add destinations as in other groups
√ Can delete destinations
√ Can edit destinations
√ Can define a list of sources by clicking the highlighted part in the title "call from ..."
√ Can see a popup after clicking "call from ..."
√ Can input a name to identify the source list, add a first number and save it
√ Can see the title "If online and call from nameOfTheSourceList" after saving the new source list initially
√ Can see the popup with the source list after clicking the title again
√ Can add numbers to that source list by clicking an add button in the popup
√ Can delete numbers from the source list by clicking a delete button
extra:
√ Adding a sourceset to an unpersisted destinationset is prevented:
√ Changed condition menu label
Change-Id: Ifaa7b9cf5e8e5785bbfe2efd9ab7acaa0497cef5
What is missing:
- loader during requests
- message on destination saved
- timeout requests on filed blur (current on value change => multiple requests)
- the form to add destinations currently shows up a the bottom of the destinationset instead as popover
- (cosmetic) + icon instead of char before ADD FORWARD label
Change-Id: I61986bcdc9f157787c1cd9d690c752b9fd44fe24
- can mute all participants at the same time by clicking a single button (#71350)
- can unmute all participants at the same time by clicking a single button (#71352)
Change-Id: Iaf40499acc23baaef797db61b714932fb561e7a0
To only test the conference store, change
describe('ConferenceModule', function(){
into
describe.only('ConferenceModule', function(){
on line 7 of t/store/conference.js
Change-Id: Iec745f5ff4512f337d9bddb2009ae55554bb8e32
- Must see a more menu at the top of the ParticipantItem (#70952)
- Must be able to mute/unmute the remote audio by opening the more menu and clicking the mute/unmute list item (#70955)
- Must see an icon that refelcts the current state in the ParticipantItem (whether muted or unmuted) (#70956)
Change-Id: Ibab4bdd9887c1a8ce4e3760c154cefae6b6caab7
- Must see a auto generated url after entering the JoinScreen (#70205)
- Must get forwarded to a auto generated conference URL, consequently the JoinScreen (#70204)
Change-Id: I3738461401b7d49ae0e0738a7e79b00eb96e9c42
- Can see the most recent joined participant as selected user (#70201)
Logic:
1. if no participant has been manually selected during the conference, the last who joins becomes selected
2. if a participant is manually selected during the conference, the logic on point 1. is bypassed (ux)
3. if the current selected participant leaves the conference, the logic on point 1. is restored
Change-Id: I5741d19d45aaa2cfb465d3545824c44ee6c67261
- selected ParticipantItem's video in fullscreen (#67702)
- placeholder icon for none existing video of the current selected participant (#67706)
- current selected ParticipantItem's name as title (#67703)
- local participant selected by default (#67704)
Change-Id: I6e2e47609adc407363be0c1636ff0ae8bd30ad38
- list of participants as column (subtask #67600)
- participant displayName added (subtask #67605)
- participants list scrollable (subtask #67601)
- self participant item on top of the list (subtask #67602)
- self participant fixed position on top of the list (subtask #67603)
- placeholder icon if video not shared by participant (subtask #67309)
- show/hear participants (subtask #67604)
Change-Id: I44836b67767d243554e674e76486681865931f84
- Navigate to a separate page to manage manager secretary configurations
- Create new configuration
- Update existing configuration by adding and removing numbers
- Remove existing configuration
Change-Id: I61a7c6ea384cd58854f96fbe2c20f26a09feef6d
- Conferencing: As a Customer, I want to enable/disable camera
- Conferencing: As a Customer, I want to enable/disable captured screen
- Conferencing: As a Customer, I want to enable/disable microphone
Change-Id: Ic1536a7d90c8db97ae3e091c14e15c439b69f40d
What has been done:
- TT#52621, i18n: As a Customer, I want to change the language for the
current session
- TT#53402, Implement state handling for selection options and currently
selected language
- TT#53317, Implement UI with language selection box and label
- TT#52968, Implement state handling for fetching and updating
language selection
- TT#53319, Configure i18n module to bind with language selection in
store
- TT#53366, Create Web Storage API methods for storing/updating
session based language selection
- TT#52969, i18n: As a Customer, I want to see the text in the
application translated to French
- TT#52969, Add French translation file to codebase
- TT#53403, Enable selection of French language
Change-Id: I07d5e353e7895f4f9dfb5fd3d1d4cf06073d9be7
What has been done:
- TT#51303, Create API method for fetching call blocking lists
- TT#51304, Implement state handling and getter for call blocking list
fetching
- TT#51356, Create API update methods for call blocking
- TT#51354, Implement UI menu items, success toasts and error handling
- TT#51355, Implement state handling and actions for call blocking update
requests
Change-Id: I468d1152d17a33fbb56bc4f052beb0440a3fb7b3
What has been done:
- TT#47510, SoundManagement: As a SubscriberAdmin, I want to have an extra page
section for managing SoundSets
- TT#47511, SoundManagement: As a SubscriberAdmin, I want to see a list of all
owned SoundSets
Change-Id: I1e1d6d49d90d1b8b5deef5689c686b921eb6f7d8
What has been done:
- TT#48955, Implement or reuse state handling for CustomDialpad component
- TT#48956, Reuse CustomDialpad UI component in the "start a call" screen
Change-Id: I69845d7cb9d0d1ebef00f044854c83df78bf7873
What has been done:
- TT#47986, Implement UI button for jumping from Seat/Group item to
CallQueueConfiguration item
- TT#47987, Implement router link which passes parameter to
CallQueueConfiguration component
- TT#47988, Implement highlighting of CallQueueConfiguration item upon
route change
- TT#47989, Implement "scroll to item" capability in
CallQueueConfiguration component
- TT#48594, Extend Seats/Groups list logic to also fetch call queue
preferences
Change-Id: I31797e12889d1c5bd32b330550cec04e67edee93
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
What has been done:
- TT#47389, CallQueueConfig: As a PBXAdmin, I want to change the queue
length of a CallQueueConfiguration
- TT#47390, CallQueueConfig: As a PBXAdmin, I want to change the wrap
up time of a CallQueueConfiguration
Change-Id: I29e585c90d974e7294302d22b6e1a7a254caf8ef
What has been done:
- TT#47830, Implement validation for CallQueueConfiguration creation form
- TT#47829, Implement UI for creation of new CallQueueConfiguration item
- TT#47828, Create API method for adding a new CallQueueConfiguration item
- TT#47831, Implement state handling for CallQueueConfiguration creation of
item
Change-Id: Ie9832f9cfa18329a81aa65b588f2752c7c6cfb3a
What has been done:
- TT#47384, CallQueueConfig: As a PBXAdmin, I want to have a separate
page to be able to manage CallQueueConfigurations
- TT#47385, CallQueueConfig: As a PBXAdmin, I want to see a list of all
active CallQueueConfigurations
Change-Id: I6ed9b1ee4a1a8518b8124a4dc22fac1988b0bc11
What is done:
- TT#45397, Implement greeting sound player methods and state handling
- TT#45389, Implement UI for playing "busy greeting sound", stop/play/pause
- TT#45390, Implement API method for fetching the playable "busy greeting sound"
- TT#45385, Implement API method for fetching the playable "unavailable greeting
sound"
- TT#45384, Implement UI for playing "unavailable greeting sound",
stop/play/pause
- TT#45398, Implement greeting sound player methods and state handling
Change-Id: I866bda3931c67cc79ad34d4be9e784f0705c221e