Commit Graph

272 Commits

Author SHA1 Message Date
Leo
9f8cb17b01
Navigation: Use new page layout in Service accounts item page (#54200)
* use navId, pageNav and update alignments of service account page

* Fixing item header when feature is disabled

* Fix orgs item page

* Minor tweak to subtitle for service account item page

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-08-25 13:11:30 +02:00
Ryan McKinley
b483ac322f
Chore: replace React.FC<Props> with simple function component (#54123) 2022-08-24 16:54:34 -04:00
Kristina
5f57edd08a
Allow for clickable link (#54067) 2022-08-23 12:17:58 -05:00
eledobleefe
1766ea9fdf
Navigation: Use new page layout in Server Admin > Orgs pages (#54018) 2022-08-23 18:38:46 +02:00
Ashley Harrison
3cf95d7eee
Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00
Ashley Harrison
0550808126
use navId over navModel, add page descriptions + create pageNav for child pages (#53936) 2022-08-19 13:32:43 +01:00
Karl Persson
4ff4aaab23
RBAC: Remove builtin role code (#53767)
* remove rbacBuiltInRoleAssignmentEnabled from frontendsettings

* RBAC: Remove RBACBuiltInRoleAssignmentEnabled

* RBAC: Remove code for builtin role

* RolePicker: Remove unused prop

* RolePicker: Rename builtinRole to basicRole

* RolePicker: Rename onBuiltinRoleChange to onBasicRoleChange

* RolePicker: Rename properties
2022-08-18 12:25:37 +02:00
Karl Persson
57d87389e0
RBAC: Remove user permissions in org when user is removed (#53782)
* RBAC: Add orgID to DeleteUserPermissions

* RBAC: Refactor query to delete all permissions in specified org, 0
deletes all permissions

* Delete user permission in org when user is removed

* Remove call to delete permissions in frontend

* Remove user permissions if removed orgs is detected during oauth sync

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2022-08-17 16:32:02 +02:00
Karl Persson
7e16d5b4b4
RBAC: Fix various ui issues for role picker (#53589)
* RolePicker: Check if user has permissions to delegate roles

* UserRolePicker: Require both UserRolsAdd and UserRolesRemove for chaning
roles

* RolePicker: Add option for controlling if roles can be updated to
RolePicker

* UserOrgs: Dont try to fetch roles with wrong permission

* RolePicker: make usage consistent with allowed actions

* RolePickerMenu: Remove unused property

* UserOrgs: Check for correct permission

* UserRolePicker: add apply to controll apply behaviour instand of
updateDisabled

* UserOrgs: Check for correct permission when trying to update roles

* RolePicker: Disable button if no roles or org role can be updated

* RolePicker: Always close on update

* RolePicker: Fix issue with updating immutable value

* ServiceAccountsListItem: Pass correct value to RolePicker

* ServiceAccountCreatePage: Pass correct value
2022-08-12 09:16:16 +02:00
Ieva
ba76be174f
Access control: Fix org user removal for OSS users (#52473)
* allow setting team managed permissions for service accounts

* Revert "allow setting team managed permissions for service accounts"

This reverts commit 7598626397.

* fix org user removal for OSS

* remove comment
2022-07-20 10:18:41 +01:00
Jo
13b23fd512
Auth: Lockdown non-editables in frontend when external auth is configured (#52160)
* Auth: Lockdown user profile edit if external synced

* Auth: use builtin isExternal

* Auth: When user is synced, orgs will be overriden on next login
2022-07-15 09:10:20 +02:00
Torkel Ödegaard
1e85a6f4fd
TopNav: New page layouts (#51510)
* First stab at new page layouts behind feature toggle

* Simplifying PageHeader

* Progress on a new model that can more easily support new and old page layouts

* Progress

* rename folder

* Progress

* Minor change

* fixes

* Fixing tests

* Make breadcrumbs work

* Add tests for old Page component

* Adding tests for new Page component and behavior

* fixing page header test

* Fixed test

* AppChrome outside route

* Renaming folder

* Minor fix

* Updated

* Fixing StoragePage

* Fix for banners

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-07-06 17:00:56 +02:00
Ryan McKinley
4a00c7ebde
Storage: Add basic file upload management (#50638) 2022-07-05 10:53:41 -07:00
Ashley Harrison
803473f479
Chore: Enable useUnknownInCatchVariables for stricter type checking in catch blocks (#50591)
* wrap a bunch of errors

* wrap more things!

* fix up some unit tests

* wrap more errors

* tiny bit of tidy up
2022-06-15 08:59:29 +01:00
Ieva
5dbea9996b
RBAC: Make RBAC action names more consistent (#49730)
* update action names

* correctly retrieve teams for signed in user

* remove test

* undo swagger changes

* undo swagger changes pt2

* add migration from old action names to the new ones

* rename from list to read

* linting

* also update alertign actions

* fix migration
2022-06-02 13:14:48 +01:00
Alexander Zobnin
50538d5309
ServiceAccounts: refactor UI (#49508)
* ServiceAccounts: refactor ServiceAccountRoleRow

* Refactor ServiceAccountRoleRow

* Refactor ServiceAccountProfile

* Refactor components

* Change service accounts icon

* Refine service accounts page header

* Improve service accounts filtering

* Change delete button style

* Tweak account id

* Auto focus name field when create service account

* Add disable/enable button

* Enable/disable service accounts

* Optimize updating service account (do not fetch all)

* Remove status column (replace by enable/disable button)

* Add banner with service accounts description

* Add tokens from main page

* Update tokens count when add token from main page

* Fix action buttons column

* Fix tokens count when change role

* Refine table row classes

* Fix buttons

* Simplify working with state

* Show message when service account updated

* Able to filter disabled accounts

* Mark disabled accounts in a table

* Refine disabled account view

* Move non-critical components to separate folder

* Remove confusing focusing

* Fix date picker position when creating new token

* DatePicker: able to set minimum date that can be selected

* Don't allow to select expiration dates prior today

* Set tomorrow as a default token expiration date

* Fix displaying expiration period

* Rename Add token button

* Refine page styles

* Show modal when disabling SA from main page

* Arrange role picker

* Refine SA page styles

* Generate default token name

* More smooth navigation between SA pages

* Stop loading indicator in case of error

* Remove legacy styles usage

* Tweaks after code review

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Get rid of useDisapatch in favor of mapDispatchToProps

* Tests for ServiceAccountsListPage

* Tests for service account page

* Show new role picker only with license

* Get rid of deprecated css classes

* Apply suggestion from code review

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Fix service accounts icon

* Tests for service account create page

* Return service account info when update

* Add behaviour tests for ServiceAccountsListPage

* Fix disabled cursor on confirm button

* More behavior tests for service account page

* Temporary disable service account migration banner

* Use safe where condition

Co-authored-by: Jguer <joao.guerreiro@grafana.com>

* Apply review suggestions

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Remove autofocus from search

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
2022-06-01 09:35:16 +02:00
Brian Gann
5fc5899462
Access Control: Add rolepicker when Fine Grained Access Control is enabled (#48347) 2022-05-23 16:13:55 +02:00
Maria Alexandra
6e530d45bc
grafana/ui: Add default type="button" to <Button> (#48183) 2022-05-04 18:36:14 +02:00
Ashley Harrison
06d3c27bc1
Select: Portal menu by default (#48176)
* Remove menuShouldPortal from all <Select /> components

* fix unit tests

* leave menuShouldPortal as an escape hatch

* Fix import order
2022-05-04 15:12:59 +01:00
Krzysztof Dąbrowski
c41397a6e7
LDAP: validate organization role during parsing (#37188)
* LDAP: validate organization role during parsing

* Trigger a new build

* Check if grafana_admin is present
2022-05-04 09:35:10 +02:00
Ryan McKinley
e0aeb83786
Export: introduce export plumbing (behind dev feature flag) (#48091) 2022-04-25 16:59:18 -07:00
Josh Hunt
3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Alex Khomenko
6c1994cb86
Use trialExpiry for determining if a user is on trial (#47975) 2022-04-20 21:37:54 +03:00
kay delaney
e19e934178
UserListAdminPage: Reset page when changing filters (#47958) 2022-04-20 16:02:33 +01:00
Alex Khomenko
9c0aa09a85
Feature Highlights: update upgrade components UI (#47885)
* Highlights: add action prop

* Highlight team sync for trial users

* Add badges for trial highlights

* Move events to UpgradeBox

* Fix undefined license settings

* Update snapshot

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update public/app/features/datasources/state/navModel.ts

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Update copy and event handling

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-04-20 15:08:49 +03:00
Gabriel MABILLE
3440e7c8f7
AccessControl: Fix locked role picker in orgs/edit page (#46539)
* AccessControl: Fix locked role picker in orgs/edit page

* Use correct org when computing metadata
2022-03-24 08:58:10 +01:00
Artur Wierzbicki
3e53a08090
#44449: hide dashboard preview admin UI (#45493) 2022-02-17 12:34:07 +04:00
Karl Persson
3cf31451ec
Access control: Reduce number of API calls for role picker (#44905)
* Restucture state for TeamRolePicker and UserRolePicker

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-02-04 14:54:42 +01:00
Gabriel MABILLE
86756ee3e5
AccessControl: introduce a different accesscontrol check (licensed or not) (#44777)
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2022-02-03 16:27:53 +01:00
renovate[bot]
d87cd6f26c
Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
Gabriel MABILLE
ba839d1f7c
AccessControl: Refactor addAccessControlQueryParam (#44191)
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2022-01-19 11:27:45 +01:00
Josh Hunt
36983d8d3b
Chore: Mark up User Profile page for translation (#43874)
* Mark up User profile page for translation

* Extract new messages

* updated selectors

* update selectors

* wip TestProvider

* update tests

* fix field labels

* extract new messages

* don't store date objects in redux state

* don't store date objects in redux state
2022-01-17 16:58:49 +00:00
Ezequiel Victorero
13223140ad
Disable server stats buttons when user doesn't have permissions to access those links (#43603) 2022-01-13 10:42:09 -03:00
Ryan McKinley
b404aae9c3
Crawler: use existing render service to generate dashboard thumbnails (#43515)
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2022-01-10 08:21:35 -08:00
Dan Cech
34f757ba5a
switch to using featureEnabled for enterprise features (#41559)
* switch to using featureEnabled for enterprise features
2022-01-07 15:11:23 -05:00
Ryan McKinley
8cf63a9d44
Chore: convert settings page to function component (#43731) 2022-01-07 17:59:14 +01:00
J Guerreiro
056e143664
AccessControl: Present user edit actions according to AC metadata (#43602)
* AccessControl: Add user metadata to user detail view

* AccessControl: Do not present delete or disable buttons based on ac metadata in admin/users

* AccessControl: do not allow password changing or user editing without permission

* AccessControl: Fetch global:users scope for admin

* AccessControl: optimize org.user metadata fetch

* Chore: early return if ac metadata is not available
2022-01-05 09:59:17 +01:00
Alexander Zobnin
177a0d69d1
Disable only built-in role selector for external users (#42197) 2021-11-24 17:25:28 +03:00
Gabriel MABILLE
da5327ea14
AccessControl: RolePicker fetch roles in org (#41927) 2021-11-19 09:50:01 +01:00
Gabriel MABILLE
0ee0a0b7a0
AccessControl: FGAC permissions for orgs endpoint on frontend (#41050)
* AccessControl: FGAC permissions for orgs endpoint on frontend

Protect org update endpoints

add or refactor missing right messages

cover org page

* removing scopes from orgs

* Perform permission control with global org

* Perform the error handling in case of 403

* Simplify frontend code by requiring read access for sure

* Remove roles I added to decrease the number of changes

* Remove the check for server admin to reduce the number of changes

* change error message

* Cleaning todos

* Remove unecessary changes

* Fix tests

* Update test snapshot

* Update pkg/api/roles.go

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update public/app/features/admin/AdminEditOrgPage.tsx

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Format AdminEditOrgPage for linting

* Update public/app/features/admin/AdminEditOrgPage.tsx

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* Update public/app/features/admin/AdminEditOrgPage.tsx

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update public/app/features/admin/AdminListOrgsPage.tsx

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Commit suggestions

* Commit suggestion canRead canWrite

* fix typo

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Vardan Torosyan <vardants@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2021-11-18 14:10:38 +01:00
Alexander Zobnin
757463bd27
Add new role picker to admin/users page (#40631)
* Very simple role picker

* Style radio button

* Separate component for the built-in roles selector

* Custom component instead of Select

* refactor

* Custom input for role picker

* Refactor

* Able to select built-in role

* Add checkboxes for role selector

* Filter out fixed and internal roles

* Add action buttons

* Implement role search

* Fix selecting roles

* Pass custom roles to update

* User role picker

* Some UX work on role picker

* Clear search query on close

* Blur input when closed

* Add roles counter

* Refactor

* Add disabled state for picker

* Adjust disabled styles

* Replace ChangeOrgButton with role picker on admin/users page

* Remove unused code

* Apply suggestions from code review

Suggestions from the @Clarity-89

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Refactor: fix some errors after applying review suggestions

* Show fixed roles in the picker

* Show applied fixed roles

* Fix role counter

* Fix checkbox selection

* Use specific Role type for menu options

* Fix menu when roles list is empty

* Fix radio button name

* Make fixed roles from built-in role disabled

* Make whole menu scrollable

* Add BuiltInRole type

* Simplify appliedRoles

* Simplify options and props

* Do not select and disable inherited fixed roles

* Enable selecting fixed role

* Add description tooltip

* Fix role param name

* Export common input styles from grafana/ui

* Add ValueContainer

* Use value container

* Refactor appliedRoles logic

* Optimise role rendering

* Display selected roles

* Fix tooltip position

* Use OrgRole type

* Optimise role rendering

* Use radio button from grafana UI

* Submenu WIP

* Role picker submenu WIP

* Hide role description

* Tweak styles

* Implement submenu selection

* Disable role selection if it's inherited

* Show new role picker only in Enterprise

* Fix types

* Use orgid when fetching/updating roles

* Use orgId in all access control requests

* Styles for partially checked checkbox

* Tweak group option styles

* Role picker menu: refactor

* Reorganize roles in menu

* Fix input behaviour

* Hide groups on search

* Remove unused components

* Refactor

* Fix group selection

* Remove icons from role tags

* Add spacing for menu sections

* Rename clear all to clear in submenu

* Tweak menu width

* Show changes in the input when selecting roles

* Exclude inherited roles from selection

* Increase menu height

* Change built-in role in input on select

* Include inherited roles to the built-in role selection

* refcator import

* Refactor role picker to be able to pass roles and builtin roles getters

* Add role picker to the org users page

* Show inherited builtin roles in the popup

* Filter out managed roles

* Fix displaying initial builtin roles

* Show tooltip only for non-builtin roles

* Set min width for focused input

* Do not disable inherited roles (by design)

* Only show picker if access control enabled

* Fix tests

* Only close menu on click outside or on indicator click

* Open submenu on hover

* Don't search on empty query

* Do not open/close menu on click

* Refactor

* Apply suggestions from code review

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Fix formatting

* Apply suggestions

* Add more space for close menu sign

* Tune tooltip styles

* Move tooltip to the right side of option

* Use info sign instead of question

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-11-17 18:22:40 +03:00
kay delaney
c8b7373016
A11y/UserAdminPage: Improves tab navigation and focus management (#41321) 2021-11-05 14:45:00 +00:00
kay delaney
3c5003373c
A11y: Fix various fastpass accessibility issues (#41154) 2021-11-02 15:27:07 +00:00
Alex Khomenko
b5f39637d4
Admin: Enable extending filters (#39825)
* Setup extensible filters

* Fix test

* Handle filter as array

* Add className

* Abstract getFilters

* Make docs link external

* Use underline for links in tooltips instead of link color

Co-authored-by: Selene <selenepinillos@gmail.com>
2021-10-07 17:41:52 +03:00
Ieva
52220b2470
AccessControl: frontend changes for adding FGAC to licensing (#39484)
* refactor licenseURL function to use context and export permission evaluation fction

* remove provisioning file

* refactor licenseURL to take in a bool to avoid circular dependencies

* remove function for appending nav link, as it was only used once and move the function to create admin node

* better argument names

* create a function for permission checking

* extend permission checking when displaying server stats

* enable the use of enterprise access control actions when evaluating permissions

* import ordering

* move licensing FGAC action definitions to models package to allow access from oss

* move evaluatePermissions for routes to context serve

* change permission evaluator to take in more permissions

* move licensing FGAC actions again to appease wire

* avoid index out of bounds issue in case no children are passed in when creating server admin node

* simplify syntax for permission checking

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* update loading state for server stats

* linting

* more linting

* fix test

* fix a frontend test

* update "licensing.reports:read" action naming

* UI doesn't allow reading only licensing reports and not the rest of licensing info

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-10-05 14:54:26 +01:00
Alex Khomenko
62dc10829a
Admin: Show licensed roles and unit membership in UI (#39773)
* Extend User type

* Render licensed roles and org units

* Combine admin icon with units

* Extract search users to a new service

* Fix wire provider

* remove mock data

* Fix icon margin

* Fix common_test and remove RouteRegister

* Remove old endpoints

* Fix test

* Add indexes to dashboards and orgs tables

* Fix lint

* Revert docs changes

* undo docs formatting

* Change order of input and filters

* Abstract aria-label into a function

* Add accessible info about user's membership

* UI tweaks

Co-authored-by: spinillos <selenepinillos@gmail.com>
2021-09-29 18:26:50 +03:00
Dominik Prokop
f887576a27
Table panel: Make filter case insensitive (#39746)
* Expose FilterInput from grafana/ui

* Make table filter case insensitive

* Update packages/grafana-ui/src/components/Table/FilterList.tsx

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-09-29 09:35:41 +02:00
kay delaney
00dad0f4e8
A11y: Fix fastpass issues for /admin/* pages (#39435)
* A11y: Fix fastpass issues for /admin/* pages
See #39429
2021-09-22 21:23:54 +01:00
Selene
b31316753a
Disable external user's change role in admin (#39172)
* Disable external user's change role in admin

* Missing part of the tooltip text

* Disable change button with the tooltip instead dropdown

* Missing refactor

* Apply suggestion
2021-09-21 17:47:35 +02:00
Ashley Harrison
52d7358d83
Chore: More TypeScript strict fixes (#39300)
* Chore: More TypeScript strict fixes

* Chore: Use filter instead of reduce to fix TypeScript error

* Chore: Retype AzureResultFormat as string

* Chore: Account for getBlocks() poor typings of reduce

* Chore: Need to explicitly check for undefined here since '' is falsey
2021-09-17 09:47:23 +01:00