Commit Graph

777 Commits

Author SHA1 Message Date
Leonard Gram
9a7eb5c327 Merge branch 'master' into provisioning 2018-02-12 14:19:20 +01:00
Marcus Efraimsson
e1e0b5f951 teams: use orgId in all team and team member operations (#10862)
Also fixes issue in org users tests for postgres
2018-02-09 17:26:15 +01:00
Torkel Ödegaard
4d5a24a6c4 permissions: might have a solution for search 2018-02-09 17:24:34 +01:00
bergquist
59cd2d5102 provisioning: avoid caching and use updated field from db 2018-02-09 15:23:38 +01:00
Torkel Ödegaard
e949eb3f58 Merge branch 'master' into dashboard-search-permissions-filter 2018-02-09 15:16:34 +01:00
Marcus Efraimsson
a86f2fa34b user picker should only include users from current org (#10845) 2018-02-09 10:42:37 +01:00
Marcus Efraimsson
8921b0b517 db test: allow use of env variable for database engine to run tests for 2018-02-08 19:16:45 +01:00
Torkel Ödegaard
8e8f3c4332 dashboard and folder search with permissions 2018-02-08 17:11:01 +01:00
Leonard Gram
5a85fb6d32 Merge branch 'master' into provisioning 2018-02-08 13:43:19 +01:00
Marcus Efraimsson
0e8377a9f4 Update logic for create/update dashboard, validation and plugin dashboard links (#10809)
* enables overwrite if dashboard allready exist in folder

* dashboard: Don't allow creating a folder named General

* dashboards: update logic for save/update dashboard

No id and uid creates a new dashboard/folder.
No id and uid, with an existing title in folder allows overwrite
  of dashboard.
Id without uid, allows update of existing dashboard/folder without
  overwrite.
Uid without id allows update of existing dashboard/folder without
  overwrite.
Id without uid, with an existing title in folder allows overwrite
  of dashboard/folder and updated will have the uid of overwritten.
Uid without id, with an existing title in folder allows overwrite
  of dashboard/folder and new will have the same uid as provided.
Trying to change an existing folder to a dashboard yields error.
Trying to change an existing dashboard to a folder yields error.

* dashboards: include folder id when confirmed to save with overwrite

* dashboards: fixes due to new url structure

Return importedUrl property in response to importing dashboards and
getting plugin dashboards and use this for redirects/links in the
frontend.
2018-02-08 12:48:38 +01:00
Leonard Gram
b549d29319 Merge branch 'master' into provisioning 2018-02-08 11:01:09 +01:00
Torkel Ödegaard
b84fd3a7ae fix: initial fix for #10822 2018-02-07 17:54:21 +01:00
Daniel Lee
db1423eebc dashfolders: fixes #10820 2018-02-07 15:13:34 +01:00
Torkel Ödegaard
cf7be5da0b fix: changed dashboard title length to match slug length, will fix mysql index size issue, fixes #10779 2018-02-06 11:03:37 +01:00
Daniel Lee
2d1bd270fb Stale permissions (#10768)
* dashfolders: hide permissions in settings if folder has changed

and the dashboard has not been saved yet. Otherwise the use will
see stale permissions from the original folder.

* dashfolders: return folder url for inherited permissions
2018-02-05 14:28:24 +01:00
Carl Bergquist
04a94ce396 adds unique index for org_id+folder_id+title on dashboards (#10766) 2018-02-05 14:11:19 +01:00
Marcus Efraimsson
a879dd8c0c dashboards: render correct link for folder when searching for dashboards (#10763)
Fixes #10761
2018-02-05 13:23:24 +01:00
Carl Bergquist
cc0cc8dd73 changes to new urlformat for home dashboard (#10738) 2018-02-05 10:24:48 +01:00
Marcus Efraimsson
b07ac3c054 Merge branch '7883_new_url_structure' into 10630_folder_api 2018-02-01 18:29:00 +01:00
Marcus Efraimsson
cd61d2b237 Merge branch 'master' into 7883_new_url_structure 2018-02-01 17:32:43 +01:00
Marcus Efraimsson
744f402a96 db: fix failing integration tests for mysql and postgresql 2018-02-01 17:27:29 +01:00
bergquist
90207bcb7d register handler for get dashboards by slug 2018-02-01 14:17:14 +01:00
bergquist
992fd37010 alert: use new url format 2018-02-01 14:08:51 +01:00
Marcus Efraimsson
ef90b3e49c Merge branch '7883_new_url_structure' into 7883_frontend_step2 2018-02-01 11:08:39 +01:00
Marcus Efraimsson
b135df9a6c Merge remote-tracking branch 'upstream/master' into 7883_new_url_structure 2018-02-01 10:48:06 +01:00
Carl Bergquist
eff687bece
Merge pull request #10694 from grafana/7883_backend
backend for new url structure.
2018-02-01 09:35:00 +01:00
Marcus Efraimsson
90933b0621 dashboard: refactor logic for retrieving url for folder/dashboard 2018-01-31 23:14:48 +01:00
Marcus Efraimsson
035b724725 dashboards: remove slug property in dashboard search responses
Removes slug property in dashboard search responses since this property isn't needed
anymore and it haven't been released to any stable release.
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
92a0171a9b folders: change the front end route for browsing folders
Change the front end route for folders to /dashboards/f/<uid>/<slug of folder title>.
Use new route for deleting dashboard/folder by uid.
Retrieve dashboard/folder by uid when moving or deleting dashboards/folders.
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
b23560ed5a dashboards: add validation to delete dashboard by slug
Validates that there are only one folder/dashboard having that slug,
otherwise returns 412 Precondition Failed
2018-01-31 18:40:54 +01:00
bergquist
58cfb23625 retry uid generation 2018-01-31 17:29:17 +01:00
Daniel Lee
7e2e57c306 dashfolders: fixes #10671. Allow Editors default access to Root.
Editors should be able to create dashboards in root and should be
able to create folders. They cannot administrate permissions though
and these dashboards and folders will get the default permissions.
2018-01-31 16:43:21 +01:00
bergquist
16a1642831 gofmt... 2018-01-31 15:15:15 +01:00
bergquist
3da2ab61e0 Verifies requirement of id in dashboards. 2018-01-31 14:36:14 +01:00
bergquist
7e96052594 ensure dashboard title is unique in folder 2018-01-31 14:18:54 +01:00
bergquist
bb3183f6cd removes uniqnes check on slug when saving dashboards 2018-01-31 10:29:52 +01:00
bergquist
6d2a555866 Drops unique index orgid_slug from dashboards. 2018-01-31 10:26:06 +01:00
Daniel Lee
eb765d288c alertlist: disable pause button when user does not have permission 2018-01-30 23:35:27 +01:00
Marcus Efraimsson
9fb7b887db dashboards: add url property to dashboard meta and search api responses
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
13d5db7d19 dashboards: add support for retrieving a dashboard by uid
Introduces new url in api /dashboards/<uid> for fetching dashboard by unique id
Leave the old dashboard by slug url /dashboards/db/<slug> for backward
compatibility and for supporting fallback
WIP for #7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
c1cff3849e dashboard: change unique index for uid to include org_id
Make the max length of uid longer in case we want to change it later
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
fc7bab8bf0 dashboard: fix failing test. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
5b35c694dc dashboard: generate and include uid in dashboard model. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
025a14ec24 db: add migrations for creating a unique index for uid. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
50aa9ec69c db: add migrations for generating uid for existing dashboards. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
401b01e1e6 db: add new column uid to the dashboard table. #7883 2018-01-30 23:18:34 +01:00
Daniel Lee
f5107d5023 alerting: add permission check in api for pausing alerts 2018-01-30 14:41:25 +01:00
Marcus Efraimsson
f08932b78a WIP: folder api. #10630 2018-01-30 10:53:28 +01:00
Daniel Lee
0fb05bcf59 Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-30 09:26:23 +01:00
Marcus Efraimsson
3d1c624c12 WIP: Protect against brute force (frequent) login attempts (#10031)
* db: add login attempt migrations

* db: add possibility to create login attempts

* db: add possibility to retrieve login attempt count per username

* auth: validation and update of login attempts for invalid credentials

If login attempt count for user authenticating is 5 or more the last 5 minutes
we temporarily block the user access to login

* db: add possibility to delete expired login attempts

* cleanup: Delete login attempts older than 10 minutes

The cleanup job are running continuously and triggering each 10 minute

* fix typo: rename consequent to consequent

* auth: enable login attempt validation for ldap logins

* auth: disable login attempts validation by configuration

Setting is named DisableLoginAttemptsValidation and is false by default
Config disable_login_attempts_validation is placed under security section
#7616

* auth: don't run cleanup of login attempts if feature is disabled

#7616

* auth: rename settings.go to ldap_settings.go

* auth: refactor AuthenticateUser

Extract grafana login, ldap login and login attemp validation together
with their tests to separate files.
Enables testing of many more aspects when authenticating a user.
#7616

* auth: rename login attempt validation to brute force login protection

Setting DisableLoginAttemptsValidation => DisableBruteForceLoginProtection
Configuration disable_login_attempts_validation => disable_brute_force_login_protection
#7616
2018-01-26 10:41:41 +01:00
bergquist
d62d5c7418 provisioning: delete dashboards from db when file is missing 2018-01-25 15:25:07 +01:00
Daniel Lee
bc5fae5367 dashfolders: merge conflict 2018-01-25 14:54:50 +01:00
bergquist
57e7048b8f provisioning: enables title changes for dashboards 2018-01-24 19:16:57 +01:00
Marcus Efraimsson
d36fd66dba dashfolder: fix for sqlite test 2018-01-24 11:43:08 +01:00
Daniel Lee
9d2a667e8b dashfolder: fix for mysql test 2018-01-24 11:19:26 +01:00
bergquist
ee973a977b stats: send amount of stars as stats 2018-01-23 22:51:05 +01:00
bergquist
ea988a37dd tech: avoid using deprecated functions 2018-01-23 22:30:45 +01:00
bergquist
5a1cf2c793 style: minor code style changes 2018-01-23 22:28:47 +01:00
bergquist
77a4ccb822 dashboards: save provisioning meta data 2018-01-23 21:54:30 +01:00
bergquist
67a9e6a71d provisioing: add lookup table provisioned dashboards 2018-01-23 21:52:55 +01:00
Daniel Lee
94a54248c1 dashfolders: show folders use can save to in picker
Instead of returning all folders a user has some sort of access to,
this change creates a new end point that returns folders the user
has write access to. This new endpoint is used in the folder picker
2018-01-20 01:58:28 +01:00
Daniel Lee
3ae1bf0c16 dashfolders: permissions for saving annotations
ref #10275 Use folder permissions instead of hard coded
permissions on the annotations routes.
2018-01-09 14:44:36 +01:00
Ali
de22e793d8
Merge branch 'master' into master 2018-01-03 10:33:54 +03:00
Torkel Ödegaard
029317ed18 tech: alert list react migration progress 2017-12-31 14:16:19 +01:00
Torkel Ödegaard
4181602b78 react: progress on react containers and mobx-state-tree store 2017-12-21 11:56:45 +01:00
Marcus Efraimsson
af34f9977e Add avatar to team and team members page (#10305)
* teams: add db migration for email column in teams table

* teams: /teams should render index page with a 200 OK

* teams: additional backend functionality for team and team members

Possibility to save/update email for teams.
Possibility to retrive avatar url when searching for teams.
Possibility to retrive avatar url when searching for team members.

* teams: display team avatar and team member avatars

Possibility to save and update email for a team

* teams: create team on separate page instead of modal dialog
2017-12-20 21:20:12 +01:00
Marcus Efraimsson
df3655dd4a db: fix postgres regression when comparing boolean columns/values (#10303)
Use the dialect specific BooleanStr when comparing boolean columns/values.
Fixes #10300
2017-12-20 12:15:49 +01:00
Torkel Ödegaard
51ec64f872 fix: reduced team name column length, fixes #10244 2017-12-18 13:38:29 +01:00
Torkel Ödegaard
8905c8e5fb Merge branch 'team_member_count' of https://github.com/bergquist/grafana into develop 2017-12-15 11:53:47 +01:00
Daniel Lee
2b814738c1 dashfolder: change to migration text
First index for the dashboard_acl table had the word
unique in the migration description even though the
index is not unique
2017-12-15 11:35:14 +01:00
bergquist
256f7176a2
teams: add team count when searching for team
closes #10207
2017-12-15 11:08:06 +01:00
Torkel Ödegaard
a7645b710d Merge remote-tracking branch 'origin/master' into develop 2017-12-13 19:18:10 +01:00
Carl Bergquist
35106537f2 Replace Read Only Editor role with ViewersCanEdit setting (#10166)
* removes readonly editor role

* adds viewersCanEdit setting

This enable you to allow viewers to edit/inspect
dashboards in grafana in their own browser without
allowing them to save dashboards

* remove read only editor option from all dropdowns

* migrates all read only viewers to viewers

* docs: replace readOnlyEditor with viewersCanEdit
2017-12-13 18:53:42 +01:00
Torkel Ödegaard
313735bd75 search: worked on search results 2017-12-13 15:51:59 +01:00
Torkel Ödegaard
67f1435dc7 minor fix for #10136 2017-12-12 17:18:25 +01:00
Torkel Ödegaard
05cc1f85c3 Merge branch 'refactor-user-group-to-team' of https://github.com/alexanderzobnin/grafana into user-group-to-team 2017-12-12 17:07:00 +01:00
Torkel Ödegaard
cafed8ce8f Merge branch 'master' into develop 2017-12-12 13:19:07 +01:00
Alexander Zobnin
26281dd9d8 refactor: format files by gofmt 2017-12-11 19:46:05 +03:00
Alexander Zobnin
5d3bfee2f1 refactor: user groups to teams, rename backend files 2017-12-08 18:51:59 +03:00
Alexander Zobnin
d8612380e9 refactor: rename User Groups to Teams 2017-12-08 18:25:45 +03:00
bergquist
099178466d dashboards as cfg: wire up dashboard repo 2017-12-07 15:27:01 +01:00
bergquist
d69b63cbc0 dashboards as cfg: read first cfg version 2017-12-07 15:27:01 +01:00
Torkel Ödegaard
beb9f8ee74 Merge remote-tracking branch 'origin/master' into develop 2017-12-07 14:14:50 +01:00
linux chips
6f3a62d299 add _tests for mssql data source 2017-12-03 21:56:21 +03:00
linux chips
c75f9a1923 MSSQL Data Source 2017-12-02 14:40:12 +03:00
Marcus Efraimsson
1e10fcad83 test: fix failing postgres test
Should use case insensitive matching when searching for users
2017-11-29 15:17:31 +01:00
Daniel Lee
4356e980f0 dashfolders: create app folder on dashboard import 2017-11-27 17:08:39 +01:00
Torkel Ödegaard
b7a8db4937 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-22 14:51:53 +01:00
Daniel Lee
3dc2e06a33 dashboard: fix test for folderIds 2017-11-21 16:41:08 +01:00
Torkel Ödegaard
9fc22e5a66 Merge branch 'master' of github.com:grafana/grafana into develop 2017-11-21 16:05:18 +01:00
Torkel Ödegaard
ccbdb29f07 fixed unit tests 2017-11-21 11:53:56 +01:00
Torkel Ödegaard
0d12b37dfd fix: alert list panel now works correctly after adding manual annotation on dashboard, fixes #9951 2017-11-21 11:28:17 +01:00
Torkel Ödegaard
fc1d8416a7 working on dashboard search 2017-11-20 12:47:03 +01:00
Torkel Ödegaard
7b17d134fc Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-17 15:49:47 +01:00
Torkel Ödegaard
0e44fe082b Merge branch 'master' into develop 2017-11-17 15:49:17 +01:00
Daniel Lee
7c74111187 search: add expanded folders 2017-11-17 15:30:21 +01:00
Torkel Ödegaard
98b4074c16 refactoring: minor refactor of clean up dashboard history PR #9882 2017-11-17 14:41:44 +01:00
Torkel Ödegaard
aaa465a100 Merge branch 'feat-9671' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-feat-9671 2017-11-17 14:16:49 +01:00
Alexander Zobnin
a55be07ea5 dashboard history clean up: avoid potential SQL injections 2017-11-17 10:51:50 +03:00
Daniel Lee
f47673ab5c search: refactor search sql into a builder class 2017-11-17 00:16:33 +01:00