Commit Graph

246 Commits

Author SHA1 Message Date
ottorei 34de9dd77d Sort in SQL (#13238) 2021-09-13 19:12:55 -05:00
Jellyfrog 258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
Tony Murray c5b63bde86 New Blade Components: x-device-link, x-port-link, x-graph-row, x-popup (#13197)
* working popover

* popup component

* cleanup

* finalize device-link component

* attributes WIP

* working graph component

* widgets WIP

* More dynamic configs

* Graph row component

* Build CSS so we can use a dark theme

* graph row set columns

* only one popup visible at a time.

* Just set graph row width statically

* responsive WIP

* rsponsive option for graph-row "working"

* remove @deviceLink and @portLink

* fix non-responsive graph row

* update js/css

* fix style

* bad type?

* types

* types

* types #3

* remove testing code

* full rebel, no closing tags for meta and link

* match previous formatting

* fix vlans display

* restore newline

* remove silly comment

* remove unused line

* style I guess
2021-09-10 08:07:08 -05:00
Jellyfrog 26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
Niklas Vartiainen 1797f5c04a Change automatic widget updates to use bootgrid when possible (#13159)
* Changed widget data updates to use bootgrid.

* Fix widget settings page not displaying.

* Don't call both ajax method and bootgrid.

* Apply fixes from StyleCI

* remove commented code

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-09-04 21:16:50 -05:00
SourceDoctor ada7bae84c default port group in Settings (#13175)
* default port group in Settings

* .

* wrap query with try catch

* update config schema

* change to select2

* .

* .

* inject no default port group choice

* Paginator

* .
2021-09-03 15:58:09 +02:00
Tony Murray d646562e4e Dynamic Select setting (#13179)
* Dynamic Select setting
embeds select2 and uses ajax to call to backend for options
poller-group included

* fix validation a bit

* fix typehint

* move minProperties into the select schema

* Change dashboard-select to select-dynamic
Love deleting code

* Change dashboard-select to select-dynamic
Love deleting code
wire up a few select2 options

* fix whitespace

* Not a model, just an object

* Suggestion from @SourceDoctor autocomplete values of select and select-dynamic

Got a little creative with InternalHttpRequest...
2021-08-28 06:46:53 -05:00
Tony Murray 94ee737f3d Allow device actions to appear in device list and improve docs (#13177)
* Improve Device menu links and documentation

* device list actions functionality

* phpstan :/
2021-08-27 22:48:57 -05:00
SourceDoctor 62d440a0dc show count of Ports in PortGroup display (#13164) 2021-08-23 19:06:36 -05:00
Talkabout 1de372ca1b Priority filtering for syslog widget (#13134)
* Update SyslogController.php

* Update SyslogController.php

* Update syslog.blade.php

* Update syslog.blade.php

* Update web.php

* Create PriorityController.php

* Update SyslogController.php

* Update SyslogController.php

* changed priority controller to static list

* Update PriorityController.php

* Update PriorityController.php

* Update PriorityController.php

* using static list directly with standard select box without backend logic

* removed not required if statement
avoided array_flip by flipping foreach arguments
2021-08-20 22:52:15 -05:00
Tony Murray 5d691dc375 Consolidate DB version code (#13111)
* Consilidate DB version
and don't use dbConnected() function

* cleanup imports
2021-08-09 18:33:31 -05:00
rhinoau fb6da83ec0 fix availability widget device totals (#13043) 2021-07-15 09:52:00 -05:00
rhinoau 1746d04742 fix availability widget service backend error (#13044) 2021-07-15 09:51:29 -05:00
Tony Murray 58ca5994a1 PHPStan fixes (#13038)
* PHPStan fixes
mostly type fixes
semi-risky changes in availability map widget, tested a bit

* fix style

* Style fix

* restore spaces stupid editor removed

* fix the rest

* device model back

* remove ignores

* introduce variable
2021-07-13 16:35:43 -05:00
rhinoau ccb267bb4d Two-factor UI config and status display (#13012)
* two-factor UI config and status display additions

* force test re-run

* removal of blade foreach via keyBy

* remove where clause against all()

* attempt where filtering with keyBy

* use @config and getPref in blade

* another forgotten @config changed

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-07-09 21:36:08 +02:00
Tony Murray bd3da058d3 Human readable database inconsistent error (#12950)
* Human readable database inconsistent error
In case a db error causes an exception, check validate and show the db errors to the user in the webui.

* only failed validations

* fix style
2021-06-14 13:33:59 -05:00
geg347 672fe61b5e New module add juniper rpm support + reimplementation of cisco-sla module (#12799)
* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Fix some error due to Elequent object replacing SQL request

* Fixing indentation

* Fixed continuous integrations errors

* Fixed continuous integrations errors part 2

* Fixed continuous integrations errors part 3 : missing last new lines

* Fixed PHP Static Analysis checks

* Fixed continuous integrations errors part 4

* Fixed PHP Static Analysis checks part 2

* Trying to convert existing cisco-sla to new slas one

* Trying to add slas to fix test failure (I am pretty sure this is not enough but I don't know how to do it)

* Switching old cisco-sla module declaration to new slas module in concerned OS files

* Fixing wrong sla module name instead of slas in concerned OS files

* Fixing wrong module name sla changed to slas (as is it in power-supplies reimplementation)

* Fixing some warnings shown in the Inspection CI but skipping some that are already present

* Adding tests files from virtual Juniper VMX and adding slas modules in /tests/module_tables

* Adding missing SNMP data files

* Module Slas modifications to use inheritance

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing no value on RTT graphs

* Fixing only last SLA to be polled : problem with loops

* Fix CI errors part 4

* Optimizing a little the Juniper RPM poller part

I wanted to query only the required values but it is complicated to query a specific OID
as Cisco-SLA does because the owner and tag are hardcoded in ASCII decimal with strange values.
So I use the function snmp_walk which gets the whole OID values in text.
And I index the Juniper MIB (because we want multiple values). But I changed the DISMAN MIB
requests to get only what we want.

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing PHP Static Analysis error 2/4

* Fix CI errors

* Implementing Interfaces to fix some errors that occurs with inheritance

* Adding missing Interfaces files

* Moving generic Sla discovery code into Junos Class

* Fix CI errors

* Fix CI errors part 2

* Fixing missing definition of SlaDiscovery in Cisco shared Class

* Fixing missing import for Illuminate\Database\Eloquent\Collection

* Fix CI errors part 3

* Fix PHP Static Analysis error

* change type strings to use translations instead of config

* IOSXR test data

* remove test data garbage

* simplify discovery

* Fix style

* Updating test files to adapt mock sla_nr ID starting from 0 and not 1 : CI tests should pass

* clean up polling
add rtt field in the db
cisco icmpjitter seems to have confused a lot of values

* rtt on discovery

* use crc32 for consistent sla_nr values

* revert snmprec

* Fix style

* correct schema

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-06-11 13:48:33 -05:00
ottorei 69397ea70f ISIS-adjacency polling support (#12461)
* init

* Add adjacency polling support

* Format messages

* Fix prints

* Apply fixes from StyleCI

* Fix schema

* Schema fix

* Alert rule example

* Remove display format

* Change option order

* Add test data

* Add test data

* Test data

* Review fixes

* Remove duplicate MIB-file

* Add cleanup

* Fix

* Print fix

* Remove extra cleanup

* Revert "Remove duplicate MIB-file"

This reverts commit 4b3cf8127c.

* Remove unneeded MIB-files

* Add check for empty array

* Apply fixes from StyleCI

* Review fixes

* StyleCI

* StyleCI

* Apply fixes from StyleCI

* typo

* Update function calls on pages

* Linting fixes

* Apply fixes from StyleCI

* Discovery module

* Add discovery module

* Apply fixes from StyleCI

* Update example alert rule

Co-authored-by: ottorei <ottorei@users.noreply.github.com>
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-06-10 19:42:34 -05:00
PipoCanaja 2e8c336c8f add TopErrors widget based on error_rate (#12926)
style

style
2021-05-31 19:40:45 +02:00
PipoCanaja 96479ab9b9 Filter unwanted data in Routes Ajax reply (#12847)
* filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

filter unwanted data in AJAX reply

cleaner fix now

* add tooltips, except when text contains 'overlib' calls

* readability

DestType lost in the game

DestType lost in the game
2021-05-25 15:39:20 +02:00
Tony Murray 77a17dac88 Fix installer when DB is empty (#12873)
(which is every time)
2021-05-13 13:02:43 -05:00
Tony Murray df5096e449 Install: Validate database before migrating (#12867)
* Validate database during install
Needed to remove usages of legacy functions in the validation

* Fix output, restore real versions
2021-05-13 07:18:54 -05:00
Tony Murray 3b0c2c090a Fix top devices widget storage graphs (#12849)
referenced the wrong graph, caused it to not work because device was not set.
2021-05-11 16:58:05 +02:00
PipoCanaja fff8b8e832 Collect OUI Database and do OUI lookups (#12842)
* first draft

refresh time

refresh time

* return codes

style

style

* presentation

* Exception details

more

fix

fix

* add tooltips

fixes for dns display

* create WebUI config option

languages

* refresh data every 7 to 11 days, keep it 15 days max

* 'Ports' and 'Port' ARP table

* Stp page support

style

style

* fix dnsname column finding when vendor is added/removed

fix dnsname column finding when vendor is added/removed

* nac vendor column

nac

* filter fields to reduce size of AJAX reply

filter fields to reduce size of AJAX reply

* fix typo on dns column detection

* default enabled
2021-05-10 14:56:48 -05:00
Jellyfrog ec949d9a34 Widgets: Include variables in default view (#12818)
This causes an error with the default view since it uses $id
2021-05-01 16:03:30 -05:00
Tony Murray 61c89794e4 Remove debug globals (#12811)
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.

* the on boot set sends application as the first parameter, just handle that

* Relocate other debug related functions

* Log debug to stdout

* Wrong output

* remove stupid constants

* Fix lint and style issues
2021-04-29 22:42:18 -05:00
Jellyfrog 3e3aa9077e Revert "Fix StringBlade errors with a stub file" (#12776)
This reverts parts of commit 165c4fd53c.
2021-04-21 23:22:15 +02:00
Jellyfrog 165c4fd53c Enable PHPStan linter (#12678)
* Enable PHPStan linter

* Add PHPStan baseline

* Switch to Level 5

* Fix StringBlade errors with a stub file
2021-04-21 07:41:34 -05:00
Jellyfrog a8c8a9a4a2 Misc cleanup (#12758)
* Fix Docblock

* Misc

* Parameter #2 $callback of function array_filter expects (callable(mixed, mixed): bool)|null, 'strlen' given

* Parameter #2 $data of function hash_hmac expects string, int given

* Unreachable statement - code above always terminates.

* Update Device.php
2021-04-20 12:47:22 +02:00
Jellyfrog e86b4662b3 Fix globe controller up/down partition bug (#12757) 2021-04-17 16:46:54 -05:00
Tony Murray c36fe928e4 Fix mini graphs (#12738)
Remove the polyfill, if the noscript tag isn't removed it breaks graphs
Ajax tables should not use lazy loading anyway...
2021-04-12 02:40:47 +02:00
Jellyfrog edb36fd69d More cleanups (#12715)
* PHPDoc

* Replace Auth > Illuminate\Support\Facades\Auth

* Return inside when()

* use str_replace correct

* Misc

* dead code

* use int $port

* styleci
2021-04-08 08:14:49 -05:00
SourceDoctor 4b9e480118 Define Port Groups (#12402)
* Define Port Groups

* .

* .

* .

* API Calls

* .

* .

* .

* minor changes

* .

* update forms

* remove link

* .

* change column settings

* change migration

* change update position

* db migration fix

* .

* .

* .

* add missing doc reference

* update test data

* update test data

* update test data

* .

* .

* .

* .

* .

* .

* .

* .

* port group association in seperate table

* .

* .

* show all found groups on port

* select multiple Portgroups per Port

* change on migration file

* change query to eloquent

* Code changes

* move port group menu to ports main menu

* port group update to eloquent

* .

* .

* update to new setting way

* add missing merge parameter

* Use select2 and port some things to Laravel
some fixes, hopefully no new added bugs

* schema

* don't use on update restrict unfortunately

* remove unused import and revert changes

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-04-06 17:25:08 -05:00
Jellyfrog 24c8513029 Replace Auth > Illuminate\Support\Facades\Auth (#12664)
Helps phpstan
2021-03-31 21:30:04 +02:00
Jellyfrog dc160c6813 PHPDoc fixes (#12687) 2021-03-31 17:18:43 +02:00
Jellyfrog 10cf97e581 More PHPDoc changes (#12674)
* PHPDoc

* Override type hint
2021-03-30 11:16:44 +02:00
Jellyfrog 4ada8a418d Typo (#12671) 2021-03-29 03:22:47 +02:00
Jellyfrog e00eba327d Re-implement Printer as a class based module (#12605)
* Re-implement Printer as a class based module

* Rename toner table

* wip

* wip

* Rename to printersupplies

* Fixes

* Rename

* wip

* wip
2021-03-27 10:09:14 -05:00
Jellyfrog ede486ea95 Fix regression from 3cfffb9912 (#12661) 2021-03-27 15:39:24 +01:00
Jellyfrog 3cfffb9912 Cleanups (#12642)
Should only be cosmetic
2021-03-24 09:13:43 -05:00
Cupid@zul c05cf4b2fc Add ID to Device Table List and to Device Dependencies Table List + Shorten ifname in Device: Recent Events. (#12397)
* Add ID to Device Table List and to Device Dependencies Table List

* wrap interface text to max-width: 100px

* ok, fixed as requested. all tests ok! gui working well... filtering and sort tests ok.
2021-03-23 09:07:27 -05:00
Jellyfrog 800ae95b90 Cleanup (#12641) 2021-03-23 08:47:38 -05:00
Tony Murray ac7b4539ce Fix Service Templates Dynamic (#12626)
* Fix Service Templates Dynamic
Remove dynamic groups type, it did not work.
Rename and simplify field names.  (fixing an issue with the builder where the rules field should be named rules)

* update schema def

* wrong method name in migration

* fix rules builder

* corerct call to apply

* sqlite can't drop columns

* correct column rename order on down.

* fix sqlite again

* fix whitespace
2021-03-18 08:14:45 -05:00
SourceDoctor 1e3cc4788a Sort Type List in Eventlog Pages (#12572)
* Sort Type List in Eventlog Pages

* update code
2021-03-12 10:29:19 +01:00
SourceDoctor 4ae452640a WebUI - Spanning Tree Link in Eventlog (#12571) 2021-02-28 00:04:42 +01:00
SourceDoctor 75a0a5e374 Use DNS Location Record for Location (#12409)
* Use DNS Location Record for Location

* .

* .

* .

* grammar fix

* dns class

* code changes

* composer update

* add missing composer.lock update

* reposition Location record parsing

* composer update

* default yes ; change lookup order

* merge master

* .

* move Location Record Parser to Model Level

* .

* fix location record code

* Location precedence with tests
Setting from UI disables all lookups

* update composer.lock and mix-manifest.json

* Style fixes

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-02-22 11:17:40 +01:00
Tony Murray 28d69c5230 Update php packages and fix composer warnings (#12526)
composer/ca-bundle (1.2.8 => 1.2.9)
composer/composer (2.0.8 => 2.0.9)
facade/ignition (2.5.8 => 2.5.11)
filp/whoops (2.9.1 => 2.9.2)
friendsofphp/php-cs-fixer (v2.17.3 => v2.18.2)
laravel/dusk (v6.11.0 => v6.11.3)
laravel/framework (v8.24.0 => v8.27.0)
laravel/tinker (v2.5.0 => v2.6.0)
maximebf/debugbar (v1.16.4 => v1.16.5)
nesbot/carbon (2.44.0 => 2.45.1)
nunomaduro/collision (v5.1.0 => v5.3.0)
phpunit/phpunit (9.5.1 => 9.5.2)
psy/psysh (v0.10.5 => v0.10.6)
symfony/console (v5.2.2 => v5.2.3)
symfony/css-selector (v5.2.2 => v5.2.3)
symfony/error-handler (v5.2.2 => v5.2.3)
symfony/event-dispatcher (v5.2.2 => v5.2.3)
symfony/filesystem (v5.2.1 => v5.2.3)
symfony/finder (v5.2.2 => v5.2.3)
symfony/http-foundation (v5.2.2 => v5.2.3)
symfony/http-kernel (v5.2.2 => v5.2.3)
symfony/mime (v5.2.2 => v5.2.3)
symfony/options-resolver (v5.2.1 => v5.2.3)
symfony/process (v5.2.2 => v5.2.3)
symfony/routing (v5.2.2 => v5.2.3)
symfony/stopwatch (v5.2.1 => v5.2.3)
symfony/string (v5.2.2 => v5.2.3)
symfony/translation (v5.2.2 => v5.2.3)
symfony/var-dumper (v5.2.2 => v5.2.3)
symfony/yaml (v4.4.18 => v4.4.19)
2021-02-14 21:50:32 -06:00
SourceDoctor 4efb71e679 Show Alert Count on Widget (#12503)
* Show Alert Count on Widget

* update query
2021-02-11 19:28:59 -06:00
Jellyfrog 4126663b3a Speedup device list (#12514)
* Speedup device list

* Update DeviceController.php
2021-02-08 23:07:49 -06:00
Jellyfrog 20b4215204 Swich links to https (#12511)
* Switch librenms links to https

* Convert librenms links in comments

* Switch gnu.org url to https

* switch php urls to https
2021-02-09 00:29:04 +01:00