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
- TT#45658 NuCall: As a Customer, I want to be able to initiate a call from the start page
- TT#45662 NuCall: As a Customer, I want to see the initiating call state
- TT#45669 NuCall: As a Customer, I want to see the call in ringing mode on caller side
- TT#45659 NuCall: As a Customer, I want to be able to see an incoming call
- TT#45660 NuCall: As a Customer, I want to be able to see established call
- TT#45665 NuCall: As a Customer, I want to be able see the call minimised after leaving the start page
Change-Id: I0c46359e5668cee9ef6313c5e3fe49cccc3d66ee
What has been done:
- TT#44664, Voicebox: As a Customer, I want to upload a custom
"unavailable" greeting sound
- TT#44665, Voicebox: As a Customer, I want to delete/reset the custom
"unavailable" greeting sound
Change-Id: Ifd266e0af78a6844135a8bd024998b70789efe5e
What has been done:
- TT#44661 Voicebox: As a Customer, I want to upload a custom "busy"
greeting sound
- TT#44663, Voicebox: As a Customer, I want to delete/reset the custom
"busy" greeting sound
- Refactoring of CscVoiceMailPlayer to more generic CscAudioPlayer
Change-Id: I24f9d607b9d1acece56cd47c0bd8c99d125d45b4
What has been done:
- TT#40083, Voicebox: As a Customer, I want to configure voicebox
settings
- TT#44658, Voicebox: As a Customer, I want to change the E-Mail-Address
- TT#44657, Voicebox: As a Customer, I want to change the PIN
- TT#40083, Voicebox: As a Customer, I want to enable/disable deletion
of voicemail after mail delivery
Change-Id: Ic11973de74e3a3e3d2da320a267182a051fa1571
What has been done:
- TT#43261, Implement API method for sending fax attachment
- TT#43260, Extend form to also include attachment selection
- TT#43262, Implement method and state handling for attachment selection
field
- TT#43263, Implement UI flow for sending content or attachment, or both
if possible
Change-Id: I09b20005c1647f9773f9c7dcb2f141f8c9420d5b
What has been done:
- TT#44401, Implement back-to-top button
- TT#44402, Implement scroll-to-top when user clicks new tab
- TT#44403, Implement sticky tabs navigation
Change-Id: I46f23dc67466eb7a4fdec98d9030dc2fb193214c
What has been done:
- TT#43257, Bind validation functions to the input fields
- TT#43256, Provide proper error messages and put these in the
translation file
Change-Id: I3b8d9c7b627fab960fc5491b0bb8aa9266f6bc73
What has been done:
- TT#42759, Implement API method for toggling of enable/disable own number
- TT#42763, Implement state handling for toggle button and timeout
- TT#42766, Extend unit tests to also account for cft destinations
- TT#42755, Extend API method to also render cft destinations
- TT#42761, Implement UI for toggle button
- TT#42760, Implement API methods for fetching, updating and resetting
cft_timeout
- TT#43163, Implement UI for timeout input field with reset/save
- TT#42764, Implement success toast and error handling for toggle action
- TT#42765, Implement success toast and error handling for timeout input
Change-Id: I0ce37bbe14caacadb822f14d01782009633c4354
What has been done:
- TT#40529, Implement API method for assigning a destination to a specific speed dial slot
- TT#40630, Implement API method for fetching available slots
- TT#40530, Implement reload of list after new assignment has been created successfully
- TT#40527, Implement UI form and buttons (destination input field, slot selection field, and add button)
- TT#40528, Implement custom phone number input field with automated formatting
- TT#40531, Implement toast for successfully assigned destination
- TT#40538, Implement unit test for creation of selections options for speed dial slot selection
Change-Id: Ibe4937a097be0a89e677916a189a0e3fe62826df
What has been done:
- TT#40522, Investigate and discover necessary API endpoints
- TT#40523, Implement speed dial page, navigation menu entry and home
page box
- TT#40525, Implement UI display for list of speed dials
- TT#40524, Implement API method for fetching speed dial slots 0-9
- TT#40526, Implement loading animation and error alert
- TT#41016, Implement test API speed dial method
Change-Id: I0b6fc4dab08913948bb8acf9c136bd56fe89da01
What has been done:
- TT#39821, [Issue] Call: Vuex dev error appears when caller ends call
- TT#39926, [Issue] CallForwarding: Form for adding a source results in
- TT#40501, [Issue] Global: Vue-warn dev error regarding use of Dialog
as component id
- TT#39925, [Issue] CallForwarding: TypeError errors appear when deleting
sourceset vue-warn prop error
- TT#40517, [Issue] CallForwarding: Readonly not working for q-datetime
Change-Id: Ie1ad1c4ce094f070f8fd24fa35fa2f9024f1c3a3
Fixes Safari issue. Does not fix the "chrome browserstack issue",
which turned out to be a timezone/systemtime issue and occured
because the browserstack session had different timezone.
Propose to tackle timezone/systemtime handling in separate story.
Change-Id: I892b888b929df21de04bf06626c3d404c34375e3
What has been done:
TT#38957 Implement UI for the tab navigation
TT#38958 Implement filtering method
TT#38959 Implement update list method/incorporate existing reloadItems method
Change-Id: Ib606c25082c02b606c571cb033eb4f4a96f45eb6
What has been done:
- TT#39817, [Issue] CallForwarding: "Number destinations" that contain
non-number chars are not rendered
- TT#39819, [Issue] CallForwarding: Terminated destinations tooltip have
wrong meaning
Change-Id: I3ba55f367012f0deb82c5e9d6fef8c1d1b800335
What has been done:
- TT#39012, Ensure scroll to top behavior after list is reloaded
- TT#38962, Implement callState watcher that dispatches action when call
has ended
- TT#39046, Implement dedicated reload action with retry mechanism
- TT#38961, Implement dedicated reload mutation with call item handling
- TT#39150, Fix existing test and create new one
Change-Id: I8316de60be890c9236e5eda13a9acfe59586e7dd
What has been done:
- TT#37664, Extend field to also have write ability and save/reset
functionality
- TT#37668, Implement loading animation
- TT#37666, Implement success toast
- TT#38006, Implement error message alert
Change-Id: I0801077859091b3a3b183c1b0150215a47d45b2a
What has been done:
- TT#37670, Implement field for model selection with "apply filter on
select" handling
- TT#37673, Implement API method with filtering by query parameter
- TT#37654, Implement reset button with reset functionality
- TT#37675, Implement UI labels
Change-Id: I051f9a57fc3393ec6555ab12bc0a2f50e9457b46
- Implement api method to change the type
- Implement overlay containing key details
- Implement store actions/mutations/getters
- Implement api method to assign a PBXGroup/PBXSeat to a specific key
- Implement component methods in CscPbxDeviceConfig to assign PBXGroup/PBXSeat
Change-Id: I883809abba0e9848f09e59e0332b0659c2fadca7
What has been done:
- TT#37310, Fix infinite scroll component update mechanism
- TT#37313, Implement update of infinite scroll on call ended event
Change-Id: Ib3ffd236d64a7948252a4d2e220fe7e50965977f
What has been done:
- TT#36185, CallForward: Implement api layer methods, plus corresponding
store actions and mutations
- TT#36191, CallForward: Implement UI deletion icon and method, plus
confirmation dialog component
- TT#36193, CallForward: Implement success toast, error handling and
loading animation
Change-Id: I4ac5136e4565448bd0ccaa3da924868a1c57d66f
What has been done:
- TT#36196, CallForward: Implement UI delete button and method for
removing sourceset, plus confirmation dialog component
- TT#36184, CallForward: Implement api layer methods, plus corresponding
store actions and mutations
- TT#36197, CallForward: Implement success toast, error handling, remove
dialog and loading animation
Change-Id: I75fd94f9d83bcb28b111c206d5b686f70fe5ddb4
What has been done:
- TT#36187, Create a custom UI form component
- TT#36190, Implement success toast, error handling and loading
animation
- TT#36183, Implement api layer methods, plus corresponding store
actions and mutations
Change-Id: Icb31af6456fafeb98ac4a7ca16f1fb83ce79d0a4
What has been done:
- TT#35420, CallForwarding: Implement the UI for sourceset tabs
- TT#35421, CallForwarding: Implement the UI for listing of sources
- TT#35422, CallForwarding: Implement API methods
- TT#35423, CallForwarding: For sources list, implement component
methods/computations and store mutations/actions
- TT#35433, CallForwarding: For sourceset tabs, implement component
methods/computations and store mutations/actions
Change-Id: I0747c45778a9db068f77422f316eb7522e3cb14c
Error 301 Moved Permanently, usually browsers redirect the request
automatically to the new location, which wasn't the case with Safari
Change-Id: I3eb42750cc58d6a8ca6d512c9121e6d48f981b61
- PBXConfig: As a Customer, I want to navigate through the list of devices by using a pagination mechanism
- PBXConfig: As a Customer, I want to navigate through the list of seats by using a pagination mechanism
Change-Id: I15393d01a3f50eeafcc300ef27ad2769c6f1dc1a
What has been done:
- TT#34863, Global: Implement vuex store actions, mutations and getters
- TT#34864, Global: Implement vue components
- TT#34862, Global: Implement api requests
Change-Id: Ib547cc125271222d005ca131113086739ae3220f
What has been done:
- TT#31802, CallForwarding: As a Customer, I want to see a list of
AfterHours
- TT#28061, CallForwarding: As a Customer, I want to add After Hours
- TT#31804, CallForwarding: As a Customer, I want to remove After Hours
Change-Id: I95c8c59eeed61f1c2efc5564125ccd2a74adc514
What has been done:
- TT#34559, Conversations: Implement error handling
- TT#34558, Conversations: Implement store action
- TT#34557, Conversations: Implement the download button
in the vue component CscConversation
- TT#34550, Conversations: Implement download method in
api layer
Change-Id: I10ea9b084b4f5a4fc8e1c9d22a0554e66fcdac84
What has been done:
- TT#32500, CallForwarding: Implement UI elements and flow
- TT#31806, CallForwarding: Implement api requests
- TT#32501, CallForwarding: Implement store and state management
Change-Id: I7ba7c2b5115f10480db4f560e39ffa43205c92af