* feature: Added new alert rule builder UI
* Updated to export sql queries
* More updates
* more changes
* removed debug
* fix scrut
* Updated to include import options + various other fixes
* fix rule
* Populate name from collection rules.
* Fix default rule import
Allow new and old style rules in the collection.
Don't add new yet as I'm not sure GenSQL() is working.
* Fix GenSQL call
* Extract filter building to class so it is nicely contained in one place
* moved schema
* some fixes and tweaks
* travis fixes
* Some more features / updates
* Fix up my mistakes when adding default rules
* Use a modal for new alert (Incomplete)
Larger dialog!!
Remove page loading stuff.
Working:
Loading rules, resetting dialog, importing from collection.
Not working yet:
select width
device limited rule access? don't know what this is...
Lots of unused stuff to delete...
* reload "table" after save
* fixed editing rule
* Auto select2 width
* Reload window on save
* Restore per-device alert. Remove debug.
* Small cleanups. Rule Name first.
* Restore button to button type. Rename schema.
* Fixes: wrong command to reload window, remove extra attributes, rule is never passed
* Fixed old rule editing
* some small updates for old imports
* travis update to use trusty
* maybe travis fix
* Ability to set alert rule mappings on the rule edit screen
* pip installs one line, no quiet for deploy
* update schema def
* Fix style and some copyright headers
* fix docs missing file
* Allow new versions of snmpsim and libraries
* Parser WIP
* Fix default rules insert
* reorganize
* Legacy import first draft done
* Implement saving
Skip translation to sql for now
* Working on glues
* small rule collection fix
* Working on glues
* Working on glues
* Docs updates + small UI changes
* Parser WIP
* reorganize
* Legacy import first draft done
* Implement saving
Skip translation to sql for now
* Working on glues
* Working on glues
* Working on glues
* Add table mapping, should move to it's own class
* WIP
* Glue working!!
* Extract Schema class
* Some final touches.
revert alerts_rules.json for now.
* Finish up initial implementation
Needs more tests
* Fix a few places
* small doc updates
* Fix finding tables in grouped rules.
* remove unused code
* code format fixes
* Some quick tests for Schema
Simplified output for findRelationshipPath. Always includes start and target in the result.
This simplifies a lot of code in QueryBuilderParser.php
This also always loads the target table data now (which we want)
* Make bill_id the PRIMARY index for the bills table
* Load macros from a json file in misc instead of the database.
* Fix whitespace and wrong key for collection.
* Handle IN properly when generating SQL
* Fix glue (devices.device_id = ports.port_id) is incorrect :D
Show ALL tables we can resolve relationships for in the query builder filter.
* Remove all macros from the database
Remove insert statements, leave updates to update user's existing rules.
* modified styles.css to make the device group menu a bit larger. Was 200px, set to 800px. Makes a huge difference in reaability.
* Changed .scrollable-menu to have a max-height of 600px
Changed .scrollable-menu to have a max-height of 600px after discussion, 600 seems a good compromise for size until something better can be found.
* force css update
* Update badge background for selected pagemenu item
This brings the background color in line with the user notification number badge background in the upper right corner.
The previous background was too bright for mono.css to properly read the white menu item text.
* CSS cache busting
Change last two digits to 42, because reasons.
* First draft of the modals and the config interfaces
* GUI part done
* Backend code and db schema addition
* Documentation added, fixed alerting bug
* Fix typos
* Do not try to push an older db_schame.yaml
* Small db fix
* More db fixes
* Travis CI fixes
* missed a line in the travis error
* Fixed dependency clearing bug, Manage Host dependencies button now shows current selections
* Removed unnecessary index
* Correct faulty query
* Fixed sql query as requested, and renamed sql file
* Added requested changes
* Removed debug code
* Renamed sql file
* More fixes as requested
* Trying to fix db_schema.yaml
* adding laf's diff
* Corrected a small bug
* Try to resolve scrutinizer issue
* Main page bootgrid ajax modifications
* Also corrected travis ci errors
* Added select2 for pull downs, removed a redundant debug output. Changed parent_id to text
* Add missing class in the device settings page
* Fix bug where a link wasn't added after save
* Better parent down detection
* Add missing comma
* Behold the multi-parent code
* Added lookup table
* Ready for testing
* Trying to fix documentation conflicts
* Fix copy paste errors, and possible sql injection
* indentation problems
* Modified db_schema.yaml as well
* Typos, typos
* This should correct alerts
* Try to fix travis ci error
* Fix the typo in index.php
* Changed to Tony's query
* function explanation text changed
* Updated db_schema.yaml
* Trying to make automated tests happy
* Changes as requested
* Added acknowledgment for select2
* Added laf's patch
* dbBulkInsert when adding parents
* Feature: Notify about failed updates, block detectable bad updates
Ability to post notifications when the update fails.
Detect and roll back updates that will cause broken installs. (Needs testing)
Add severity to notifications, critical (2) notifications will display a toast.
This will be used for removing in-tree dependencies and raising the minimum php version.
* Improve naming a bit add phpdoc to new_notification
In case multiple notifications are created, remove them all.
* Remove notifications when update is disabled.
* update travis to use db testing
* added missing index
* fix: minimize session open time
page/graphs speedup part 2
Write close the session as soon as we no longer need to write to it. Prevents the session from blocking other requests.
Do not run through full authentication functions if the session is already authenticated.
Removes password from the session as well as some items to prevent session fixation from #4608.
WARNING: This will cause issues for ad/ldap users who do not have a bind user configured!
* Do no erase username when using cookie auth.
Properly close the session in ajax_setresolution.php
* write close the session as soon as possible in ajax_setresolution.php
* Remove session regeneration. It is not compatible with the current code and would require more changes.
* Totally refactor authentication. Extract code to functions for re-use and improved readability
* Use exceptions for authentication and error logging
Tested: mysql, ad_auth with and without bind user
* fix a couple scrutinizer issues
* fix reauthenticate in radius
* New event log severity model
* Revert "New event log severity model"
This reverts commit 0783527af8.
* New event log severity model
* Fixed spaces vs tabs
* Learning the format requirements
* Learning the format requirements
* Moved the colours in to the stylesheet
* change SQL file to stop conflicting
* refactor log_event so severity isn't last, but reference is.
* keep having to move the file due to new PR conflicts
* Revert "keep having to move the file due to new PR conflicts"
This reverts commit f3030e7218.
* extended support to dashboard and eventlog page
* formatting
* webui: make d_echo work in webui
Remove d_print_r(), it is redundant to d_echo()
Remove d_echo calls in services.inc.php
* Switched debug check to work with nginx
* Implement an autoloader
When cleaning up classes for psr2, things got a bit unwieldy, so I implemented a class autoloader.
I created a PSR-0 compliant LibreNMS directory and moved all classes there that made sense.
Implemented LibreNMS\ClassLoader which supports adding manual class mappings
This reduces the file includes needed and only loads classes when needed.
* Add teh autoloader to graph.php
* Add a small bit of docs
Fix incomplete class in includes/discovery/functions.inc.php