811236cff4
Migrate Jade to Pug template engine
...
Jade templates engine has been renamed to Pug.
We are using Pug already on the Blender Cloud repository, following is Flamenco and Attract
2017-08-30 14:04:15 +02:00
62542f0329
Rolled back some flask_login and g.current_user integration
...
Setting flask_login.current_user ourselves was a bad idea, and messed up
flask_login's internal administration. Our code now just manages
g.current_user in these specific instances, which works fine.
2017-08-30 12:39:46 +02:00
6825b8bf74
Fixed infinite recursion.
2017-08-29 12:31:52 +02:00
bdd603fb17
Using new UserClass instances everywhere:
...
- No more direct access to g.current_user, unless unavoidable.
- Using pillar.auth.current_user instead of g.current_user or
flask_login.current_user.
- p.a.current_user is never checked against None.
- p.a.current_user.is_authenticated or is_anonymous is used, and never
together with a negation (instead of 'not is_anon' use 'is_auth').
- No more accessing current_user a a dict.
- No more checks for admin role, use capability check instead.
2017-08-29 11:34:48 +02:00
86e76aaa5f
Use UserClass instead of assigning dict to g.current_user
2017-08-29 11:34:48 +02:00
88af86ae61
Toastr: Style buttons in notifications
2017-08-27 17:44:40 +02:00
a6f56a4811
OAuth test: checking email address too
2017-08-25 12:53:21 +02:00
c7c867f1c7
OAuth signin: streamlined instantiation of OAuthSignIn subclasses
2017-08-25 12:35:08 +02:00
add2538655
Prevent JS error by sync-loading jquery.autocomplete….js
2017-08-25 12:03:52 +02:00
ff1b14d980
Project sharing: Simplified user selection JS code.
2017-08-25 12:03:52 +02:00
a12838032f
Introducing exception handling in the application code
2017-08-25 11:47:40 +02:00
6edd0e2f8d
Fix for embedded template paths
...
When edting a custom node type we were building the wrong path, and not passing the project argument to the render_template function.
2017-08-25 10:57:29 +02:00
398bbbc316
Fix up config_testing values to conform with tests
2017-08-25 10:55:35 +02:00
41a82c44c5
Tests for providers callbacks
...
Also added SERVER_NAME in config_testing and pre-populated the keys of OAUTH_CREDENTIALS, since the implementation of providers is part of the application.
2017-08-25 10:55:35 +02:00
cecf81a07d
Initial tests for OAuthSignIn
2017-08-25 10:55:35 +02:00
45275c3831
Switch to class-based OAuthUserResponse
...
Instead of returning an arbirary number of items, we provide a standardized and better documented response.
2017-08-25 10:55:35 +02:00
99866542a1
Style Google oauth login
2017-08-25 10:53:30 +02:00
6b3e523036
Remove Flask-OAuthlib and oauth_blender_id from Pillar
...
We switch completely to a rauth-based approach, allowing multiple providers for authentication.
2017-08-25 10:53:22 +02:00
6e9a539d61
Fix typo
2017-08-25 10:52:52 +02:00
c9b2eb25b2
Add default OAUTH_CREDENTIALS in config
2017-08-25 10:51:45 +02:00
23b856b073
Move Blender ID to extensible OAuth
...
Also, added support for Google OAuth.
2017-08-25 10:51:45 +02:00
e0520e265d
Style login page
2017-08-25 10:51:45 +02:00
9b9e0488d3
New login page
...
Exposes all available login providers
2017-08-25 10:51:45 +02:00
c827dc4ed2
Initial work to support multiple OAuth clients
2017-08-25 10:51:45 +02:00
d48a308cc6
Renamed pillar.auth.current_web_user to pillar.auth.current_user
...
This is an in-between change. In the future, we want to always set
g.current_user so that it's never None (but rather an AnonymousUser
instance). However, there is still some code that assumes that when
g.current_user is not None the user is logged in. This should be
addressed first.
2017-08-24 14:28:18 +02:00
b9ae4396e5
Orgs: show "My Organizations" in the user's menu
...
This is shown only when the user is member of or administrator for one or
more organizations, otherwise it's hidden.
2017-08-24 14:28:18 +02:00
95dc799692
Orgs: made org properties for non-admins a bit nicer
2017-08-24 14:28:18 +02:00
be12bd7d99
Orgs: allow users to leave an organization
2017-08-24 14:28:18 +02:00
0445c3bd86
Orgs: assign capabilities to org-subscriber role
2017-08-24 14:28:18 +02:00
694e04cc50
Orgs: UI tweak
2017-08-24 14:28:18 +02:00
598b59c0c6
Orgs: gracefully handle 'not enough seats' error
2017-08-24 14:28:18 +02:00
1e1bd83baf
Orgs: refresh all members' roles after org changed roles
2017-08-24 14:28:18 +02:00
d41e2bbce4
Orgs: fixed "Create New Organization" button
...
It now actually creates the new org and shows it.
2017-08-24 14:28:18 +02:00
5f607fa2cf
Orgs: Moved some JS around, no real semantic changes
2017-08-24 14:28:18 +02:00
cd417bb9db
Orgs: styling tweaks to make member list a bit nicer
2017-08-24 14:28:18 +02:00
65518f2208
Spaces to tabs
2017-08-24 14:28:18 +02:00
30902bc9cd
Orgs: made the admin picker a bit nicer to work with
...
Also it now asks for a confirmation before transferring admin-ship to
the new admin user.
2017-08-24 14:28:18 +02:00
37b1a6e0c1
Orgs: added labels to organization form
2017-08-24 14:28:18 +02:00
f1edb901d1
Orgs: allow setting org admin via web interface / PATCH request
2017-08-24 14:28:18 +02:00
a5d11ec31b
Refactored user search as JQuery plugin
2017-08-24 14:28:18 +02:00
2bf95223b7
Orgs: layout tweaks
2017-08-24 14:28:18 +02:00
08294e2f14
Orgs: allow admins to set seat count and org_roles
2017-08-24 14:28:18 +02:00
1c9f425a40
Orgs: use flask_login.current_user to avoid calling current_user() all the time
2017-08-24 14:28:18 +02:00
4116357447
Orgs: some small fixes, mostly for stability / corner cases
2017-08-24 14:28:18 +02:00
e9cb235640
Added web interface for organizations.
...
It looks like crap, but it allows you to edit the details and the members.
2017-08-24 14:28:18 +02:00
64eab850c5
Orgs: pillar admins can always edit an organization
2017-08-24 14:28:17 +02:00
c6eebc4eae
Orgs: allow setting location field by PATCH
2017-08-24 14:28:17 +02:00
1bd6e07fe2
Orgs: Allow adding individual known users by user ID.
...
This is used for the selection by user search.
2017-08-24 14:28:17 +02:00
1ad13d048f
Some extra type safety checks
2017-08-24 14:28:17 +02:00
cfde720b1d
Orgs: PATCH op to batch-add emails as members now strip()s emails
...
It also refuses to add empty emails.
2017-08-24 14:28:11 +02:00