* 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
* 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
* revert this
* Revert "revert this"
This reverts commit b30c9c9c8d.
* Update base and ring group on group update
* Update ring and base group only if the group title was changed
* Add translations keys
Use string template instead of simple strings
Add new function for patch update
* Refactor patch update
* Improve group update
* Restructure feature popup header to handle string of different lengths
* Apply new feature popup header structure to call recording
* Apply new feature popup header structure to caller ID
* Apply new feature popup header structure to conferencing
* Apply new feature popup header structure to do not disturbe
* Apply new feature popup header structure to faxbox
* Apply new feature popup header structure to Find Me Follow Me
* Apply new feature popup header structure to Hotdesking
* Apply new feature popup header structure to Music On Hold
* Apply new feature popup header structure to Voicemail to Email
* Clean up remaining feature popup specific styling
* Apply new feature popup header structure to groups features
* Conditionally show the buy numbers action for groups
* Conditionally show the buy numbers action for users
* Conditionally show the buy numbers action for strategy
* Move sub-module templates in their own `views` folder
By using `getTemplate()` we can specify which sub-module a template is
related to, enabling this behavior.
The templates names were shortened by stripping the name of their
sub-module from it since they are stored under their sub-module folder.
String templates are created using `getTemplate()` instead of
`monster.template()` that we are trying to depreciate.
* Only use `getTemplate()` for both regular and string templates
When creating groups on SmartPBX, the app automatically generates
baseGroup/userGroup callflows depending on which users are part of the
group. On the other end, the Callflows app only creates a group without
any callflow.
Since SmartPBX is listing all groups, an error was raised when trying to
view the details of group created through the Callflows app since an
associated callflow does not exist.