* Add transceivers module
Move os specific code to OS
Fix errors and updated connector names
Add RouterOS, a lot less data there.
Add Comware
Add Exa, required a transformer function (mw to dBm)
Add Junos, revision was too short
Just starting on ui
Graphs, and more ui
some polling fixes
collapse header for small screens
refactor a bit
Missed graphs
Transceivers icon inline
Use @once on popup javascript
update db_schema.yaml
Don't show transceivers in basic view
basic view could use a review
Apply fixes from StyleCI
API functions
Comware don't fail if port is missing
Apply fixes from StyleCI
Add alert rules to collection
Device Overview
Attempt to fix bad alert rule, probably needs more
Fix up Comware and remove old sensors
Mark transceiver metrics without thresholds as Unknown
Routeros cleanup
Exa cleanup
Handle missing port
Graph allow filter by channel
More translations
Add transceiver graphs to port graphs
Add Cisco support, use entPhyscial module data if available
Fix OcNos divisors
Labels on transceiver page
Show encoding if available
Hacky OcNos port mapping
Fix up Junos optics and remove old sensors
FS switch support
Metric casts to prevent thrashing
Extra transform_function support
Add link to transceivers page from overview
Change default sort to group by type, then channel
move some code out of overview blade template
Fix bad type ocnos
Apply fixes from StyleCI
Add scales to graphs
Add some test data
Default sort order for metrcis in SQL applied by default
Transceiver metrics threshold manual settings via WebUI and API
Fixes to channels verbiage
Fix severity calculations
Add cable field for SM/MM/Copper
Apply fixes from StyleCI
update test data
Show DDM
Update DB schema file
Extend serial field to 32, even though devices shouldn't be able to have one longer than 16
Missing import
Add status field to database, that way we can support snmp implementations that only return an enum
Add missing files
Fix db_schema
Fix style
Fixes
Style fix
Work around phpstan issue
Update transceivers.blade.php
Missed getStatus() call
Prevent extra dots when channels are not changed
Update module to match upstream
Save ocnos metrics as sensors
Move to regular sensors
add entity physical index
Update UI to sensors WIP
Apply fixes from StyleCI
Forgot one change
Update ui to use sensors
Remove transceiver metrics
Remove metric os discover code
fs-switch pending
Remove transceiver metrics for fs-centec
Exa link up
Revert all test data
Fix up transceiver module interface
Remove unused Convert class
comware cache and transceiver type
Fix some transceiver metrics filtering and formatting issues
Consolidate display formatting
Coalesce commare hh3cTransceiverTable walks to prevent double walk
Use group to identify transceiver sensors
Fixup routeros
Fix up cisco
update db_schema
Small addition to docs
Improve overview layout and add graph popup
Update Junos
update css files
ddm should be nullable
Increase the field length for type and model
Cisco Improve detection when there is an intermediary container
Add transceiver test data
Apply fixes from StyleCI
Fix incorrect test data
Improve display formatting
Fix test data
Apply fixes from StyleCI
Fix up more data
Fix up more data
Fix incorrect return type in routeros
Update ocnos data
* Remove some remaining references to transceiver_metrics table
* Fix expandable sizing
* Temp fix: port_id_{low,high} is actually ifIndex
* new PortsStack discovery module, store actual port_ids
* Show 4 rows of ports by default
* Add test data
* Fix up the single port view too
* Apply fixes from StyleCI
* Update db_schema.yaml
* Update base migration because sqlite cannot add primary keys
* Fix phpstan failures
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* WIP Device Ports porting to Laravel
* WIP port links
* Port Links WIP
* Port Links
* in_array -> isset
* Add request to DeviceTab data
* Add initial Pagination
* Missing select component
* Collapsed and expandable port neighbors
New expandable component
* Port sorting
* Fix port transfer
* Use menu entries to filter ports
* Add translatable strings
* style fixes and cleanup
* update css
* graph views and tidy controller
basic port link view
* cleanup
* port row blade to reuse in legacy port view
* Legacy tab url handling
work properly in subdirectory
remove includes from sub tab directory to prevent oddity
* fallback to detail list when the view doesn't exist
* Use named variable to simplify
* Fix issue from file that was a symlink
* Submenu handle sub items and query string urls
* extract pageLinks to improve readability
* fix typo
* Apply fixes from StyleCI
* phpstan was not happy using the relationship HasMany query
* Don't allow *bps etc to be on a second line
* Improve table on small screens
* Fix sort
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
* Move `resources/lang` folder
* Shift registered middleware
* Remove `fruitcake/laravel-cors` dependency
* Streamline `$commands` property
* Upgrade to Flysystem 3.0
* Shift core files
* Convert `optional()` to nullsafe operator
* Remove unnecessary `$model` property
* Convert route options to fluent methods
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
* Convert deprecated `$dates` property to `$casts`
* Shift config files
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
* Bump Laravel dependencies
* Use `<env>` tags for configuration
`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.
Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/
* Fix error provider
* Match new symfony syntax
* Match upstream syntax
* Fix route syntax
* generate composer.lock
* Sync back configs
* routes
* composer
* Fix more flare
* fix cors
* sync lang
* Apply fixes from StyleCI (#14517)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* bump larastan
* update packages
* wip
* Temporarily lower phpstan level
* Update phpstan.neon
* wip
* wip
* wip
* Apply fixes from StyleCI (#14592)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update CiHelper.php
* Apply fixes from StyleCI (#14616)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test?
* fix phpstan problems
* dont run snmpsim on github ci
* Fix whitespace
* More whitespace
* More whitespace ???
* I think the space broke it
* fix the reset of the whitespace
* hard code auth guard
---------
Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* use component to discover if xDSL polling is needed
use component to discover if xDSL polling is needed
* Components OK, Polling in correct files, no DB for VDSL
* GUI
GUI_suite
* per port as well
* rename
* interface listing
* draytek_snmpsim
* fix arraymerge
fix names and max value
* schema
schema
style
* remove one dbFetchRows
remove 2x dbFetchCell
style
style
remove Legacy dbFetchRow
tests
tests
eloquent
more eloquent
more eloquent
one more gone
* fix properties access
eloquent_insert_update
style
tests
tests
tests
tests
* tests
tests
tests
* adslLineCoding
* Models
* fix not nullable cols in DB from code
default values
typo
rename
typo
schema
fix
fix
vdsl fix now
typo
typo
fix size
fix size
* Power values for VDSL
Power values for VDSL
Power values for VDSL
DB
* cleanup
* Rrd::checkRrdExists
* always enable DSL discovery
style
* xdsl module
* cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
* Fix display
* fix polling and tenth
* remove legacy poller
* Style and Cosmetics
Cosmetics
Cleanup
* Translations
Translations
* exists
exists
* add test support for xdsl
* remove last component call
unused
* translations
* remove non standard onclick event on xdsl line
* Update Discovery Support.md
Update Poller Support.md
toner_gone
* Notification for removal of lnms config:set enable_ports_adsl true
* enable on devices with potential DSL interfaces
* tests are working now
fix teldat tests
* os_schema
* teldat
* move to new module structure
* move to new module structure
* wrong dump function
* wrong dump function
* laravel_through_key hidden
* Update notifications.rss
* Update notifications.rss
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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
* 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>
* Shift HTTP kernel and middleware
* Shift service providers
* Shift console routes
* Shift to class based factories
* Namespace seeders
* Shift PSR-4 autoloading
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them. This allows you to review the commit
diff for once for customizations when you are done Shifting.
Moving forward, consider using ENV variables or create a separate
config file to allow the core config files to remain as default
as possible.
* Shift Laravel dependencies
* Shift return type of base TestCase methods
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:
- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`
[1]: https://phpunit.de/announcements/phpunit-8.html
* Shift cleanup
* console routes
* composer update
* factories
* phpunit
* bootstrap pagination
* model factory
* wip
* Apply fixes from StyleCI (#12236)
* wip
* Apply fixes from StyleCI (#12238)
* wip
* wip
* wip
* wip
* Apply fixes from StyleCI (#12240)
* wip
* Apply fixes from StyleCI (#12242)
* composer update
* Bump to PHP 7.3 minimum
Co-authored-by: Laravel Shift <shift@laravelshift.com>
* Use model::class instead of string for binding
Originally from laravel shift
Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift cleanup
* Delete ports via eloquent event
Chunk delete during purge all operations so we don't use too much memory.
* protect against missing device
* fix whitespace
* fetch less from the database when deleting a device's ports
fix output
* extend FS switches support
* MIB compilation
* HW and Ver
* sensors and CPU
* tests
* correct version
* try to handle properly "down" as not up, for OperStat like lowerLayerDown
* try to handle properly "down" as not up, for OperStat like lowerLayerDown
* try to handle properly "down" as not up, for OperStat like lowerLayerDown
* try to replace "down" with "not up" :)
* fix other ifOperStatus checks
* Device group based access
* Use Permissions class to resolve permissions
Also give port access based on device access
* Convert more pages to use Permissions class
* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json
* Change Models and Permissions
* Clean up ajax_search LIMIT sql
* Convert more pages to use Permissions class
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Refactor FDB Tables to Laravel
Hopefully much better performance with large tables.
Better dns resolution (limit to 4 IPs tried per MAC)
* update style
* de-duplicate IPs
* fixed column width for mac and vlan
* Make DNS column visibility control whether or not we send the dns query.
Hide that column by default.
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.
* Fixed snmptraps.
* Fixed space
* Added bgp down/up and authentication failure
* Fixed typo
* Fixed some typos, arrays, astext and format_hostname
* Updated documentation
* Moved code to a function
* Some refactor
* Minor fixes
* Minor fixes 2
* More minor fixes
* Changes requested by Tony
* Minor fixes
* Moved include to snmptrap.php
* Refactor traps to use object oriented code.
Should trigger events too/instead, but we'll leave that.
Testing todo
* Add tests and fix things so they actually work
Not checking events yet.
* Fixed typo and severity level
* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.
* Fix several issues with phpunit fixtures
* 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