Commit Graph
16 Commits
Author SHA1 Message Date
Tony MurrayandGitHub 2cd207028a Implement RBAC (only built in roles) (#15212)
* Install bouncer

* Seeder and level migration

* Display and edit roles

* remove unused deluser page

* Update Radius and SSO to assign roles

* update AlertUtil direct level check to use roles instead

* rewrite ircbot auth handling

* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider

* Small cleanups

* centralize role sync code
show roles on user preferences page

* VueSelect component WIP and a little docs

* WIP

* SelectControllers id and text fields.

* LibrenmsSelect component extracted from SettingSelectDynamic

* Handle multiple selections

* allow type coercion

* full width settings

* final style adjustments

* Final compiled assets update

* Style fixes

* Fix SSO tests

* Lint cleanups

* small style fix

* don't use json yet

* Update baseline for usptream package issues

* Change schema, not 100% sure it is correct
not sure why xor doesn't work
2023-08-28 00:13:40 -05:00
ce0734ff5d Added support for user timezones and user browser timezone by default (incomplete) (#13626)
* Added support for user timezones and user browser timezone byt default

* Formatting fixes

* Use the timezone for alert log display

also added validation for the timezone because it's being used in SQL.

* Formatting fixes

* Added return type

* Formatting"

* Update the latency graphs to use the user timezone

* Simplify the web routes config

* Update phpstan to ignore type error

* Fixed up the phpstan config

* Reverse phpstan change

* Re-apply phpstan override

* Remove the option to unset the session timezone

* Formatting fix

* Update outge and event logs to use session timezone

* Fix route for the timezone control

* Made the timezone more dynamic

* Fix a logic error that was stopping the timezone from being set automatically on login

* Prevent getPref from being called twice

* again prevent getPref double call

* getPref double call

* Fixed typo made during merge

* Fixed merge error in phpstan-baseline.neon

* Change spaces to tabs in phpstan-baseline.neon

* Update error count

---------

Co-authored-by: Tony Murray <[email protected]>
2023-05-09 10:24:48 -05:00
mprins-RAMandGitHub ad2ef227da Userlist description fix (#14482)
* Fix for displaying user description when F2A isnt used

* Revert "Fix for displaying user description when F2A isnt used"
This reverts commit d9f170d7e6.

* Fix for displaying user description when F2A isnt used
2022-10-22 11:47:24 +02:00
Tony MurrayandGitHub 3e3752eb72 Fix users xss (#14469)
Prevent bootgrid from unescaping already escaped strings.
2022-10-17 12:18:38 -05:00
Tony MurrayandGitHub 0959df53e5 Don't use @lang() it doesn't escape the string (#13566)
* Don't use @lang() it doesn't escape the string
Found an issue where a string contained a single quote and broke the page.

* fix regex errors

* fix another style of mis-replacement

* found another issue
2021-11-28 21:17:11 -06:00
Tony MurrayandGitHub c563efd284 fix non-static call (#13030) 2021-07-12 19:59:05 -05:00
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 <[email protected]>
2021-07-09 21:36:08 +02:00
JellyfrogandGitHub 6dba2555a7 Convert blade to panel component (#11957) 2020-07-23 23:13:00 -05:00
JellyfrogandGitHub d2a9ffdb83 Fix case sensitiv translations (#11463)
On case insensitive systems, @lang('Auth') would match the auth.php file
and return an array instead of the string "Auth", causing a "Array to string conversion error"
2020-04-22 23:57:30 +02:00
SourceDoctorandPipoCanaja a0e9716596 Enabled state as icon (#10984) 2019-12-30 22:50:48 +01:00
SourceDoctorandTony Murray 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 MurrayandGitHub 3ead462549 Enable CSRF protection (#10447)
* Enable CSRF protection

* fix style issues
2019-07-17 07:20:26 -05:00
Tony MurrayandGitHub 41623f2894 User Management: use url helpers (#10288)
Small fix for success string
2019-05-31 20:04:01 -05:00
Tony MurrayandGitHub eea0d4d359 Only allow mysql auth type to add users (#10283) 2019-05-31 00:57:36 -05:00
Tony MurrayandGitHub 143cf4cdee Move container to page in blade tempates (#10195)
That way the page can decide container-fluid or container
Remove some unused blade templates as we have our own now
2019-05-09 21:44:18 -05:00
Tony MurrayandGitHub 6e6e54cb98 New User Management (#9348)
* Rewrite user management.

Error management

Revert edituser legacy page

Connect user permissions button to legacy page for now.

Implement user creation
Refine form

Remove PingCheck.php accidental add :)

Fixes for redirection and deletion

More fixes: realname accidental validation setting, hide can modify for read-only auths

Use a panel to improve style

Add icon to panel-title

Not allowed to delete own user (at least via the click of a button)

Use request validation to reduce complexity of controller.
Improve protection against users doing things they should not.

Switch to horizontal form and not nearly as wide of layout :)

delete without refresh.
Fix for buttons

Include all users (not just from this auth)
Hide the auth column if there is only one auth type

Show username if real name isn't set

Don't allow creation of demo users via the webui

a fix to the lnms user:add command, it didn't set auth_id

update edituser.inc.php to current
just redirect to users page

* Remove TwoFactorTest for now

* Update edituser.inc.php

* Update .env.dusk.testing

* Enable 2fa for 2fa test...
2019-04-22 19:01:39 -05:00