Commit Graph

133 Commits

Author SHA1 Message Date
6e6ea6082d Renamed _attachments_embedded_schema to attachments_embedded_schema
It's used in multiple files, and thus shouldn't be marked as 'private'.
2017-06-16 12:39:51 +02:00
50108201cf Removed 'content' property from page node type
... because it doesn't work when it's there.
2017-06-16 12:38:51 +02:00
964526924d Save thumbnails with explicit quality setting.
This should have been the default value anyway, but T49477 looks like it
may not be. This should solve that.
2017-06-15 16:56:23 +02:00
8e02de32ab Pillar Extensions can now determine which user roles to index in Algola 2017-06-15 11:31:48 +02:00
73c5032a48 Convert timezone, not replace it 2017-06-14 12:06:20 +02:00
263c274774 Allow indexing of flamenco-user role.
Role handling should be refactored so that extensions can also declare
roles, and whether they should be pushed to Algolia or not.
2017-06-08 11:34:53 +02:00
1ce4654673 Autodetect timestamp format in Blender ID token expiry.
The new Blender ID uses a different timestamp format than the old one.
We can alter Blender ID, but using the ISO 8601 is a good idea anyway.
2017-06-07 09:00:51 +02:00
c2bc52718a Fixed string formatting in exception raising 2017-06-06 17:35:56 +02:00
1c566c6259 Fixed bug in GoogleCloudStorageBlob.exists() 2017-06-06 16:35:14 +02:00
2ad8c5186c Storage backends: added exists() method
This method returns whether the file exists on the backend.
2017-06-06 15:33:05 +02:00
878bf22695 Migrated Algolia push/delete of nodes to Celery background tasks. 2017-06-02 10:44:37 +02:00
e7d268bde6 Algolia: Use Celery to push user updates in a background task. 2017-06-02 10:44:37 +02:00
f152521041 Algolia user push: simplified & streamlined the code a bit. 2017-06-02 10:44:37 +02:00
2c78697e80 Pass extension pages to all extensions' "project settings" pages. 2017-05-31 10:35:49 +02:00
add1c8b9b3 Make ROLES_FOR_COMMENT_VOTING a config value
This way we can override it when extending Pillar for other projects that might not require the 'subscriber' or 'demo' roles.
2017-05-28 19:04:11 +02:00
85922f4493 Fix to support missing roles key in user 2017-05-24 19:42:44 +02:00
10c584daab Skip user indexing if user has service group 2017-05-24 18:11:36 +02:00
85b6ff2d7f Use str2id(x) instead of ObjectId(x)
The latter produces an internal server error if 'x' is not a valid ObjectId,
whereas the fromer produces a 400 Bad Request.
2017-05-24 16:31:15 +02:00
5e721c61b9 Added function to easily remove someone from a group. 2017-05-24 10:56:53 +02:00
38df6e873b Extracted function to generate authentication tokens for service accounts. 2017-05-19 12:02:00 +02:00
50d62f17b8 Allow specification of full name when creating service account 2017-05-18 15:46:02 +02:00
c12b646b09 More logging in PATCH handler 2017-05-18 15:46:02 +02:00
cbe182a298 Gravatar: support None email addresses 2017-05-18 15:46:02 +02:00
59a95450e5 Updated Eve, Flask, and Werkzeug. Adjusted code to make Pillar work again.
Eve     : 0.6.3   → 0.7.3
Flask   : 0.10.1  → 0.12.2
Werkzeug: 0.11.10 → 0.11.15

Also updated some secondary requirements.
2017-05-18 15:46:02 +02:00
ad9a981cda Added p.a.users.add_user_to_group() function 2017-05-12 13:55:55 +02:00
7c5aef033d Some more checks on p.a.project.utils.get_admin_group_id() 2017-05-12 13:55:55 +02:00
c66a6e67c8 Added p.a.project.utils.user_rights_in_project()
This returns the allowed HTTP method for the current user in the given
project. This is used for access control on Flamenco, for example.
2017-05-10 12:09:48 +02:00
a139e8c41a Added p.a.projects.utils.get_admin_group_id() 2017-05-10 12:09:09 +02:00
ee7af393a0 Use annotations to declare types (instead of docstring) 2017-05-10 12:08:45 +02:00
319f815985 Some more logging in pillar.api.blender_cloud.subscription.update_subscription 2017-05-10 12:04:34 +02:00
c77a6b9d21 More logging in pillar.api.service.do_badger() 2017-05-10 11:15:29 +02:00
c854ccbb4b Generic PATCH handler class.
A class-based approach is easier to extend than the function-based approach
used in the nodes. That one is still there, though -- might look at it
at a later time. This handler is primarily for Flamenco.
2017-05-09 14:08:35 +02:00
69d7c5c5ce Allow service accounts to be email-less
This removes the ability of updating service accounts through the CLI
(something we never used anyway), now that service accounts cannot be
uniquely identified by their email address.
2017-05-05 14:34:18 +02:00
095f1cda0c Added "Switch user" functionality.
The user isn't logged out until the new user logs in. This allows you to
click on "Log in as different user", hit the back button, and still be
logged in.
2017-05-05 12:56:19 +02:00
b1b91a7b29 Timeout (10s) on store API calls + better exception handling
We now log connection errors, timeouts, and other Requests errors, and
return None so that the login flow of the user can continue.
2017-05-05 12:55:05 +02:00
379d40837b Fixed issues logging in.
The API call to /api/bcloud/update-subscription is now performed via the
SDK, to ensure proper authentication. Also streamlined some other code.
2017-05-05 10:29:16 +02:00
10a40ddabd Make Blender ID URL work with live URL too 2017-05-04 18:29:11 +02:00
118de12712 Always return a HTTP response 2017-05-04 18:24:08 +02:00
1a54b723aa Reworked subscription/demo role management from web to API level.
In the old situation, users had to be able to change their own roles. This
is inherently insecure.
2017-05-04 17:49:18 +02:00
d0557445cd Fix privilege escalation leak
A PUT request on /api/user/{user-id} by the user themselves would allow
too much, and would allow self-granting of roles (including admin),
group membership (so join any arbitrary project) and pretend to be
service accounts.
2017-05-04 12:48:30 +02:00
1ad3e7910c Upgrade algoliasearch 2017-04-11 12:08:57 +02:00
bd3f8d597a Allow upload of videos > 1080p
Videos that are larger than 1920x1080 pixels are scaled down so that they
fit that size. Care is taken to keep the width a multiple of 16 pixels and
the height a multiple of 8.
2017-03-31 14:52:58 +02:00
c711a04e6c Added some type annotations (no functional differences) 2017-03-31 13:14:07 +02:00
1cb7a92e40 Removed old mock-EncoderJob and replaced it with a dict
The real value is a dict too, anyway.
2017-03-31 13:12:08 +02:00
fcaa4fb936 Upgraded VRViewer:
- upgraded vrviewer to latest master (ffbc9ff4bf0c550cc79003ec188ca16e9e83c31e)
- added some notes on how to upgrade to the readme
- added support for setting default yaw angle
- added support for float properties
2017-03-28 16:04:26 +02:00
c02c6d89b0 Removed unused import 2017-03-22 16:43:04 +01:00
6b526f6b53 Fixed bug in local file storage URL generation. 2017-03-22 16:05:38 +01:00
cce388049d Big refactoring of file storage handling
- Moved pillar.api.utils.{gcs,storage} to pillar.api.file_storage_backends
- Implemented GCS and local storage using abstract Bucket and Blob classes
- Removed file processing from the Blob class, and kept it in the
  file_storage/__init__.py class. That way storage and processing are
  kept separate.
2017-03-22 15:49:56 +01:00
fdfdd38c38 Removed route for direct GCS storage browsing 2017-03-22 15:49:52 +01:00
56b631d4a2 Added type annotations 2017-03-22 15:49:52 +01:00