* 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>
* Use model::class instead of string for binding
Originally from laravel shift
Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift cleanup
* Device group based access
* Use Permissions class to resolve permissions
Also give port access based on device access
* Convert more pages to use Permissions class
* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json
* Change Models and Permissions
* Clean up ajax_search LIMIT sql
* Convert more pages to use Permissions class
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support
* cleanup, make relationship save, and validate it
* builder WIP
* rules builder and rules saving/loading
* Parse query builder to Laravel Fluent query
* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.
* remove unused old code
Update API and other places to use Eloquent
* debug output in poller restored
* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling
* hide pattern for static group
* Implement authorization
Use in the menu too
* update schema
* fix rollback
* Don't abort on invalid queries
* fixes to query builder
* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)
* Add macro support for QueryBuilderFluentParser
* add test for macro that accepts value
* More space in forms
Retain rules when converted to static
no duplicate names allowed
* Better error feedback
Update related devices on save
* Add button icon
* format
* update docs
* fix tests
* Fix some QueryBuilderFluentParser issues with OR
updated/more test data
* Show device groups runtime
fix querybuilder.json format
* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)
* Update daily.php
* Add units to time
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support
* cleanup, make relationship save, and validate it
* builder WIP
* rules builder and rules saving/loading
* Parse query builder to Laravel Fluent query
* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.
* remove unused old code
Update API and other places to use Eloquent
* debug output in poller restored
* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling
* hide pattern for static group
* Implement authorization
Use in the menu too
* update schema
* fix rollback
* Don't abort on invalid queries
* fixes to query builder
* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)
* Add macro support for QueryBuilderFluentParser
* add test for macro that accepts value
* More space in forms
Retain rules when converted to static
no duplicate names allowed
* Better error feedback
Update related devices on save
* Add button icon
* format
* update docs
* fix tests
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* Fix db config not being merged...
* skip env check for tests
* defer database operations until after Laravel is booted.
* don't include dbFaciale...
* redundant use
* Reorganize trap tests
* Testing db DRIVER to prevent .env from interfering
* New code to detect if Laravel is booted. Hopefully more reliable.
* WIP external test process
* revert module test helper
* Use .env in Eloquent::boot()
* Fix test database settings loading
* fix undefined classes
(didn't find the one I needed)
* Fix incorrect Config usages
And RrdDefinition return type
* fix .env loading
* use the right DB
* slightly more accurate isConnected
* Move db_name to DBSetupTest specifically
* restore $_SERVER in AuthSSOTest
* missed item
* WIP
* tear down in the correct order.
* some testing cleanups
* remove check for duplicate event listener, it's not working right
* Don't need this change anymore
* Implement Log::event to replace legacy function log_event()
* fix port tests
* fix up tests
* remove pointless TrapTestCase class
* fix style
* add AlertSchedule model and relationships
change table structure to match the expected layout
* Update maint schedule map ui
* better index name
* Laravel queries
fix some issues with the ui: restricting start incorrectly and loading empty days error
* handle date limiting properly
* Another attempt add schedule constraints
* use Auth
* Update WorldMap widget to use check isUnderMaintenance
* Rename 275.sql to 276.sql
* Rename 276.sql to 277.sql
Implemented in Laravel
Doesn't use legacy PHP session
Several widgets have new features and settings, for example:
- Multiple ports in one graph
- Maps settings are configurable and override system settings but default to system settings
- Graylog stream and/or device selection
- Much improved graph widget selection
- Many more
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
* Add Laravel to LibreNMS.
* Try to set permissions during initial install and first composer update to Laravel.
* Fix composer.lock
Fix missing db config keys
* Start building v1 layout
Port ajax_setresolution, inject csrf into jquery ajax calls
Layout works, building menu
Partially done.
* Fix device group list
remove stupid count relationships
* Print messages for common boot errors.
Don't log to laravel.log file.
Log to error_log until booted, then librenms.log
* Fix up some issues with Config loading
Start of custom directives
* Custom blade directives: config, notconfig, admin
* Preflight checks
Only load config files once.
* Update the composer.lock for php 5.6
* Menu through routing
* Start of alert menu
* Better alert scopes
* reduce cruft in models
* Alerting menu more or less working :D
* Fix style
* Improved preflight
* Fix chicken-eggs!
* Remove examples
* Better alert_rule status queries
Debugbar
* fix app.env check
* User Menu
* Settings bar (dropped refresh)
Search JS
* Toastr messages
* Rename preflight
* Use hasAccess(User) on most models.
Add port counts
* Missed a Preflight -> Checks rename
* Fix some formatting
* Boot Eloquent outside of Laravel
Use Eloquent for Config and Plugins so we don't have to connect with dbFacile inside Laravel.
Move locate_binary() into Config class
* Config WIP
* Try to fix a lot of config loading issues.
* Improve menu for non-admins removing unneeded menus
url() for all in menu
* Only use eloquent if it exists
* Include APP_URL in initial .env settings
* Implement Legacy User Provider
* Helper class for using Eloquent outside of Laravel.
Allows access to DB style queries too and checking the connection status.
* Fix up tests
* Fix device groups query
* Checking Travis
* copy config.test.php earlier
* dbFacile check config before connecting
Don't use exception to check if eloquent is connected, it gets grabbed by the exception handler.
Ignore missing config.php error.
* Fix config load with database is not migrated yet.
* Remove Config::load() from early boot.
* Use laravel config settings to init db (this prefers .env settings)
Fix bgp vars not set in menu
add _ide_helper.php to .gitignore
* Restrict dependencies to versions that support php 5.6
* Update ConfigTest
* Fix a couple of installation issues
* Add unique NODE_ID to .env
* Correct handling of title image
* Fix database config not loading. Thanks @laf
* Don't prepend /
* add class_exists checks for development service providers
* Fix config value casting
* Don't use functions that may not exist
* Update dbFacile.php
* d_echo may not be defined when Config used called.
* Add SELinux configuration steps
More detailed permissions check.
Check all and give complete corrective commands in one step.
* Ignore node_modules directory
* Re-add accidetal removal