Commit Graph

35 Commits

Author SHA1 Message Date
Tony Murray
74882e3950 Dashboard widget update (#9515)
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.
2018-12-16 21:18:17 +00:00
Tony Murray
957ecc2441 Locations UI and editing (#9480)
* 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
2018-11-29 19:23:40 -06:00
Tony Murray
3e35ee0e7d Refactored and update Location Geocoding (#9359)
- Fix location so it is a regular database relation (this allows multiple devices to be accurately linked to one location and saves api calls)
- Parse coordinates from the location more consistently
- Add settings to webui
- ~~Used [PHP Geocoder](http://geocoder-php.org/), which has lots of backends and is well tested. (also includes reverse and geoip)~~
- Google Maps, Bing, Mapquest, and OpenStreetMap supported initially.
- Default to OpenStreetMap, which doesn't require a key.  They will liberally hand out bans if you exceed 1 query per second though.
- All other Geocoding APIs require an API key. (Google requires a credit card on file, but seems to be the most accurate)
- Update all (I think) sql queries to handle the new structure
- Remove final vestiges of override_sysLocation as a device attribute
- Update existing device groups and rules in DB
- Tested all APIs with good/bad location, no/bad/good key, and no connection.
- Cannot fix advanced queries that use location

This blocks #8868

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.
2018-11-28 22:49:18 +00:00
cchance27
dd39a1ab03 Allow zoom to be decimal and switch zoomSnap to 0.1 for World map (#9259)
Allow 1 decimal place for initial zoom and lower zoom snap interval to improve initial zoom in widgets.

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.
2018-10-06 23:08:11 +01:00
Tony Murray
32a7c50189 Use Laravel authentication (#8702)
* 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
2018-09-11 07:51:35 -05:00
Tony Murray
e9ff8c48b6 Fixed IN db queries (#9077)
Most were fine as they hardcoded the in into the query.
Change them all to use PDO properly.
Did not fix IRCBot, they are are all hardcoded.

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`
2018-08-26 13:42:21 +01:00
Neil Lathwood
65e07d1951 Fixed widgets from updated dbFacile changes (#9033)
* Fixed widgets from updated dbFacile changes

* Updated top interfaces
2018-08-18 17:07:42 +01:00
Tony Murray
7250376104 refactor: Don't access $_SESSION directly for Auth (#8513)
* Don't access $_SESSION directly for Auth

* fix style

* add property annotations
2018-04-07 21:55:28 +01:00
Wheel
b1ec1d14f0 webui: Added override default device grouping radius (#8485)
* Override default device grouping radius

Added an option to override the default group_radius 80. Usefull in fullscreenmap

* Update worldmap.inc.php

* Update worldmap.inc.php
2018-03-29 12:05:38 +01:00
Rémy Jacquin
8d4fca33b1 webui: Devices in maintenance show as blue on worldmap widget (#8207)
* 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>
2018-02-18 20:43:24 +00:00
Neil Lathwood
34c35f3627 webui: Updated remaining display options where we do not show sysName if hostname is IP (#6585)
* webui: Updated remaining display options where we do not show sysName if hostname is IP

* renamed function + simplified
2017-05-05 06:25:58 -05:00
towster
d06aaaa222 fix: Modify worldmap tooltip and popup to use ip_to_sysname (#5914)
* Update discovery-protocols.inc.php

Allow invalid hostnames if discovery by IP is true

* Update AUTHORS.md

signing

* Update AUTHORS.md

signing

* CDP discovery by IP modification

CDP would not discover devices that had invalid DNS value for cdpCacheDeviceId - modified to accept 
Also exclude adding devices whose hostname matches the IP

* Update AUTHORS.md

* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.

I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.

* Made tooltip and popup on worldmap show sysName when ip_to_sysname is config'd

* fixed style
2017-02-16 08:18:40 +00:00
Neil Lathwood
981e974a70 fix: Check lat/lng are numeric rather than !empty #5585 (#5657) 2017-01-31 08:07:27 +00:00
Tony Murray
da2c6c5d3c feature: support large vendor logos (#5573)
These are often wider than icons, with a fallback to icons if the logo is not present
Logos are stored in /html/images/logos
SVG is preferred for HiDPI
2017-01-24 22:16:01 +00:00
Tony Murray
8c639aa5a4 PSR2 Cleanup: /html edition
Travis tests for code conformance. Ignore warnings for now.
Fixed all errors, left most warnings.
2016-08-18 21:29:30 -05:00
laf
624fbede32 Added ability to specify a different tile url 2016-05-02 19:59:45 +00:00
David Bell
566addbfcf Added a space in popup to make it look a bit prettier 2016-03-01 16:15:49 +00:00
David Bell
429ac63498 Fixed tooltip on geomap. 2016-03-01 15:30:25 +00:00
laf
852ecdc309 Updated clusters to show red if at least one host is down 2015-12-13 20:01:08 +00:00
laf
27d507204a Rebased again :/ 2015-11-18 23:51:50 +00:00
laf
37f5b8bcff Added detection of existing settings 2015-11-18 22:01:38 +00:00
laf
7d7479b977 Added parsing support for lat/lng coords from device location 2015-11-16 18:50:52 -08:00
laf
f2df2d0748 Added ability to select down/up devices on worldmap 2015-11-16 17:27:47 -08:00
Daniel Preussker
1a5bf414c3 Revert 0402afe5f2 2015-11-05 09:49:24 +00:00
Daniel Preussker
2bd13d436f Resize WorldMap to widget canvas 2015-11-04 13:59:27 +00:00
Mike Rostermund
fcf3a80655 Allow user to influence when devices are grouped on world map from widget settings 2015-10-17 11:31:57 +02:00
Sebastian Neuner
ef424da411 world map: move markers to foreground for hosts that are down 2015-10-13 16:46:31 +02:00
laf
100e5a9582 Added distinct to query to stop duplicated devices 2015-09-22 12:40:21 +00:00
laf
e7055a7cb3 Stop the worldmap needing coords before displaying 2015-09-20 20:37:28 +00:00
Sergiusz Paprzycki
1b5b5f1bc7 Settings page for Worldmap widget 2015-09-10 15:26:19 +01:00
Sergiusz Paprzycki
a54dcd76ab Leaflet map permissions check #1855; SQL/query modified as requested 2015-09-09 14:05:17 +01:00
Sergiusz Paprzycki
d568830df3 Leaflet map permissions check #1855 2015-09-09 14:05:17 +01:00
Sergiusz Paprzycki
29c55eb415 Leaflet module now checks device permissions 2015-09-09 14:05:17 +01:00
laf
ca3869f48b Added mouseclick / mouseleave to stop map zooming around 2015-08-31 19:10:53 +00:00
laf
2e24c633c9 Added Syslog, Eventlog and Globe Map widgets 2015-08-01 15:36:15 +00:00