* Avoid a redirect loop if we have a toasts (login error)
* 1st try to a new approach
* Fix extra return
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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
* Global VLAN ports page
* Show a list of devices too
* Fix a little theme color issues
* oops
* Just put css in the theme
* Apply fixes from StyleCI
---------
Co-authored-by: Tony Murray <murrant@users.noreply.github.com>
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* Improved module controls
Ability to clear device module overrides from webui
Ability to clear all database data for a module (helpful for module you have disabled that still have data)
Database reset only works for modern modules.
* Update functions.php
* On branch f5-cert-expiration-check
Changes to be committed:
modified: app/Http/Controllers/Device/Tabs/LoadBalancerController.php
modified: includes/discovery/loadbalancers/f5-ltm.inc.php
modified: includes/html/pages/device/loadbalancer.inc.php
new file: includes/html/pages/device/loadbalancer/f5-cert.inc.php
modified: includes/polling/loadbalancers/f5-ltm.inc.php
These patches extend the F5-Loadbalancer module to support an expiration check of
the installed certificates.
* some minor corrections to (hopefully) pass the style-check
* a few more impovements to pass the style-chek
On branch f5-cert-expiration-check
Your branch is up to date with 'origin/f5-cert-expiration-check'.
Changes to be committed:
modified: includes/discovery/loadbalancers/f5-ltm.inc.php
modified: includes/polling/loadbalancers/f5-ltm.inc.php
* more style-check adaptions...
* 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>
* Device Ports settings
* Save port settings per user
* style
* Delete user pref if it matches the defaults
* Because we are saving settings now, we must explicitly set to make the links work
* Change port pagination default to 32
that way this includes all ports for most switches.
Most port counts are base 2, so change pagination options to match
* ignore upstream missing closure type
* Fix style again
* more
* 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>
* fix
* Fix the issue
The left join with the device was pulling in a "port" field which then caused Eloquent to think the port relationship was already loaded.
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Remove flasher
Just use a bit of custom code to interface with toastr js
This is able to retain our custom theme and work properly
* Fix style issues
* Missed reference rename
* Remove test code :)
* Fix a missed rename
* Fix one more missed reference
* Fix typo
* Iterate in javascript and separate processing
* Widget refresh/destroy events
* Remove old dom and unbind events
* fix whitespace
* Fix up bootgrid tables, they inserted a div before the first div breaking event propagation
switch to regular js function to scope variables instead of jquery
* Handle settings the same way as the normal widget
* Use standard init_map and add layer control
* May need L.Control.Locate now
* Set maxZoom for marker cluster
* Try setMaxZoom
* worldmap size 100 and resize on refresh/widget resize
* Add resize event (and throttle it a bit)
* Further worldmap cleanup
* Move most javascript to common js, will cause js errors until page is reloaded, but better in the long run
* Custom Maps: geo map and color background
tabs blade component
geo-map blade component and related script enhancements
* Update css/js
* style fixes
* update db_schema.yaml
* fix db_schema hand edit
* ignore phpstan being wrong
* Handle null
* another possible null spot
* Use standard file cache for custom map background images
* Create map->image as jpeg so we can compress it
* whitespace fix
* Fix background cancel button when other type is selected than the saved type
* Save and restore layer
* Map must exist before creating static image
* Don't show set as image button for Google and Bing.
Bing gives an odd error, but Google won't work.
* Map Management: Show Groups
* reorganize group selector a bit
* Use uuid to prevent issues with unicode strings and other oddities
* Edit buttons should not be primary
* Reactivity for small screens
* Merge duplicate toBytes functions
Replace other duplicate code and add tests
* Allow space between similar to formatSI output
* Style fixes
* Match previous behavior in Docker app
* Improved Latency graph
Store loss+jitter info in rrd instead of database
New graph icmp_perf (legacy ping_perf still valid referencing part of the newer data)
Delete device_perf table
* Change loss to an area so it is more visible
* Style fixes
* Cleanups from phpstan & tests
* exit_code fix
* Remove alert usage of device_perf
* Don't use magic __get
* Add test for bulkPing
Add host to previous tests
* style fixes
* Fix issue fping error responses
* Added options on edges for a label and to show graphs as bps as well as percentages
I think that vis.js needs to be updated to allow both bps and percentages at the same time.
* Add database migration
* Try to avoid putting multiple mid points in the same position
* Added a URL parameter for screenshot mode, where node labels are blanked out
Also fixed up the node labels in the editor
* Added legend to the editor as well as database options for reversing arrows and adjusting the edge separation
All features have been implemented in the editor, but need to be implemented in the viewer
* Fix missing defaults on the edit map list page
Added arrow reverse code to the viewer
Added legend code to the viewer
Added code to the editor to correclty handle moving the legend
* Formatting fixes and DB schema update
* Remove view from database schema
* Initial commit with editor.
* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database
* Added menu items and sorted out access permissions for maps and nodes
* Cleaned up some of the conditions in the javascript section of the blade
* Started work on the map data save
* Save of map nodes and edges is complete
* Got the map to load data on page load and added the delete functionality
* Fixed a typo and made link colour black if intertface is down
* Various usability fix-ups
* Show the save button on node and edge delete
* Fixed up access for users without global read
* Increase typeahead search size and standardised the way modals are triggered.
* Update data fetch to copy values into array so I can add more fields
* Convert blank array check to use count()
* Formatting changes
* More formatting fixes
* Formatting again
* DB schema update
* Revert previous commit
* Pass device id to pages
* Remove bad characters from javascript
* Re-add the - character in search results
* Update to avoid background colour being set to the current colour for offline devices
* Fixed a bug in speed detection when no suffix is given
* Fixed up the speed colour calculation and added comments
* Update default edge font size to 12
* Reduce arrow size
* Formatting fix
* Update the custom map controller to handle null interface speeds
* Alter JSON columns to be longtext instead
* Only refresh map data on successful save
* Update labels on default settings to make it clear that they are not saved
* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result
* Added missing vis.js images for the editor
* Split the custom map blade into different pages
* formatting fixes
* Initial commit with editor.
* Added custom map models and database migrations.
Modified the controller and view to support saving the custom map settings to the database
* Added menu items and sorted out access permissions for maps and nodes
* Cleaned up some of the conditions in the javascript section of the blade
* Started work on the map data save
* Save of map nodes and edges is complete
* Got the map to load data on page load and added the delete functionality
* Various usability fix-ups
* Show the save button on node and edge delete
* Fixed up access for users without global read
* Increase typeahead search size and standardised the way modals are triggered.
* Convert blank array check to use count()
* Formatting changes
* More formatting fixes
* Formatting again
* DB schema update
* Revert previous commit
* Pass device id to pages
* Remove bad characters from javascript
* Re-add the - character in search results
* Update to avoid background colour being set to the current colour for offline devices
* Reduce arrow size
* Only refresh map data on successful save
* Update labels on default settings to make it clear that they are not saved
* Added timestamps to all custom map tables
Use HasFactory instead of static definitions for custom map tables
convert JSON DB fields to longtext and updated PHP to do the appropriate JSON decoding as a result
* Added missing vis.js images for the editor
* Split the custom map blade into different pages
* Updated the custom maps to use the select2 searches for ports and devices
* Fix port search clearing with select2
* Update DB schema to add timestamps
* Add the ability to set a node alignment value where nodes will align to a grid
* Add a checkbox to re-center edge lines
* Schema update for node alignment
* Removed unused route
* Fixups after rebase
* Remove DevicePortSearchController
* Rebase fixups
* Remove unneeded controller
* Formatting fixes
* Update all network map documentation
* Fixed typo in doc
* Change background imgae database migration
* Update migration for custom map background to fix schema error
* Place a try/catch around the BLOB->MEDIUMBLOB migration
* Formatting fix
* Moved custom map background image location and added some SVG images to test as image options
* Updated the editor to use a static set of device images
* Update the image logic in the editor and added to the viewer
* DB Schema update
* Formatting
* remove svg height/width attributes
* Added some more icon options for arrows
* Added database migration to allow nodes to link to another custom map
Fixed an error in the image migration
* Added the ability to link a node to another custom map
* Formatting fixes
* DB Schema update
* Remove images-custom directory
* Explicitly cast map ID to int
* Made the image selection list dynamic based on the contents of the custom map icons directory
* Formatting fix
* Double-clicking on a link will take you to the link
* Remove whitespace
* Add translations
fix an xss and hopefully not add any new ones
refactor node image to use translations with fallback
* split modals out into separate files
return width/height to avoid js scope issues
* Formatting fixes
* refactor edit select page into a "manage" page
Still left:
validation/custom request
Controller refactor
ui tweaks
* MapSettingsRequest
* Refactor more routes, policy, controller
I think this is the last refactor. Everything is now organized in a standard way.
Missing a method to check if a user has access to a map
* Fix booleans and style
* Add versioning to the background image to prevent browser caching
* Fixed the background image update by splitting it into a separate modal
Changed the delete button on the map editor screen to return to the map list
* Formatting fix
* Added double-click actions in editor to edit nodes and edges
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* search improvement for PortNac
* rename func
* style
* DB migration for timestamps
* style
* rules
* fix manually db_schema
* remove vlan only search for now
* add a bool column to ident historical nac entries
* add columns to the table
* queryByOui renamed everywhere
* age value instead of delete
* style
* style
* use Illuminate\Support\Facades\DB;
* tests fix
* module_tables.yaml
* dump model instead of tests/module_tables.yaml
* tests
* testVrp
* daily
* config
* display historical NAC entries in global view
* same for NAC device page
* nac tab on device/port view
* and display the tab link if necessary
* filter by port as well
* historical data in port tab
* formatters