* Cleanup and optimize the availability widget
Default sort is display name
Sort applies to services too (services always last)
May need to refresh the page to get new css
* style
* We don't need request (lint fix)
* Wrong service field name
* PHP-Flasher for toast messages
Allows customized template
removes dependency on unmaintained package using dev stability
no solution for javascript toasts yet
Use DI in places it makes sense
allow html in flashes
Use "template.librenms" as a default notification style
merge toast containers
toastr needs to be second because it will find the containr made by flasher, but the inverse is not true
upgrade php-flasher to add custom options and persistent notifications
Add dark theme
* update composer.lock
* Oxidized API cleanup
Import more settings to the UI
use lnms config:set
* validate os and type exist
* map settings WIP
* oops
* editing working. Needed to add new property to pass update state to child
* implement deleting and handle text overflow a little better.
* Update app/Models/Device.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Update app/Models/Device.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* revert change
* fix style
* add return
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Remove unneeded horizontal scroll bars for alert widgets
Fixes#12454
* Always hide horizontal scroll bars
Width of the widget_body class is set to 100% which hides them anyway, with correct css margins
* Global Settings - Alert Default Settings
* Revert "Global Settings - Alert Default Settings"
This reverts commit a1af62b146.
* Widget Eventlog - Sensors link and overlib Image
* travis fix
* handling via AppServiceProvider
* collect function
* Travis ...
* static list of Sensor Types
* adding all sensor graph_types
* remove collect
* correct getTypes - remove change to lower case
* class sensor_descr switch
* class sensor_descr switch - revert
* Use standard sensor type names
* move types to attribute list
* going back to changes from 9eee7fad58
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update menu.blade.php
* Swap username and notification icon
* Hide count-notifications when zero
* slight tidy
* Accidental key press
* Decrease space to tie them together better
* Update styles.css version
* initial db/defaults dump
* numeric values
* Remove $config['time']
* Use config_definitions.json
* try setting definition as a complete array
* a little more
* fix format
* WIP converting dynamic setting pages
* rewriting the webui
* remove legacy and add translations
* finish email section
* improve navigation
update js a bit
* Import the remaining existing settings
* Update backend still some wip
migration
* fix config loading (db not overriding defaults)
* some cleanup
* more array collapsing
* update settings
* Settings search
* add purge settings to ui, order groups and sections
* collapse more arrays
* Auth definitions WIP
* remove needless slash escapes
* add warning to json
* moving settings from defaults.inc
* remove slow_statistics
* Move rrdtool settings to the poller section
* Use translations more consistently
* removing more settings from defaults.inc.php
* show setting name in tooltip
* allow help text to be shown on mobile
* disable settings that are set in config.php
* Implement undo and reset to default.
* Vue.js functional
* Vue.js WIP
* Implement tabs component
* accordion WIP
* lodash ver update
* two items
* Accordion somewhat working
* hash navigation
* Refine Accordion
* Fix up tab styling a bit
* Cleaner tab selected property
Hide html while loading
* spinner?
* Icon support
property for accordion to active
* WIP
* Tabs/Sections from ajax
* Setting Component skeletons
* Dynamic Component resolution
* Basic functionality
* toggle class
* Refactor components
* translate tabs and accordions
* simple array attempt
* improve readonly tooltip
* array styling
* array value editing
* organize snmp info
* Handle initial tab/section in url
* Use Laravel to parse tab/section, dump old
* Draggable array entries
* v-tooltip, for clickable (and touch) help tooltips
disable draggable
* Navigation WIP
* Navigation WIP
* groups computed
* filter settings
* fix event reference
* vue.js i18n initial
* missing description = just setting name
* en fallback
* tidy up the language support and js generation
* persist value to db
* fix issue with 0
* Delete settings from DB instead of setting them to default
* ldap-groups
fixup style
* Default dashboard selection
* fix array of options instead of object
* allow custom validation for settings
* translate options in SettingSelect
* SNMP v3 WIP
* fix setting arrays
* Split persist out of set
* Hook up events for SNMP v3 Auth
correct Config::persist behaviour with arrays
* dependent settings (primitive for now)
actually update the settings values in the LibrenmsSettings component
* more complex "when" behaviour
* remove un-needed seeder
* add poller_modules.cisco-qfp
* remove en.json (disable warning)
* don't set default for log_dir or log_file, otherwise it won't be processed correctly
* Fix module order
add some missing settings
* more config corrections
* correct graphs
correct loading values set to null (although it should have no difference)
remove project_name_version
* Add nfsen settings. Docs are very confusing, so might have flubbed something
remove option for array definition of select option as numeric indexes messes it up
* Correct more upstream config differences
* Config cleanup after a bunch of merges.
* Fixes
* add version tags to js/css files
remove old js
* Print out full settings list read-only
* Add http_proxy setting
fix indents in config_definitions.json
* repeaters default is 0 (aka 20)
* cleanups
* rewrite the dynamic config docs
* add language docs
* Don't show snmp v3 auth add/remove if disabled by config.php
* Add 2 class for graph / mini graph (styles.css)
Add 2 class for graph / mini graph (styles.css)
for changing bg color and more (mini graph port / device) (graph port / general)
* Update styles.css
Add 2 class for graph / mini graph (styles.css)
for changing bg color and more (mini graph port / device) (graph port / general)
* Add class CSS for mini graph
Add class CSS for mini graph
* Update graph.inc.php
Change graph.inc.php, add css class / overlib
* restore original bg #f5f5f5 .graph-all-common
restore original bg #f5f5f5 .graph-all-common
* Update ports.inc.php
correct extra \
* Update graph.inc.php
* Update ports.inc.php
* Update ports.inc.php
* Update graph.inc.php
* Comment line 88 URL.php, because description of location enlarge too much overlib devices's title
* Update Url.php
* Update Url.php
Line 88 -> re ident to pass travis...
* Update Url.php
Ad css class to onmouserover event and overlib, easyer to change color of background ex.: for a dark theme vs bg color hardcoded
* Update styles.css
* Update Url.php
* Update librenmsv1.blade.php
* limit worldmap to active devices, use scope in availability map
* Linkable totals and better option description for disabled/ignored.
* fix disabled / ignore enabled display
* better? links
* style improvements. Not important enough to bump version
* fix top interfaces query
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.
* Better handling of errors
Mapquest seems to return the center of the US on error.......
* Editable locations WIP
* Change to bootgrid ajax table WIP
* Graphs working, using handlebars
update js libs
add current location button
* remove sql query, change icon
* Add the map to the device view, only when gps is expanded.
Allow edit on device page, share js code
* fix chevron rotation, improve click area
* extra warning
* fix overview layout (remove containers)
* fix style
* fix html divs, change collapse ui a bit
move css, update css/js versions
* start zoomed out on new locations
* don't double load scripts, zoom to 17
* fix php-md errors, remove unused use statement
* improve non-admin experience
* Move locations page to Laravel
More functions in Url and Html util classes
reduce code duplication
* translation buttons too
* fix whitespace
* move formatters to the frontend
* small changes
* disable traffic for locations with no devices
* change down 0 to green from gray
* missing "
* Fix paginate all
* working fix for paginate all
* allow sort by counts
* fix down sort
* a little safety
* Don't call the function twice
* btn-xs
* Use Laravel for authentication
Support legacy auth methods
Always create DB entry for users (segregate by auth method)
Port api auth to Laravel
restrict poller errors to devices the user has access to
Run checks on every page load. But set a 5 minute (configurable) timer.
Only run some checks if the user is an admin
Move toastr down a few pixels so it isn't as annoying.
Fix menu not loaded on laravel pages when twofactor is enabled for the system, but disabled for the user.
Add two missing menu entries in the laravel menu
Rewrite 2FA code
Simplify some and verify code before applying
Get http-auth working
Handle legacy $_SESSION differently. Allows Auth::once(), etc to work.
* Fix tests and mysqli extension check
* remove duplicate Toastr messages
* Fix new items
* Rename 266.sql to 267.sql
* 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
* Added new worldmap widget setting:
The user can chose how down devices under maintenance are shown
Signed-off-by: Rémy Jacquin <remy@remyj.fr>
* Added documentation related to this feature
Signed-off-by: Rémy Jacquin <remy@remyj.fr>
* Change icon to light blue and remove option
Reverted "Added new worldmap widget setting"
Signed-off-by: Rémy Jacquin <remy@remyj.fr>
* feature: Wireless Sensors
Includes client counts for ios and unifi
Graphing could use some improvement.
Alerting and threshold ui not implemented
WIP: starting OO based wireless sensors.
Class based functionality working
remove old functional files
add schema file
discovery needs to be enabled, not polling
fix up schema
fix Unifi discovery not returning an array
Add some debug when discovering a sensor.
Fix style.
Add missing semicolin
Add a null object (Generic) for OS.
Fill out some phpdocs
Re-organized code
Each sensor type now has it's own discovery and polling interface
Custom polling tested with Unifi CCQ
Left to do:
Implement UI (Graphs and Custom thresholds)
Alerting
Testing
Fix event message text
Remove runDiscovery and runPolling from OS, they are unused and don't belong there.
Cleanups/docs
Missed this file.
Remove the requirement to fetch the current value to check validity.
Do that automatically if current is not specified
A few cleanups here and there
First pass at graphing.
device_ and wireless_ graphs added.
Add RouterOS support
Singleton OS instance isn't required right now.
Remove that to allow some memory to be freed.
Add wireless to the device list metrics.
Make all metrics clickable
Tweak graphs a bit
Implement limit configuration page.
Use sensors page as common code instead of duplicating.
Clean up some javascript interactions: Allow enter on values to save. Cancel if update is not needed. Enable the clear custom button after setting a custom value.
Add some wireless alert rules to the library.
Add documentation.
Add unifi client counts by ssid in addition to radio.
Optimize Sensor polling a bit.
Add HP MSM clients support (for full controller)
Fix function accessibility
Formalize the discovery and poller interfaces.
Add Xirrus clients and noise floor
move module interfaces to a more appropriate place.
push caching code up to os, unsure about this do to the limitations
No point in selectively enabling wireless discovery. We only discover if the device supports something.
Add RSSI, Power, and Rate.
Add these sensors for Ubnt Airos.
Clean up some copyrights.
Reduce the amount of files need to add new types.
Leave graph files for consistency and to allow customization.
Remove the old wifi clients graph completely.
ciscowlc should have improved counts (total and per-ssid)
Schema didn't get added.
Impelement the rest of the AirOS sensors
Reformat and re-organize the Airos.php class.
Add several UBNT AirFiber sensors
A few fixes add links to the section headers
Add HP MSM mibs.
* Schema file got dropped in rebase.
* Add wireless menu to view sensors across all devices.
Icons in the menu need help :/
* Add HeliOS, Mimosa, and Siklu support
Sensors added SNR + Noise
* Add power and utilization to Unifi
* Update polling to prefetch all sensor data in a few snmp requests as possible
* Add Extendair: tx+rx power, aggregate rate, frequency
* Add a check for duplicate sensors in discovery. Just print an error for now.
* Add Bit Error Ratio (named error-ratio to allow for bit error rate to be added if needed)
Fix an incorrect link in the wireless sensors table
* Add error rate and change all bps and Hz to use si units
* Fixes to limits and frequency display
* Fix overview graph frequency display
A few decimal place tweaks
* Don't allow switching sensor and wireless-sensor graphs, it doesn't work.
Change individual distance graphs to use si units
* Go through the OS and make sure I got all the sensors I can (probably missed some still)
Because pollWirelessChannelAsFrequency() is generic and a little complex, so pull it up to OS.
Message to help developers adding supports that don't return an array from discover functions.
* Fix some issues
* Remove noise and signal for now at least
A couple more fixes
Add a notification
* Oopsie
* Bonus AirFiber sensors
* Fix height of widget boxes
This pracitcally reverts #5644 and instead applies the correct fix by
calculating the dimensions of the widget box correctly.
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* webui: improve the text alignment for tab bars
Margin tweaks no longer needed since we use font awesome icons everywhere
Add role presentation for improved accessibility
Clean up some of the permissions logic on the device page (tested)
* fix style
* Update services page
- Bring services overview page in line with the rest of the interface
using bootstrap classes, panels, colors etc.
- Getting rid of most of the tables using bootstrap's grid classes.
Device services page might need a bit more work but I'm not ready yet.
* Fix style check issues
* Bigger status labels
* Set the device logo to have a max width and set the td cell to also have a set width
* Changed the width of the td cell to rather use CSS
* tried something else which allows for a more dynamic approach
* 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
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* feature: Add support for SVG images
* docs: Add instructions for adding OS images
* Replace PNG os images by SVG