Customized call recording should be enable-able without using an external URL.
Call recording witout specifying an upload URL will use the default storage method.
- Removed requirement of 'url' parameter on the customized call recording form.
- Check URL input on form, and don't process it if it is empty.
* Stop overriding provison key for all devices
During formatting from device document to UI template, the `provision`
key was overriden regardless of the device's provisionability.
This triggered a UX bug when adding SUP devices with unknown
brand/model, as it prompted end-users to specify a MAC address
eventhough the device couldn't be provisioned.
Upon creating the device, kazoo would make a request to the provisioning
service, which would subsequently fail because of the missing
provisioning information.
* Remove mergedDevice step
* Drop dead code
This legacy code used to list spare numbers along assigned numbers, task
that is now taken care of by numbers' common control spare dialog
selector.
* Fix group buy-in numbers insertion target
* Refactor user's device assignment logic
* Extract device assignment logic into app methods
* Move device retrieval into control flow
* Move un\assign logic into control flow
* Extract mobile callflow update into own function
* Patch device owner_id instead of full update
* Move mobile callflow id retrieval to control flow
* Patch callflow to avoid having to retrieve it first
* Consolidate un\assignment logic
* Migrate single-used app methods into closure
* Extract mobile callflow update logic into app method
* Run device patch and mobile callflow update in parallel
* Move back device assignment logic to users module
* Consolidate mobile callflow update w/ user callfow fetching logic
* Update linked callflow on mobile device un\assignment
* Refactor entities update logic on device un\assignment
* Extract device data merging to own variable
* Make existing settings take precedence over defaults
Using lodash#mergeWith to take into account the fact that we are merging
down existing settings into defualts, in which case, when evaluated
values are arrays, the former should take precedence over the latter and
is then "assigned" rather than "merge".
* Assign overrides over existing settings to replace vs merge
* Restructure feature code recovery logic
* Refactor feature code recovery logic
Generically recover feature code with incorrect entries
(patterns/numbers).
We delete malformed feature codes to mitigate the use case of feature
codes wrongly configured with entries matching another feature code,
making it impossible to patch (duplicate entries error).
* Refactor createCallflow to handle errors
* MSPB-60: Disable skip_instructions if announce_only is checked
* Do not change the value of 'skip_instructions' on the voicemail object if announce_only is checked
* Update German translation
* Refactor key actions generation
* Refactor key entries structure
While key entries is provided as an object where the key corresponds to
the entrie's number, this complexity does not have to make it to the
template.
We already fill up empty entries by generating an array of key entries
length, hence no need to switch back to an object structure.
* Render combo keys count by section title
* Add save and apply button in edit device form
* Use single button with dropup in edit device actions
* Do not show dropup when the device edited is not privisionable
* Show droup button just if the edited device is register
* Fix group sorting by name
* Pass down ring groups to be selected in next action feature
* Expose ring group selection in template
* Set selected entity with helper rather than manually
* Extract template data formatting into own function
* Clean up next action feature data formatter
- generate categories in logic rather than template
- sort categories/entities alphabetically
- don't render empty categories