Commit Graph

60 Commits

Author SHA1 Message Date
0b34c5c1c6 Also create user when member of organisation 2017-12-20 14:22:26 +01:00
fd68f3fc8b Allow user creation from Blender ID webhook "user modified"
When the webhook indicates that the user has a Cloud subscription (demo,
active, or renewable), the user is immediately created.
2017-12-20 12:56:48 +01:00
a2c24375e5 Webhooks: smarter way to find the user the webhook applies to.
We now also match on Blender ID (through the 'auth' section of the user
document), so that even when we have missed an email change we can still
apply the changes from the webhook.
2017-12-20 12:22:51 +01:00
be4b36a661 Also accept user-modified webhook when old email address is unknown.
When the old email address is unknown, and the new one does map to a user,
use the webhook to update the new user.
2017-12-20 11:40:56 +01:00
ae700b5eef Added payload description of Blender ID webhook 2017-12-20 11:19:15 +01:00
9c2e6f9081 Fixed forced login for user switching 2017-12-12 11:25:48 +01:00
abb0ded3f2 Lowered log level for webhook call for unknown user 2017-12-08 14:08:04 +01:00
f948969b20 Fixed webhook so that users' full_name isn't reset to the empty string. 2017-12-08 14:04:11 +01:00
c031c1e8ae Removed flamenco-user and attract-user role linking to subscriber/demo/admin
It was a hack due to the lack of a capabilities system.
2017-12-07 17:09:06 +01:00
bff51e1e83 Added /renew endpoint to redirect to Blender Store renewal URL. 2017-12-06 14:36:02 +01:00
561db0428d Using new blender_id.get_user_blenderid() function 2017-12-05 11:56:33 +01:00
f7ce8d74a7 Implemented Blender ID webhook for user change notifications
Handles changes in:

 - roles
 - full name
 - email address
2017-12-01 19:06:16 +01:00
532bf60041 Obtain subscription info from Store.
This was in Pillar, and is now moved to Blender Cloud. It's used to obtain
the subscription expiration date from Blender Store.
2017-11-30 15:45:40 +01:00
d5d189de8c Reworked subscription reconciliation to use Blender ID instead of Store 2017-11-30 15:30:41 +01:00
5d281dc6ce Introduce 'has_subscription' role with 'can-renew-subscription' capability
This is in preparation of presenting different messages to users, when their
subscription should be renewed, or when they should buy a (new)
subscription.
2017-11-30 15:30:08 +01:00
f4e277f1d1 Homepage: Render attachments on posts 2017-11-23 16:16:10 +01:00
4207d051a9 Added subscriber-pro role.
This is used in svnman to bind to the svn-use capability.
2017-11-14 16:09:29 +01:00
0c4db84940 Fix link to comments 2017-11-09 19:38:56 +01:00
8288b4eab1 New Homepage: Featuring more in the blog posts 2017-11-09 18:37:32 +01:00
c2492e8710 When logging in from /welcome, redirect to index
Backend logic simplified, to support the next arg if provided, otherwise simply redirect to the request.referrer (last visited page).
2017-11-07 18:25:42 +01:00
13ed89c480 Add terms and conditions and privacy statement 2017-09-21 22:17:52 +02:00
5d0b8a1dc4 Added static page that embeds stats from Kibana.
It just has a full-width iframe that embeds the dashboard from
https://stats.cloud.blender.org/
2017-09-21 14:25:14 +02:00
41d47cdeb8 PEP8 formatting 2017-09-19 13:45:48 +02:00
19ccffa4ae Cache the homepage template context.
This requires pillar-python-sdk c8eec9fa9d8a198df198538a38ca1ad2367bb3e6
or newer.
2017-09-19 13:45:10 +02:00
aaf95f96a7 Fixed user switching.
Basically this copies bd976e6c2e7867fee70c8654cc887bf1d3973bc1 from Pillar.
2017-09-19 13:39:41 +02:00
f3e0484328 Revert "Cache the entire homepage for 5 minutes."
This reverts commit 9a692d475b.
2017-09-18 13:05:29 +02:00
869e228069 Homepage Random Featured: Show project more prominently for first item 2017-09-17 20:12:47 +02:00
9a692d475b Cache the entire homepage for 5 minutes.
This means that comments and blog posts will take at most 5 minutes to show
up on /.
2017-09-15 17:46:20 +02:00
0b61e517d2 Added missing attached_to.url assignment 2017-09-15 17:03:31 +02:00
0c251c0470 Added missing projection 2017-09-15 15:46:52 +02:00
e103a712b3 Performance improvements for the homepage (activity, blog, random featured) 2017-09-15 15:25:27 +02:00
f4ac9635a9 Fixed two mistakes in stats query count_nodes()
- 'p.x' → 'project.x'
- is_private: {$ne: true} → is_private: False, because true is the default.
2017-09-12 11:29:36 +02:00
d80fc48635 Redirect properly after login
- Use next=xxx URL parameter
- Redirect to / when no next=xxx was given and the referrer is /welcome
2017-09-01 17:04:41 +02:00
a9280dd05f Introducing settings for blender-cloud
Moved Blender Cloud specific settings from Pillar into this application.
2017-08-30 23:13:06 +02:00
1fb3c88a8f Override /login endpoint
For Blender Cloud we want to point directly to blender-id OAuth.
2017-08-25 11:56:43 +02:00
732fe7bc7c Fixed calls to do_badger to use keyword arguments for role(s)
- updated call to pass multiple roles at once
- updated call to pass single role with keyword arg

This requires Pillar 87afbc52f6c7d5eb63f0da745625d05b01e81783
2017-08-23 09:32:01 +02:00
838d85a2b7 Use capabilities system to check whether the user is a subscriber. 2017-08-22 16:40:05 +02:00
2e4ed6f3c8 Also allow demo users access to Flamenco & Attract 2017-08-15 15:25:53 +02:00
4575e8bf8b Public project changes
Now we organize training content into 'courses' and 'workshops'. This commit updates various endpoints and menus to reflect that decision.
2017-07-26 16:51:16 +02:00
9bf6a36bdd Return cached view for welcome page only if user is anonymous 2017-07-16 00:06:18 +02:00
bda679a3bf Remove about.html
This is build with Gulp from a .pug file now.
2017-07-14 12:45:35 +02:00
ae33a6f71e Moving Blender Cloud specific pages from Pillar
These pages were originally in the pillar repository, but they actually belong here. We also extended rsync_ui.sh to build and rsync to the Blender Cloud server.
2017-07-13 18:35:18 +02:00
b155b0916e CLI reconcile_users: process 10 users in parallel 2017-07-11 14:57:57 +02:00
f493d0a566 CLI reconcile_subscribers: show user count + index 2017-07-11 14:44:00 +02:00
093d80905f CLI reconcile_subscribers: show user count before starting 2017-07-11 14:40:46 +02:00
54e9aca16f CLI reconcile_subscribers uses do_badger & re-grants the subscriber role
This ensures that subscriber-linked roles like flamenco-user are synced
along with the subscriber status, and that Algolia picks up on those
changes as well.
2017-07-11 14:29:14 +02:00
3e5ad280b1 CLI command to create standard groups admin/demo/subscriber
This is part of what setup_db also does, but only for creating those
groups. Only really useful for debugging/developing.
2017-07-11 14:27:33 +02:00
0a9f0ebddb Roles '{flamenco,attract}-user' are now linked to 'subscriber'
All users who get 'subscriber' role automatically get 'flamenco-user' and
'attract-user', and when 'subscriber' is revoked, so are
'{flamenco,attract}-user'.
2017-07-11 12:40:13 +02:00
fd700ca6d9 Inject current_user_is_subscriber into Jinja context
This variable is set to True iff the user has a subscriber/demo/admin role.
It's an attempt to get some of the Cloud subscription specific stuff out
of Pillar.
2017-06-14 16:26:29 +02:00
e2efc70e44 Import new subscription info function 2017-05-04 18:17:37 +02:00