* 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
* Poller settings WIP
* Poller settings WIP2
* working on SettingMultiple
* setting multiple working
* settings sent with all required info
* fix translation
* Fix keys
* fix groups setting
* Apply settings to service
fixes and validations for setting
* don't error when no poller_cluster entry exists
* hid tab when no poller cluster entries
* Authorization
* make prod
* daily maintenance toggle should be advanced
* Update schema def
* -Real dark mode, (themed bootstrap)
-removed inverted colors in navbar
* Test data
* FIX: navbar in mono theme.
* Dark mode rrdtool
* Changed background on gridster to match background of the dark theme
* - Icons and links now are grey
- Modernized tabs style into pills,
- button pagemenu-selected fixed
* Improvements:
- bootgrid-th, are now visible (dark mode to the table headings)
- Changed line color of poller and ping in rrdtool
* Fix some codeclimate errors
* Fix airos.snmprec, reverted to original file
* 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
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.
* 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
All symlinks are removed except:
./html/api_v0.php -> index.php
./html/pages/device/neighbours/list.inc.php -> ../ports/neighbours.inc.php
Allows things to mostly work on Windows Linux subsystem when LibreNMS resides on the ntfs partition.
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`
* 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
* Added a variant of map.php which allows for a borderless fullscreen geographical map, with just the nodes.
* Signed my work.
* Removed a space.
* delete whitespace
* remove whitespace
* hack to fix some tiles not loading
found the fix here:
https://stackoverflow.com/questions/36246815/data-toggle-tab-does-not-download-leaflet-map/36257493#36257493https://gis.stackexchange.com/questions/224932/problem-with-map-tiles-loading-with-leaflet-and-bootstrap
You might be able to do something more elegant.
* added menu entry
This removes the need for setting it as a front-page. Now it can be accessed from the menu and LibreNMS can be accessed by navigating back.
* Create fullscreenmap.inc.php
Notice the line:
$pagetitle[] = 'Fullscreen Map';
* REmoved the original fullscreenmap.php
* Revert "REmoved the original fullscreenmap.php"
This reverts commit 570953c5f5.
* addded the resize event to html/pages/fullscreenmap.inc.php for proper leaflet rendering
* Removed old file
* Adjusted CSS and javascript.
* Reverting to original javascript.
* change Leaflet container CSS to white background
* Made the Geographical Map not hide the menu when not in fullscreen mode.
* Cleaned up the CSS-file a bit.
* Added a variant of map.php which allows for a borderless fullscreen geographical map, with just the nodes.
* Signed my work.
* Removed a space.
* delete whitespace
* remove whitespace
* hack to fix some tiles not loading
found the fix here:
https://stackoverflow.com/questions/36246815/data-toggle-tab-does-not-download-leaflet-map/36257493#36257493https://gis.stackexchange.com/questions/224932/problem-with-map-tiles-loading-with-leaflet-and-bootstrap
You might be able to do something more elegant.
* added menu entry
This removes the need for setting it as a front-page. Now it can be accessed from the menu and LibreNMS can be accessed by navigating back.
* Create fullscreenmap.inc.php
Notice the line:
$pagetitle[] = 'Fullscreen Map';
* REmoved the original fullscreenmap.php
* Revert "REmoved the original fullscreenmap.php"
This reverts commit 570953c5f5.
* addded the resize event to html/pages/fullscreenmap.inc.php for proper leaflet rendering
* Removed old file
* Adjusted CSS and javascript.
* Reverting to original javascript.
* change Leaflet container CSS to white background
* Made the Geographical Map not hide the menu when not in fullscreen mode.
* Cleaned up the CSS-file a bit.
* 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>
* 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.