Commit Graph

107 Commits

Author SHA1 Message Date
SourceDoctor
252ee125b5 highlight Device Dependency Path to Dependency Root Device(s) (#11025)
* highlight Device Dependencies down to Dependency Root Device(s)

* rename function

* better var name

* codeclimate fixes
2020-01-15 08:10:58 -06:00
Christopher McAvaney
944f38b7f7 Fixing PHP imcompatibility issue with PHP 7.4 (#11030)
The PHP implode function has deprecated the glue after pieces method of calling the function as from PHP 7.4
Fixing this to ensure librenms works in PHP 7.4
2020-01-13 10:39:59 +01:00
SourceDoctor
f40f4e1864 highlight isolated Devices (Devices with no Dependencies) (#11018)
* highlight isolated Devices (no Dependencies)

* travis fix

* retrigger node analysis
2020-01-09 18:44:40 -06:00
SourceDoctor
b8f2b094d7 Graphing Device Dependency (#10916)
* graphing Device Dependency

* remove uneeded code

* fix link to go to device Overview

* rebuild dependency map to blade/laravel

* remove uneeded file

* code climate fixes

* remove not used code

* remove blank line

* device access filter optimization

* remove blank line

* force new travis check ...

* fix deviceLink configuration

* .

* rewrite code

* moving to Maps Namespace

* retrigger tests

* some code changes

* further renaming

* retrigger tests

* some code improvements

* .

* move vis.min.js in javascript section

* Device Dependency for Device Groups

* .

* codeclimate fixes

* show child/parents of Device - even if not in Device Group

* Device Highlighting

* add missing function

* replace hardcoded get params with ->get in Controller

* redesign Controller

* code climate fixes

* fix binary operator to 'or'

* remove 'or'

* code climate fixes

* further Code changes

* move loadMissing behind merge
2020-01-07 14:23:36 +01:00
Jellyfrog
0094940283 Add Blade directives for common Url functions (#10995) 2020-01-04 16:14:50 +01:00
SourceDoctor
ef01aba878 Hide the dash "-" on tooltip for ping only Devices (#10988) 2020-01-01 23:26:23 +01:00
SourceDoctor
a0e9716596 Enabled state as icon (#10984) 2019-12-30 22:50:48 +01:00
PipoCanaja
b2d90dc8fa Fixed icon for bgp search (#10931) 2019-12-11 17:58:58 +01:00
PipoCanaja
404b3b71ba Graphical alerts update (text/icon alignment) (#10856)
* 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
2019-11-25 04:09:40 +00:00
SourceDoctor
4ead80d06c Trigger Device Rediscovery for a device group (#10832)
* trigger rediscover for whole device group
* travis fix
* Update rediscover-device.inc.php
2019-11-21 11:55:15 +01:00
corsoblaster
6c27eba4fa Fixed Custom favicon issue with dashboard (#10847) 2019-11-19 17:15:44 +01:00
Tony Murray
138dc24f64 Fix system style setting (#10820) 2019-11-17 05:13:48 +00:00
SourceDoctor
a9212faa83 Allow user specific themes (#10799)
* allow user specific themes

* add missing newline

* use global function getDefinitions

* some fixes

* .

* travis fix

* .

* Optimize preference loading
Aka, don't run multiple sql queries per page load, now it is 0-1 queries (for preferences)

* Add a default option for user preferences

* Remove unused code

* more
2019-11-14 18:40:38 +00:00
SourceDoctor
4b0c775151 Show logged in user in title menu (#10800)
* show logged in user in title menu
* adding spaces for equal look in code
* hiding username on small screens
2019-11-14 08:08:12 +01:00
Tony Murray
8bc0af7b85 Translation generation command (#10794)
additional translatable strings: Filter Settings in settings page and Global Search on all pages.
remove duplicate fr key
also, language file signatures were wrong as I had a testing version of the vue generator
2019-11-09 13:01:41 +00:00
Tony Murray
90bd2275cf Unbundle javascript language files (#10788)
* Unbundle javascript language files
automatically generated for each install

* update docs

* update laravel-vue-i18n-generator
a newer (unreleased) verison is need for English fallback to work
2019-11-08 15:18:41 +00:00
SourceDoctor
ce628399a9 Allow user activation/deactivation (MySQL auth) (#10511)
* user deactivation feature

* update db_schema.yaml

* travis fix

* readd sqlfile with alter statement

* ..

* revert force push

* combine all queries

* fix query

* user enable/disable only visible on mysql authorization

* Update form.blade.php

* Update index.blade.php

* disable 'enabled' on own profile

* bootstraping checkboxes
2019-11-08 06:32:57 +00:00
Tony Murray
55750cebb4 Fix settings search (#10777)
restore dynamic menu building... data manipulation in js is yuck
2019-11-04 21:16:06 -06:00
gdepeyrot
4fe3bca717 Replaced WorldMap zoom with text field to enable more fine grained zooming by steps of 0.1 (#10753)
* Reimplemented filtering of devices under maintenance when displaying only Down devices in the WorldMap

* Replaced WorldMap zoom with text field to enable more fine grained zooming by steps of 0.1
2019-11-04 11:39:43 -06:00
Tony Murray
7bb5f22681 Fix urls on settings page (#10765)
Restore url helper for js assets
needed for subdirectory installs
2019-11-03 19:11:37 -06:00
Tony Murray
9b4406ec9e Add Graylog settings (#10740)
* Add Graylog settings
Fix order of settings
Don't clobber text input when validation fails
fixed spacing for setting reset/undo buttons and help

* fix style
2019-10-26 00:29:47 +00:00
Tony Murray
e6423852ef Remove $_SESSION usage, except install (#10745)
* Remove $_SESSION usage, except install
Fixes issue with device debug capture
Removes secure_cookies setting, use the .env variable SESSION_SECURE_COOKIE instead.  Reminder secure cookies requires cookies are transported over https, if everything is already transported via https, the setting won't make a difference.

* Fix availability map controls
2019-10-26 00:29:12 +00:00
Jellyfrog
debec7032a Use Mix built in cache busting (#10733) 2019-10-22 10:01:40 +01:00
Tony Murray
1d7347dd62 Validate config schema, add types to all (#10723)
* Vaildate config_definitions.json schema

* finish adding types and other cleanups
2019-10-20 23:08:40 +00:00
Tony Murray
f9b704cb29 Add distributed polling config settings (#10711)
Show error on cli when type or validation is not set
2019-10-17 18:32:27 +00:00
Tony Murray
01e07e24b6 Restore base_url base tag (#10705) 2019-10-17 11:38:53 +00:00
Tony Murray
699aa8a042 Consolidate configuration settings and implement dynamic webui settings (#9809)
* 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
2019-10-16 21:22:05 +00:00
SourceDoctor
b606a42ba9 List ungrouped devices on group management page (#10527)
* list ungrouped devices on group management page

* some code changes

* some code changes

* change query to eager loading

* use url macro

* Update resources/views/device-group/index.blade.php

Co-Authored-By: Neil Lathwood <gh+n@laf.io>

* Title Case

* style fixes

* inline @if

* remove container

* revert force push
2019-09-21 05:25:02 +00:00
Markus Witt
81e57c8380 Fix missing to-parameter in dashboard graph widget link (#10600) 2019-09-12 23:08:43 +02:00
Jason Cheng
dc950ec1ed Modifying the Syslog widget can be translate 2019-09-09 10:15:19 +02:00
Jellyfrog
e4314922c1 Move Authlog to Laravel (#10559)
* Move Authlog to Laravel

* Update authlog.blade.php
2019-09-05 02:12:48 +00:00
Tony Murray
852647198b use -s option for older versions of git (#10561)
fix small visual issue too
2019-08-27 16:48:21 -05:00
rsys-dev
3cb971e33f Added Graylog to device overview and log level filter mechanism (#10509)
* Added Recent Graylog Entries to Device Overview (WIP)

* Improved "Recent Graylog" entries on device overview (WIP)
Added $config['graylog']['device-page']['rowCount'] to set maximum rows shown in "Recent Graylog" on device overview (Default: 10)
Added $config['graylog']['device-page']['maxLevel'] to set the maximum message level shown in "Recent Graylog" on device overview (Default: 7, validates value to be >= 0 and <= 7)

* Fixed code styling issue

* Added Log Level filter to Graylog widget
Added Log Level filter to Graylog pages (device pages and graylog overview)

* Added documentation for new configuration options

* Removed unneccesary (and already commented) using
Renamed "maxLevel" to "loglevel" as suggested by a colleague

* Added doc for $config['graylog']['loglevel']

* Removed includes/html/print-graylog.inc.php and inlined it in includes/html/pages/device/overview/graylog.inc.php
Removed comma in json object in resources/views/widgets/graylog.blade.php
Replaced translation strings in resources/views/widgets/settings/graylog.blade.php with existing translation strings

* log level -> minimum log level

* Use Config::get() default functionality

* Oops
2019-08-27 12:44:27 -05:00
Jellyfrog
47e4641e04 Convert About page to Laravel (#10551)
* Convert About page to laravel

* clean up callback stuff

* More translatable strings
2019-08-24 16:52:10 -05:00
Jellyfrog
9d7edd879f Fixed menu links that used to redirect to # (#10540) 2019-08-20 21:38:04 +01:00
Tony Murray
d64c884b4c Fix Syslog widget (#10516)
missing comma
2019-08-12 10:13:25 -05:00
Jellyfrog
fc281ccc4b Add device group filter to widgets (#9692) 2019-08-07 19:59:14 -05:00
Dragan Savic
326a4f4441 Add an option to hide Location column in Alerts widget (#10482)
* Update AlertsController.php

* Update alerts.blade.php

* Update alerts.blade.php
2019-08-03 23:25:08 -05:00
Tony Murray
a40d898ad8 Fix 2fa enable (#10462)
* tmp

* Fix 2fa qr code
Load the correct qrcode js library

* Delete comware_hpe5700.json

* Delete comware_hpe5700.snmprec
2019-07-25 12:20:25 -05:00
djamp42
fd42ea6e83 Add more detail to webgui alerts (#10388)
* alert sysname

* use existing config option

* add location to alert table

* made location a link

* fix formating

* Update alerts.inc.php
2019-07-18 23:24:24 -05:00
Tony Murray
3ead462549 Enable CSRF protection (#10447)
* Enable CSRF protection

* fix style issues
2019-07-17 07:20:26 -05:00
Jason Cheng
bad050520e Make Disabled/Shutdown to be translatable (#10398)
* Make Disabled/Shutdown to be translatable

* Update zh-TW.json

* Remove excess white space

* Updated additional language files for Shutdown command
2019-07-04 10:40:20 +02:00
djamp42
197947d4a1 Add custom title to alert widget (#10373) 2019-06-27 00:32:16 -05:00
Tony Murray
1a60c44eb0 Device groups rewrite (#10346)
* 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
2019-06-19 16:01:53 -05:00
Tony Murray
c2b09b8f80 Revert "Rewritten device groups (including static) (#10295)" (#10340)
This reverts commit cfc51d51f5.
2019-06-16 21:52:57 -05:00
Tony Murray
cfc51d51f5 Rewritten device groups (including static) (#10295)
* 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
2019-06-16 08:27:22 -05:00
Tony Murray
1ae77dfb70 Fix language select for new languages (#10323) 2019-06-07 21:07:49 -05:00
Tony Murray
6ba05cdbbb Enable menu translation (#10298)
And better translation support for sensors, not complete
2019-06-04 20:03:50 -05:00
ckforum
cafe057001 Add overlib link css class for changing background color - Update Url.php (#10300)
* 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
2019-06-03 19:40:56 -05:00
Tony Murray
1c1b07fee5 Restore vminfo menu (#10303) 2019-06-03 19:15:13 -05:00