Commit Graph

283 Commits

Author SHA1 Message Date
woodsaj
86ed85aa6e move toMap function to be a method on the quota structs 2015-09-15 17:18:26 +08:00
woodsaj
b7de847236 add unittests for quota sqltore methods. 2015-09-15 17:10:46 +08:00
woodsaj
3cf2cd4684 be sure to pass result obj by reference to xorm. 2015-09-15 17:10:16 +08:00
woodsaj
6488324cf1 enhance quota support.
now includes:
- perOrg (users, dashboards, datasources, api_keys)
- perUser (orgs)
- global (users, orgs, dashboards, datasources, api_keys, sessions)
2015-09-11 23:17:10 +08:00
woodsaj
852f9bd277 refactor quota settings 2015-09-11 01:47:33 +08:00
woodsaj
3d4d822528 implement updateQuota function 2015-09-11 01:04:29 +08:00
woodsaj
c238130842 quote table names passed by arguments 2015-09-11 01:04:22 +08:00
woodsaj
9023171940 inital backend suport for quotas. issue #321
Conflicts:
	conf/defaults.ini
	main.go
	pkg/services/sqlstore/migrations/migrations.go
2015-09-11 01:01:36 +08:00
Torkel Ödegaard
e2cb66f8d7 fix(logging): removed temp dev logging code 2015-09-08 14:32:25 +02:00
Torkel Ödegaard
fad1d4cf98 feat(organization): added update org address to http api and to org details settings view, closes #2672 2015-09-08 14:22:44 +02:00
Torkel Ödegaard
daf64421f2 fix(api): Added error handling to create and update org http apis and sql update handlers, now checks for org name taken scenarios and returns correct http error code and message, fixes #2686 2015-09-08 13:06:18 +02:00
Torkel Ödegaard
fa3329271d fix(email notifications): added error handling to email template parsing, fixes #2690 2015-09-08 10:57:47 +02:00
Torkel Ödegaard
aa89416bca fix(invite): fixes to org invite stuff, #2630 2015-09-01 12:35:06 +02:00
Torkel Ödegaard
99bb9d4fcf feat(signup): added back the welcome on signup completed email 2015-08-31 11:42:12 +02:00
Torkel Ödegaard
d19e101e6b feat(signup): almost done with new sign up flow, #2353 2015-08-31 11:35:07 +02:00
Torkel Ödegaard
14884d5a2b feat(signup): progress on new signup flow, #2353 2015-08-30 18:56:53 +02:00
Torkel Ödegaard
de0f04ec3c feat(signup): progress on new sign up and email verification flow, #2353 2015-08-28 15:14:24 +02:00
Torkel Ödegaard
c61b22cefb feat(signup): progress on new sign up and email verification flow, #2353 2015-08-28 13:45:16 +02:00
Torkel Ödegaard
24dfa55465 feat(signup): progress on new sign up and email verification flow, #2353 2015-08-28 09:24:30 +02:00
Torkel Ödegaard
d25624a8ad feat(signup): began work on new / alternate signup flow that includes email verification, #2353 2015-08-27 13:59:58 +02:00
Torkel Ödegaard
01d9849e44 fix(user create): fixed for creating multiple users with empty email when auto assign org is set to false, fixes #2011 2015-08-18 20:15:24 +02:00
Torkel Ödegaard
16fa5c4df3 fix(mysql): fix for migration in newly added temp_user table, fixes #2509 2015-08-14 09:41:07 +02:00
Torkel Ödegaard
e6d09b3266 fix(db): remove stars and tags when removing user or dashboard, fixes #2016 2015-08-12 09:23:46 +02:00
Torkel Ödegaard
8fcaa4997d feat(admin): Deleting org from orgs list now works, will permanently delete dashboards, data sources, etc, closes #2457 2015-08-12 08:59:39 +02:00
Torkel Ödegaard
e01c68dcea fix(logging): removed db connection string from being printed in logs at app startup, fixes #2488 2015-08-11 11:26:28 +02:00
Torkel Ödegaard
234d1291f9 Merge branch 'invite'
Conflicts:
	public/css/less/gfbox.less
	public/emails/reset_password.html
	public/emails/welcome_on_signup.html
2015-08-11 11:22:43 +02:00
Torkel Ödegaard
1ea0b5371a feat(invite): new user invites are now also added to correct org after sign up is completed, #2353 2015-08-11 10:45:03 +02:00
Torkel Ödegaard
835fd383ad fix(postgres): Dashboard search is now case insensitive when using Postgres, fixes #1896 2015-08-10 20:25:01 +02:00
Torkel Ödegaard
775e044e69 feat(invite): progress on invite feature, #2353 2015-08-10 13:47:06 +02:00
Torkel Ödegaard
90400bf5ad fix(ldap): fix for ldap users with empty email address, fixes #2461 2015-08-07 10:14:36 +02:00
Torkel Ödegaard
6d6af09296 feat(invite): handling of existing org user case when inviting, #2353 2015-07-21 12:18:11 +02:00
Torkel Ödegaard
ab54971763 feat(invite): more progress on completing invite form and actually creating a real user, #2353 2015-07-20 17:46:48 +02:00
Torkel Ödegaard
d75f96fdd5 feat(invite): more progress on invited / sigup view, #2353 2015-07-20 15:52:49 +02:00
Torkel Ödegaard
024c112944 feat(invite): redesign for pending invite list, added revoke button and link, copy invite also works now, #2353 2015-07-20 14:26:49 +02:00
Torkel Ödegaard
3242354a4b feat(invite): worked on pending invitations list, revoke invite now works, #2353 2015-07-20 10:57:39 +02:00
Torkel Ödegaard
2724cf5db8 feat(invite): small progress 2015-07-17 14:42:49 +02:00
Torkel Ödegaard
0ffcce1b5d feat(invite): more work on invite, basic creation works, added new tab directive from angular-ui and made new tab style, #2353 2015-07-17 09:51:34 +02:00
Torkel Ödegaard
444807c35b feat(invite): worked on db & domain model for temp users, #2353 2015-07-16 17:59:11 +02:00
Dieter Plaetinck
66ba19b7ba clearer errors
"Not found" should only be for http path/method not found (404)
if it's about specific resources, we should be explicit for clarity
2015-07-08 08:55:31 +02:00
Torkel Ödegaard
d0e7d53c69 Fixed case insensitive search for file based dashboards, Fixes #2258 2015-06-30 08:17:28 +02:00
Torkel Ödegaard
0d856cc135 Error message for missing dashboards.json config section, Closes #2256 2015-06-30 08:05:05 +02:00
Torkel Ödegaard
311946900e Fixed email subject test 2015-06-14 06:08:18 +02:00
Torkel Ödegaard
9b12350855 Added support for templated email subjects 2015-06-14 06:07:36 +02:00
Torkel Ödegaard
bb2d810709 Final work password reset email, Closes #1456 2015-06-08 18:25:04 +02:00
Torkel Ödegaard
db0c442eaf Added configuration options for smtp 2015-06-08 17:56:56 +02:00
Torkel Ödegaard
42fc68baa5 Simplified emailing system and combined mailer and notifications packages 2015-06-08 16:51:25 +02:00
Torkel Ödegaard
c8bc0b3bf8 Lots of work on user password reset, #1456 2015-06-08 13:39:02 +02:00
Torkel Ödegaard
aa4d60c21e Worked on reset password views, refactored out password strength to a reusable directive 2015-06-08 10:57:01 +02:00
Torkel Ödegaard
89418a155a More work on email and notification infra #1456 2015-06-05 11:08:19 +02:00
Torkel Ödegaard
c709a28f02 More work on email and notification infra #1456 2015-06-05 08:15:38 +02:00
Torkel Ödegaard
3706d0dedd More work on email and notification infra #1456 2015-06-04 17:23:46 +02:00
Torkel Ödegaard
3f5ab189cd Began work on emailing service #1456 2015-06-04 14:29:39 +02:00
Torkel Ödegaard
50a1feb90a Dashboard list panel: Now supports search by multiple tags, Closes #2096 2015-06-02 11:04:06 +02:00
Torkel Ödegaard
dc607b8e8a Dashboard search now supports filtering by multiple dashboard tags, Closes #2095 2015-06-02 10:24:20 +02:00
Torkel Ödegaard
a8aab0cb2b Worked on user administration page, a grafana server admin can now add and edit organization roles for any user, #2014 2015-05-19 11:47:14 +02:00
Torkel Ödegaard
788e7fd36d Lots of api refactoring for org routes, #2014 2015-05-19 10:16:32 +02:00
Torkel Ödegaard
bf9e51928d Fix to signed in user when user <-> org link is gone 2015-05-19 09:02:37 +02:00
Torkel Ödegaard
fbc6bb2112 More refactoring of user http api, trying to reuse handlers for sign in user and admin operations 2015-05-18 19:06:19 +02:00
Dieter Plaetinck
e9f38b9fc0 no unbound recursion in publish()
unbound recursion approach can blow up call stack,
and - I think - allocate memory unboundedly as well.

We can simply loop until err != nil

I didn't actually test this live, though tests succeed
2015-05-18 10:04:01 -04:00
Torkel Ödegaard
448a8b8d1c Major refactorings around searching, moved to seperate package, trying to move stuff out of models package, extend search support searching different types of entities and different types of dashboards, #960 2015-05-13 13:36:24 +02:00
Torkel Ödegaard
c8146e759f Fixed json index unit test 2015-05-13 10:57:18 +02:00
Torkel Ödegaard
bb7d79e6d2 Refactoring search to support more than just db dashboards 2015-05-13 10:45:53 +02:00
Torkel Ödegaard
fb35f7210c Fixed failing golang test 2015-05-13 10:06:06 +02:00
Torkel Ödegaard
b3be51f17f Lots of work on search and dashboard loading, trying to generalize concepts and code, #960 2015-05-12 14:11:30 +02:00
Torkel Ödegaard
a40299b4dc Progress on json file index and search #960 2015-05-12 12:20:03 +02:00
Torkel Ödegaard
1a9f630710 Began work on adding json files to search, #960 2015-05-11 20:04:03 +02:00
Torkel Ödegaard
38d851eb98 Another HTTP API fix 2015-05-04 08:19:29 +02:00
Torkel Ödegaard
73ee8a5985 HTTP API: fix for POST /api/dashboards/db returned 200 ok when dashboard was not found, Fixes #1929 2015-05-04 07:46:53 +02:00
Torkel Ödegaard
38fc85d619 Final tweaks to auth proxy feature 2015-05-02 12:30:53 +02:00
Torkel Ödegaard
be589d81c7 Auth: Support for user authentication via reverse proxy header (like X-Authenticated-User, or X-WEBAUTH-USER), Closes #1921 2015-05-02 12:06:58 +02:00
Torkel Ödegaard
cb8110cd48 Refactoring, worked on middleware unit tests, and began thinking about api unit tests, #1921 2015-05-01 16:23:36 +02:00
Torkel Ödegaard
e771d8e944 Organization: You can now update the organization user role directly (without removing and readding the organization user). Closes #1899 2015-05-01 09:48:07 +02:00
Torkel Ödegaard
e410fbb558 Corrected SQL migration for snapshot table column type change, #1880 2015-04-25 20:28:50 +02:00
Anthony Woods
f227002a80 fixes #1880 dashboard_snapshot table does not have a data column 2015-04-25 18:51:25 +08:00
Anthony Woods
d84d92f73c fixes #1880 correct mysql statement for modifying column data type 2015-04-25 18:46:30 +08:00
Torkel Ödegaard
b99ee2562e Restored sql integration tests to use in mem sqlite3 2015-04-23 16:21:49 +02:00
Torkel Ödegaard
8526025792 MySQL: Dashboard.data column type changed to mediumtext (sql migration added), Fixes #1863 2015-04-23 16:18:46 +02:00
Torkel Ödegaard
d1767144a8 Reworking configuration loading and overriding 2015-04-09 12:16:59 +02:00
Torkel Ödegaard
96ee1c17a3 Worked on new deb & rpm packaging and init.d scripts 2015-04-08 14:10:04 +02:00
Torkel Ödegaard
059db533d5 HTTP API: grafana /render calls nows with api keys, Fixes #1649 2015-04-08 08:59:12 +02:00
Torkel Ödegaard
a96e4a343c Only create admin user specified in config file when there are no users in the database, Fixes #1680 2015-04-01 16:05:42 +02:00
Torkel Ödegaard
5422d13607 Postgres fix update 2015-04-01 08:26:02 +02:00
Torkel Ödegaard
d8f614ed98 Merge pull request #1665 from mattrobenolt/bool
Let xorm convert `False` into the right type
2015-04-01 08:25:20 +02:00
Torkel Ödegaard
3c2bfbfc1c Search: Dashboard results should be sorted alphabetically, Fixes #1685 2015-03-31 22:06:19 +02:00
Matt Robenolt
cedb11ebab Let xorm convert False into the right type 2015-03-30 18:11:39 -07:00
Torkel Ödegaard
7be7aeb70a Fixed sql migration issue with dashboard snapshots 2015-03-26 21:20:44 +01:00
Torkel Ödegaard
541cd2e430 Dashboard snapshot: more work on snapshot deletion, and saving external reference, #1623 2015-03-26 20:59:41 +01:00
Torkel Ödegaard
4322f29f34 Dashboard snapshot: added delete key which can be used to delete snapshots, #1623 2015-03-26 20:34:58 +01:00
Torkel Ödegaard
b1f85dc8f1 Added expire option to dashboard snapshots, #1623 2015-03-26 12:00:52 +01:00
Torkel Ödegaard
10618637e2 Fixed bug in sql migration, closes #1643 2015-03-25 13:53:58 +01:00
Torkel Ödegaard
49a0ea53c7 Merge branch 'develop' of github.com:grafana/grafana into dashboard_snapshot_poc
Conflicts:
	src/app/features/dashboard/partials/shareDashboard.html
2015-03-22 22:04:13 -04:00
Torkel Ödegaard
d987532262 Added server metrics 2015-03-22 15:14:00 -04:00
Torkel Ödegaard
f48f5428e5 Adding snapshot storage and route, #1623 2015-03-21 10:56:26 -04:00
Torkel Ödegaard
964f0861d6 more work on dashboard snapshots 2015-03-21 08:53:16 -04:00
Torkel Ödegaard
eb8b9c4ac3 Increase api_key.key varchar to 255 length 2015-03-18 13:20:15 -04:00
Anthony Woods
fc5839d8f1 gofmt. remove extra whitespace 2015-03-17 23:42:16 +08:00
Anthony Woods
bce62c49d0 fixes #1606 2015-03-17 23:10:49 +08:00
Anthony Woods
6a09a7c398 fixes #1606 emit OrgCreated event when new org created. 2015-03-17 23:09:43 +08:00
Torkel Ödegaard
17063df3cc Changed default org name form 'main' to 'Main Org.' 2015-03-12 19:43:52 +01:00
Torkel Ödegaard
f3d4d2782f Simplified single org settings, now auto_assign_org, and auto_assign_org_role, new [users] config section, Closes #1585 2015-03-11 16:19:29 +01:00
Torkel Ödegaard
ebad9cb502 Fixed gofmt formating, updated precommit hook 2015-03-07 16:37:19 +01:00
Torkel Ödegaard
d8005af8ee updated circle with fmt formating test 2015-03-07 16:23:22 +01:00
Torkel Ödegaard
04d25dc58a Dashboard: When saving a dashboard and another user has made changes inbetween, the user is promted with a warning if he really wants to overwrite the other's changes, Closes #718 2015-03-02 22:24:01 +01:00
Torkel Ödegaard
9710771f16 Added basic auth to data source edit/create, add support for basic auth in data source proxy code, Closes #1510 2015-03-02 09:58:35 +01:00
Torkel Ödegaard
d0d995da09 Inital work on SQL metric/annotation data source, #1542 2015-02-28 17:27:30 +01:00
Torkel Ödegaard
04ca85fe89 Moved dashboard theme option from the dashboard to a persisted user setting, #1458 2015-02-28 14:30:08 +01:00
Torkel Ödegaard
011fdf7ab6 fixed bug in datasource schema migration 2015-02-26 19:36:11 +01:00
Torkel Ödegaard
c75aa23092 New implementation for API Keys that only stores hashed api keys, and the client key is base64 decoded json web token with the unhashed key, Closes #1440 2015-02-26 17:23:28 +01:00
Torkel Ödegaard
7c241fd617 Added permissions section to admin > edit user view, an admin can now make another user admin, Closes #1517 2015-02-26 15:43:48 +01:00
Torkel Ödegaard
3f96afba73 Merge branch 'fixDashboardDelete' of https://github.com/raintank/grafana into raintank-fixDashboardDelete
Conflicts:
	pkg/services/sqlstore/dashboard.go
2015-02-25 14:31:44 +01:00
Torkel Ödegaard
563d5e3ad8 All migrations work in sqlite3, mysql and postgres 2015-02-25 07:57:51 +01:00
Torkel Ödegaard
16fd256225 Added missing common.go 2015-02-24 19:10:41 +01:00
Torkel Ödegaard
f3f79792ab account -> org table migration is starting to work, need to test mysql and postgres 2015-02-24 18:32:29 +01:00
Torkel Ödegaard
ed68a4bb9a More work on SQL migrations 2015-02-24 17:59:21 +01:00
Torkel Ödegaard
02a89c752b Progress on database schema migration for account -> org refactor 2015-02-24 11:46:34 +01:00
Anthony Woods
b9b63f695d fixes #1518 fix table name used in dashboard delete. 2015-02-24 08:56:10 +00:00
Torkel Ödegaard
da41d99aa7 Fixed sql integration test 2015-02-23 20:48:43 +01:00
Torkel Ödegaard
26e4809e2e Big Backend Refatoring: Renamed Account -> Org 2015-02-23 20:07:49 +01:00
Torkel Ödegaard
47c6c6e1b7 Added change password feature, Closes #1455 2015-02-19 16:09:49 +01:00
Torkel Ödegaard
17004ce3ae Fixed issue with login by username and uppercase letters in username, #1484 2015-02-18 13:00:39 +01:00
Torkel Ödegaard
56d8fe4a22 Small changes to CLI commands PR 2015-02-16 07:40:21 +01:00
Jason Wilder
f443b7087c CLI: Add datasource:info command
Describes the full datasource details given an account and
datasource name.
2015-02-15 13:36:10 -07:00
Jason Wilder
90cd10e034 CLI: Add account:delete command 2015-02-15 13:36:10 -07:00
Jason Wilder
ca37b24455 CLI: Add account list command 2015-02-15 13:36:10 -07:00
Torkel Ödegaard
a88187023d Added a sql integration test for api keys 2015-02-13 15:55:32 +01:00
woodsaj
7d69885e06 fixes #1481. correctly escape api_key.key column name
'key' is a reserved word in mysql. So when building a query,
the api-key.key column name needs to be escaped
2015-02-13 22:00:03 +08:00
Torkel Ödegaard
79f798f67b Configuration file options can now be overriden using environment variables using GF_<SectionName>_<KeyName> syntax, if Section name contains dots in config they are replaced with underscores, and the section name and keyname needs to be all upper case, #1473 2015-02-12 13:31:41 +01:00
Torkel Ödegaard
2c16b0f0f3 added unit test for loading configuration file 2015-02-12 11:55:55 +01:00
Torkel Ödegaard
0140a00884 Added two columns to user table, email_verified and theme, no used right now but will probably shortly 2015-02-12 10:32:22 +01:00
Torkel Ödegaard
71f09ddd94 Added delete user action to user admin api, and made it work in UI, Closes #1466, #1446 2015-02-11 16:47:22 +01:00
Torkel Ödegaard
e165e2af95 Worked on user admin features, can now create and edit users as a grafana admin user, #1446 2015-02-10 15:36:51 +01:00
Torkel Ödegaard
23bbc5160e Fixed validation for adding api keys, added unique index for api key name + account_id 2015-02-07 13:11:39 +01:00
Torkel Ödegaard
f8a10fa7af Updated account and profile pages, very temporary solution, do not like it at all 2015-02-06 08:21:00 +01:00
Torkel Ödegaard
e3764ad951 Fixed failing dashboard sql test 2015-02-05 15:53:15 +01:00
Torkel Ödegaard
8e1b753664 Added limit to dashboard list panel and search 2015-02-05 11:10:56 +01:00
Torkel Ödegaard
0f63c04beb Fixed bug in user creation and admin role 2015-02-05 10:50:18 +01:00
Torkel Ödegaard
10820f31c2 Changed go package path 2015-02-05 10:37:13 +01:00
Torkel Ödegaard
076905d14e Added isStarred to search result hit, very inefficient loading right now but can be cached later on 2015-02-05 09:49:00 +01:00
Torkel Ödegaard
896e6d4662 Merge branch 'notifications' 2015-02-04 17:15:16 +01:00
Torkel Ödegaard
d8db5189c1 More work on events, still have to convert pascal case event type name to rabbitmq dot notation, but after that should be done 2015-02-04 17:15:05 +01:00
Torkel Ödegaard
525179eb85 Added on wire event format 2015-02-04 16:57:20 +01:00
Torkel Ödegaard
dace35d31d Missed setting account name 2015-02-04 15:41:40 +01:00
Torkel Ödegaard
3752379106 Worked on event system, needs a little more work 2015-02-04 15:37:26 +01:00
Torkel Ödegaard
60541a455f Worked on search filter flag IsStarred, and updated frontend with new dashboard list panel 2015-02-04 11:35:59 +01:00
woodsaj
a712f1a231 Add inital implementation of Notification events.
If notifications are enabled in the config, Adds a eventHandler
accepting Notification{} payloads to the internal Bus.  The
eventHandler then marshals the payload into json and sends it
to a rabbitmq topic exchange using the
Notification.Priority+Noticiation.EventType as the routing key.
eg.  INFO.account.created

Currently, notifications are only being emitted for
INFO.account.created
INFO.account.updated
INFO.user.created
INFO.user.updated
2015-02-03 23:57:42 +08:00
Torkel Ödegaard
97758380e0 Worked on stars in search results 2015-02-02 17:17:57 +01:00
Torkel Ödegaard
ad3d15e28d Worked on dashboard starring and unstarring, renamed favorite model to star 2015-02-02 11:32:32 +01:00
Torkel Ödegaard
1d6413bfae More work on backend for user favorites 2015-01-29 12:10:34 +01:00
Torkel Ödegaard
e02e60171e Began work on user favorites backend support & storage 2015-01-28 15:29:36 +01:00
Torkel Ödegaard
a5e450a0dd Worked on anonymous access 2015-01-27 15:45:27 +01:00