* Added support for user timezones and user browser timezone byt default
* Formatting fixes
* Use the timezone for alert log display
also added validation for the timezone because it's being used in SQL.
* Formatting fixes
* Added return type
* Formatting"
* Update the latency graphs to use the user timezone
* Simplify the web routes config
* Update phpstan to ignore type error
* Fixed up the phpstan config
* Reverse phpstan change
* Re-apply phpstan override
* Remove the option to unset the session timezone
* Formatting fix
* Update outge and event logs to use session timezone
* Fix route for the timezone control
* Made the timezone more dynamic
* Fix a logic error that was stopping the timezone from being set automatically on login
* Prevent getPref from being called twice
* again prevent getPref double call
* getPref double call
* Fixed typo made during merge
* Fixed merge error in phpstan-baseline.neon
* Change spaces to tabs in phpstan-baseline.neon
* Update error count
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Convert the inventory page to Laravel
Fix several XSS issues (hopefully no new ones snuck in)
Small improvement to the SelectController to allow filtering by filterFields()
* style fixes
* Fix lint issues
* Fix part device filter
* Move `resources/lang` folder
* Shift registered middleware
* Remove `fruitcake/laravel-cors` dependency
* Streamline `$commands` property
* Upgrade to Flysystem 3.0
* Shift core files
* Convert `optional()` to nullsafe operator
* Remove unnecessary `$model` property
* Convert route options to fluent methods
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
* Convert deprecated `$dates` property to `$casts`
* Shift config files
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
* Bump Laravel dependencies
* Use `<env>` tags for configuration
`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.
Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/
* Fix error provider
* Match new symfony syntax
* Match upstream syntax
* Fix route syntax
* generate composer.lock
* Sync back configs
* routes
* composer
* Fix more flare
* fix cors
* sync lang
* Apply fixes from StyleCI (#14517)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* bump larastan
* update packages
* wip
* Temporarily lower phpstan level
* Update phpstan.neon
* wip
* wip
* wip
* Apply fixes from StyleCI (#14592)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update CiHelper.php
* Apply fixes from StyleCI (#14616)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test?
* fix phpstan problems
* dont run snmpsim on github ci
* Fix whitespace
* More whitespace
* More whitespace ???
* I think the space broke it
* fix the reset of the whitespace
* hard code auth guard
---------
Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* inital commit of a new syslog sink over http
* cosmetics
* cosmetics fix...
* cosmetic fix again
* cosmetics fix again
* its nice now...
* add non blocking option
* Syslog Sink integrated as API PUT method
* lint fix
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* change to POST, fix decoding issue and json exception
* logstash/json documentation added. syslog documentation a bit re-structured
* lint fix
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* More secure external graph access
Add @signedGraphTag() and @signedGraphUrl() blade directives
Takes either an array of graph variables or a url to a graph
Uses a signed url that is accessible without user login, embeds signature in url to authenticate access
See Laravel Signed Url for more details.
Adds Laravel route to graphs (does not change links to use it yet)
@graphImage requires the other PR
Also APP_URL is required in .env
* missing files from rebase
* Fix url parsing with a get string
* allow width and height to be omitted
* Documentation
* Add to, otherwise it will always be now
* Doc note for to and from relative security
* fix vars.inc.php (Laravel has a dummy url here)
* Automatic fixes for validations
* webui
* lint fixes
* Fix an install issue with ConfigSeeder requesting cli input in web page.
* Do not use c_echo in validate.php print_fail()
* Dashboard Cleanup
Remove static widgets table, list of available widgets should not be in the database.
Remove legacy ajax scripts
Cleanup and reorganize controllers
* reorganize code to put all dashboard things into it's controller
better url scheme while supporting the original
* lint clean ups
* properly formatted language file
* style fixes
* update schema
* Add support to REST API for creating Maintenance Schedules for Device Groups
* Update documentation to include the maintenance_devicegroup API endpoint
* Fix quotes
* Fix whitespace
Co-authored-by: Tony Murray <murraytony@gmail.com>
* show all Device Types in Location Overview
* .
* .
* .
* get device types from config_definition
* reduce column to present device types
* .
* fixes
* .
* show/hide columns, even device types which are not present
* only show top n used device groups
* .
* .
* .
* Device Type Widget
* .
* .
* linter fix
* Update DeviceTypeController.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Revamp validate web page
to load page then validate, instead of validate then load page
* style fixes
* lint cleanups
* fixes
* translations and a couple fixes
* style fixes
* move result serialization into the class.
* New device:add code
pre-requisite for updating other code paths
includes option to set display name
separate validation code from device creation
* remove duplicate community and v3 creds
* style fixes
* some lint fixes
* fix phpstan
* Exception cleanup
improved messages and translations
* port association mode to enum
well, pseudo enum
* defaults and cleanups
* fixed/improved validation messages
* fix tests
* fix stupid ide refactor mistake
* lint fixes
* Implement OAuth and SAML2 support via Socialite
* Add socialite docs
* fixes
* Additional information added
* wip
* 22.3.0 targeted version
* Allow mysql auth as long as there is a password saved
Co-authored-by: laf <gh+n@laf.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Moved plugin admin pages to be within admin route
* Wrap html transports page in admin check
* Moved Port group controller to be admin protected
* fixed tests
* STP module rewrite WIP
* Finish rewrite
* Ignore disabled and log root/topology changes
* Remove interfaces for now
* fix style
* Lint fixes
* Document ResolvesPortIds and hide map functions
* whitespace fixes
* Revert to stpInstances in case someone writes mstp support
* missed one
* phpstan fixes
* Handle table and oids separately
* forgot to register observer
* Test data and correct non-table handling in SnmpResponse->table()
* update test
* test data
* revert aos7 silly things
* minimal polling
* Update test data
* order ports_ntp and rename new field to port_index
* forgot the db_schema
* revert ciena-sds port things
* MSTP support, maybe
* Adding test data
* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data
* fresh data
* add os data
* update data, ignore unfound ports, obviously bad device implementation.
* fixes
* Ignore context files in os detection test
* Remove empty table data
* add ciena-sds vlan
* designatedCost column is too small
* Update stp webui
* Refactor code to interfaces, to allow vendor mibs
* update schema
* fix issues added by abstraction
* STP fixes
* Default to no context for vlan 1
* never store vlan 1
* Update test data
* remove eltex brokenness
* fix style
* fix stan
* Fix Rewrite MAC to Hex padding with floats
* fix sqlite migration
* Global search: search device display
Add display field to search (also port_desc_descr, portName, and bgpPeerDescr)
Rewrite backend
update typeahead bundle
update devices and ports indexes
reduce some port field sizes so we can index them
* Style fixes
* remove nonsense
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Catch exceptions in device ip lookup
* Revert accidental snmp.inc.php poller target change
(should have been ?: not ??)
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* use Blade view and Eloquent models for plugins
* move views
* fix style
* fix style
* revert mistake
* Update Plugin.php
delete test property "name"
* rename plugin function to settings
* last but not least - rename in Test.php
* Rename Test to Example
* fix typo
* fix style
* fix style
* fix style
* fix style - I hate tabs...
* Extract view calls
* fix method calls and style
* Move Models the the abstract class
* fix style
* Convert to traits
* Change the Example description
* Fix style
* Fix style
* Fix style
* Convert plugin function to Model static methods and delete .inc.php
* fix style
* fix style
* Use scope
* final methods blows up legacy code
* Config > \LibreNMS\Config
* convert the static string to a static method
* Correct placement in the page
* fix tabs
* fix style
* Rename from tait to hook
to make it easier to understand and be complient
* rename file
* Typo
* Started to change the docu
* change to a more usefully Device_Overview example
* and activate of course
* PluginManager
* fix .gitignore
* only php files in the root folder
* corrected .gitignore with all files :)
* Rename the Hooks and ExampleClass for better readability
* Fix style
* Fix style
* Exception handling (especially if DB is not present)
* Fix style and update schema
* fix indentation
* actually correct indent
* fix migration collation check include utf8mb4_bin
* stop phpstan whining
* A view lines documentation
* add typeHints
* Allow return null on handle
* lint
* fix return types
* fix logic of column collation check
* Fix MenuEntryHook
* switch to longtext instead of json type for now :D
* try phpstan on PHP 7.3
* set phpstan target version to 7.3
* all the typehints
* optional
* more
* Use namespace to prevent view collisions
disambiguate plugin and hook
no magic guessing of names in PluginManager, bad assumptions
remove unused plugins from the DB
* cleanup plugin menu
* cleanup on shutdown and ignore but log query error on cleanup
* instanceof must be called against an instance
* Allow multiple hooks per plugin
* Port plugin ui code to Laravel
* page instead of settings for v1 plugins
* actually working settings pages
a little url cleanup plugin/admin -> plugin/settings
* fix style
* Add page hook
* PHPstan
* Try to fix Illuminate\Http\RedirectResponse
* typehint
* Rewrite the doc
* Fix style
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* DB Field specific Port Search
* .
* seperate function for API Call
* second parameter now optional
* code adjustments
* Update api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Dynamic Select setting
embeds select2 and uses ajax to call to backend for options
poller-group included
* fix validation a bit
* fix typehint
* move minProperties into the select schema
* Change dashboard-select to select-dynamic
Love deleting code
* Change dashboard-select to select-dynamic
Love deleting code
wire up a few select2 options
* fix whitespace
* Not a model, just an object
* Suggestion from @SourceDoctor autocomplete values of select and select-dynamic
Got a little creative with InternalHttpRequest...
* Adding API route to set bgpPeerDescr field
* Fixing CI test
* Fixing CI test part 2
* Adding validation of bgpPeerId as integer and changing SQL request with question mark syntax.
* Fixing CI test
* Following murrant's advices to protect against SQL injection
* Use built in json function
Co-authored-by: Tony Murray <murraytony@gmail.com>
* API find a switchport with the mac from device
* fix style
* convert SQL to Eloquent
* convert SQL to Eloquent
* git mistake
* Global use App\Models\Port
* git mistake partII
* Refractor Eloquent - Not finish but easier to help for others
* Better Eloquent Query without filter option
* Validation
* fix style
* Add filter option and DOC
* convert to the better macToHex method
* add a maxToHex unit test
* fix style
* fix style
* fix syle - seems my dev:check is running again :-)
* Fix phpStan
* phpStan #2
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.
* the on boot set sends application as the first parameter, just handle that
* Relocate other debug related functions
* Log debug to stdout
* Wrong output
* remove stupid constants
* Fix lint and style issues
* Define Port Groups
* .
* .
* .
* API Calls
* .
* .
* .
* minor changes
* .
* update forms
* remove link
* .
* change column settings
* change migration
* change update position
* db migration fix
* .
* .
* .
* add missing doc reference
* update test data
* update test data
* update test data
* .
* .
* .
* .
* .
* .
* .
* .
* port group association in seperate table
* .
* .
* show all found groups on port
* select multiple Portgroups per Port
* change on migration file
* change query to eloquent
* Code changes
* move port group menu to ports main menu
* port group update to eloquent
* .
* .
* update to new setting way
* add missing merge parameter
* Use select2 and port some things to Laravel
some fixes, hopefully no new added bugs
* schema
* don't use on update restrict unfortunately
* remove unused import and revert changes
Co-authored-by: Tony Murray <murraytony@gmail.com>
* service templates - move to blade - jellyfrog fixes - revert get to find and fix discovery lookup
* service templates - move to blade - wip
* service templates - move to blade - wip
* service templates - move to blade - deprecate delete_service_template
* service templates - move to blade - deprecate delete_service_template
* service templates - move to blade - deprecate remove_service_template
* service templates - move to blade - deprecate remove_service_template
* service templates - move to blade - fix permisson lookup
* service templates - move to blade - fix remove route
* service templates - move to blade - fix remove route
* service templates - move to blade - fix permisson lookup
* service templates - move to blade - fix permisson lookup
* service templates - move to blade - fix permisson lookup
* service templates - move to blade - fix permisson lookup
* service templates - move to blade - fixs
* service templates - move to blade - fixes
* service templates - move to blade - fixes
* service templates - move to blade - fixes
* service templates - move to blade - nullable input?
* service templates - move to blade - nullable input?
* service templates - move to blade - nullable input?
* service templates - move to blade - add selected for device group id and type
* service templates - move to blade - add selected for device group id and type
* service templates - move to blade - add selected for device group id and type
* service templates - move to blade - fix discovery response
* service templates - move to blade - fix device group index display
* service templates - move to blade - add delete to discover_service_template
* service templates - move to blade - add discover all button - function foobar
* service templates - move to blade - add discover all button - function foobar
* service templates - move to blade - add discover all button - function foobar
* service templates - move to blade - fixes
* service templates - move to blade - fixes
* service templates - move to blade - fixes
* service templates - move to blade - button fixes
* service templates - move to blade - button fixes
* service templates - move to blade - button fixes
* service templates - move to blade - attempt route fix
* service templates - move to blade - attempt route fix
* service templates - move to blade - attempt route fix
* service templates - move to blade - attempt route fix
* service templates - move to blade - fix discovery function
* service templates - move to blade - fix discovery function
* service templates - move to blade - fix return values - thanks SourceDoctor
* service templates - move to blade - attempt route fix
* service templates - move to blade - button variable fix
* service templates - move to blade - button variable fix
* service templates - move to blade - button variable fix
* service templates - move to blade - function fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - move to blade - permissions fix
* service templates - add initial api - and model permissions fix
* service templates - add initial api - discovery too
* service templates - add initial api - discovery too
* service templates - merge fix
* service templates - api fixes
* service templates - api fixes
* service templates - remove bad fixe
* service templates - discover null? :)
* service templates - Policy requires Facade?
* service templates - Policy requires Facade?
* service templates - REVERT Policy requires Facade?
* service templates - REVERT Policy requires Facade?
* Revert "service templates - REVERT Policy requires Facade?"
This reverts commit 7752b3e4e5.
* service templates - clean up discover api call
* service templates - clean up discover api call
* service templates - clean up discover api call
* service templates - clean up discover api call
* service templates - clean up discover api call
* service templates - attempt route fix
* Revert "service templates - attempt route fix"
This reverts commit b48970351e.
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template
* service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template
* Revert "service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template"
This reverts commit ef93315db5.
* Revert "service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template"
This reverts commit 73af819a60.
* Revert "service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template"
This reverts commit dd019c3105.
* Revert "service templates - jellyfrog fixes - dbchanged - DeviceGroup relates to Service Template"
This reverts commit 94aaaf7976.
* service templates - jellyfrog fixes - DeviceGroup relates to Service Template
* service templates - fix permissions
* service templates - db service_templates_perms
* service templates - fix permissions
* service templates - fix permissions
* service templates - fix permissions
* service templates - fix permissions
* service templates - fix permissions
* service templates - fix edit.blade missing parameters - still 403 :(
* service templates - jellyfrog -fix route and construct
* service templates - jellyfrog -fix route and construct
* service templates - jellyfrog -fix route and construct
* Revert "service templates - jellyfrog -fix route and construct"
This reverts commit ec1eea7a99.
* service templates - jellyfrog -fix routes
* service templates - jellyfrog -fix services lookup
* service templates - edit blade fixes
* service templates - edit blade fixes - service or services or template or serviceTemplate or service_template good luck
* service templates - edit blade fixes
* service templates - index blade fixes
* service templates - discover return fix
* service templates - remove return fix
* service templates - fix discovery api returns
* service templates - fix discovery api returns
* service templates - fix discovery api returns
* service templates - fix discovery - test
* service templates - fix discovery
* service templates - fix checkbox integer
* service templates - fix checkbox integer
* service templates - fix checkbox integer
* service templates - fix checkbox integer
* service templates - fix checkbox integer
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover all
* service templates - fix discover
* service templates - fix discover
* service templates - fix discover
* service templates - fix discover
* service templates - fix discover
* service templates - move discover/apply to blade - last of the old functions - wip
* service templates - move discover/apply to blade - last of the old functions - wip
* service templates - move discover/apply to blade - last of the old functions - wip
* service templates - change all relevant to template for sanity
* service templates - inspection fixes
* service templates - inspection fixes
* service templates - inspection fixes
* service templates - murrant fixes - use createOrUpdate - add obervers - fix function call
* service templates - murrant fixes - add ServiceController store - not used
* service templates - murrant fixes - add Observers file)
* service templates - murrant fixes - correct ServiceController
* service templates - murrant fixes - fix observers load
* service templates - observer fix
* service templates - schedule discovery function call fix, cheeky, is this allowed?
* service templates - attempt route fix.
* service templates - attempt route fix 2
* service templates - blade route applyall missing url - ie the route lol
* service templates - blade route applyall missing url - ie the route lol
* service templates - fix routes - bingo!
* service templates - fix routes - bingo!
* service templates - fix blade missing quote
* service templates - jellyfrog fix - remove pluck
* service templates - missing template id on service update
* service templates - jellyfrog fix - add get
* service templates - fix service db defaults / null
* service templates - fix service update
* service templates - fix service update
* service templates - fix service update
* service templates - fix service devicegroup change - obsoletes service_template_change in servicesdb
* service templates - fix service devicegroup change - obsoletes service_template_change in servicesdb
* Add service templates - phpcs fixes - and attemp whereNotIn scope
* Add service templates - styleci
* Add service templates - styleci
* Add service templates - fix notindevicegroup scope
* Add service templates - removed service service_template_changed - not required for delete or update
* Add service templates - removed service service_template_changed - not required for delete or update
* Add service templates - murrant fixes - add protected casts - fix checkbox
* Add service templates - fix checkbox - attempt2
* Add service templates - fix checkbox - attempt3
* Add service templates - fix checkbox - attempt3
* Add service templates - fix checkbox - attempt4
* Add service templates - fix delete row selection
* Revert "Add service templates - fix delete row selection"
This reverts commit 4d9e4990f2.
* Add service templates - fix delete row selection
* Add service templates - fix automatic discovery
* Add service templates - fix automatic discovery
* Add service templates - checkbox - add hidden input
* Add service templates - checkbox - add old value back?
* Add service templates - checkbox - fix disabled
* Add service templates - checkbox - fix disabled
* Add service templates - service fixes - styleci
* Add service templates - make devicegroup required
* Add service templates - let Disable text wrap
* Add service templates - dont allow device group to be deleted when service templates exist
* Add service templates - dont allow device group to be deleted when service templates exist
* Add service templates - enable multiple device groups - wip
* Add service templates - enable multiple device groups - wip
* Add service templates - enable multiple device groups - wip
* Add service templates - enable multiple device groups - dbschema - wip
* Add service templates - enable multiple device groups - db migration - wip
* Add service templates - enable multiple device groups - db migration - wip
* Add service templates - enable multiple device groups - wip
* Add service templates - enable multiple device groups - wip
* Add service templates - enable service template Groups - relationships to device AND device groups
* Add service templates - styleci fixes
* Add service templates - styleci fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - fixes
* Add service templates - db - primarykey issues
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fix migrations
* Add service templates - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - blade view - fixes
* Add service templates - misc update for travis build trigger
* Add service templates - restrict view to only show device/groups that have templates applied
* Add service templates - fix devicegroup update
* remove permissions table stuff
* Fix schema rollback
* fix style
* Update ServiceTemplateController.php
Co-authored-by: Tony Murray <murraytony@gmail.com>