642cbafa09
Added urler service, which can fetch the URL of any project.
2016-07-13 16:52:48 +02:00
34e3cb1e7d
Management command for refreshing home project permissions.
2016-07-13 15:59:38 +02:00
a844f1ddda
Home project: allow commenting on nodes.
...
This is only set up correctly for new home projects. Existing home projects
should be migrated using a yet-to-be-written script.
2016-07-13 15:40:41 +02:00
158c7665e4
Removed some debug logging
2016-07-13 15:34:30 +02:00
b6ef96022c
Added OPTIONS call to get allowed options on node types
...
This allows us to check whether a user is allowed to comment on a project
without requiring access to the project itself.
2016-07-13 15:09:40 +02:00
1f4e9ec7f3
authorization: split part of has_permissions() into compute_allowed_methods()
...
This allows other code to re-use the effective permission computations.
2016-07-13 15:08:34 +02:00
da938da38d
Bugfix and some extra debug logging
2016-07-13 15:07:40 +02:00
9cd7198005
Make shared nodes world-gettable
2016-07-13 12:28:01 +02:00
53c0eec8f1
PEP8 formatting
2016-07-13 12:27:50 +02:00
d996760017
Removed node type permissions from EXAMPLE_TEST_PROJECT
...
This makes the test project mimick actual projects more.
2016-07-13 12:27:42 +02:00
22d758b608
Typo in requirements.txt
2016-07-13 09:36:42 +02:00
8d4ae27c85
Merge branch 'production'
2016-07-08 14:03:07 +02:00
660a13cab6
sync_role_groups: Iterating over users, instead of user/role combos.
...
This fixes all roles & group memberships at once, and fixes a bug where
the script had to be re-run to apply multiple role changes on a single
user.
2016-07-08 14:01:46 +02:00
3711678fba
Changed confusing log message
2016-07-08 14:01:43 +02:00
a8f5267f03
Made a management.py command 'badger <action> <user_email> <role>'
...
The action can be 'grant' or 'revoke'.
2016-07-08 14:01:37 +02:00
6f952cde01
sync_role_groups: Iterating over users, instead of user/role combos.
...
This fixes all roles & group memberships at once, and fixes a bug where
the script had to be re-run to apply multiple role changes on a single
user.
2016-07-08 13:03:43 +02:00
a5d7b20b45
Changed confusing log message
2016-07-08 12:50:07 +02:00
8c94af0427
Made a management.py command 'badger <action> <user_email> <role>'
...
The action can be 'grant' or 'revoke'.
2016-07-08 12:34:49 +02:00
5d26de633c
Limit uploadable file size to 32 MiB for non-subscribers.
2016-07-08 12:34:49 +02:00
a322aee0c7
Added file upload support to AbstractPillarTest.client_request
2016-07-08 12:34:49 +02:00
8a7c7afc3c
Bugfix
2016-07-08 12:34:49 +02:00
1c03ea8dec
Don't encode video and don't send uploaded files to GCS when TESTING.
...
Unittests shouldn't connect to external systems. We could mock GCS and
Zencoder, but that's a lot more work, and takes time to maintain.
2016-07-08 12:34:49 +02:00
bfba44e5b8
Merged test_home_project.py and test_bcloud_home_project.py
2016-07-08 12:34:49 +02:00
1c18699de8
Importing werkzeug.exceptions instead of each individual exception
2016-07-08 12:34:49 +02:00
78e4474f94
Disabled uninteresting debug log
2016-07-08 12:32:37 +02:00
0b8aff1054
sync_project_groups: gracefully handle invalid object IDs.
...
Otherwise a mistake at the CLI will create a bugsnag.
2016-07-08 12:08:52 +02:00
f6eab4878f
Log ensure_valid_link() stuff to separate logger.
2016-07-08 12:08:01 +02:00
896e2bc147
Override content type before creating file document in MongoDB
2016-07-07 19:05:42 +02:00
d357345db6
Missed one more 'theatre_link'
2016-07-07 19:05:14 +02:00
a1b26fe911
Removed 'theatre link' from short link info.
...
The short link should always link to the theatre mode anyway.
2016-07-07 17:00:24 +02:00
0f8cfc89b3
Nodes now have only one short code
2016-07-07 15:41:42 +02:00
3f3e9ac7db
Nodes can now be shared with /nodes/<node_id>/share endpoint.
...
A POST will create a short link (if it doesn't exist already), whereas
a GET will return the short link for the node.
The endpoint will return a dict like:
{'short_code': 'XXXXXX',
'short_link': 'https://blender.cloud/r/XXXXX ',
'theatre_link': 'https://blender.cloud/r/XXXXX?t '}
2016-07-07 15:17:56 +02:00
2bdfbaea13
Test tearDown: remove all 'application.xxx' submodules from sys.modules
...
This ensures that the modules are reloaded for every test, for better
test separation.
2016-07-07 14:59:22 +02:00
c871089eab
Added AbstractPillarTest.{get,post,put,post,delete} utility functions.
...
These functions set the correct Content-Type header when JSON is given,
add a resp.json() function that also checks the response mime type,
and adds the correct Authorization header.
2016-07-07 14:58:34 +02:00
251f5ac86a
Added app.utils.str2id() to convert IDs on URLs to ObjectId.
...
Raises a BadRequest exception when the ID is malformed.
2016-07-07 14:56:30 +02:00
be1deb7eb6
Moved MongoDB index creation to app startup.
...
At the first request to Pillar, the application will create all missing
indices. This also happens in unittests, so that we get the correct
behaviour for 'unique' indices.
2016-07-07 14:55:07 +02:00
d5683afb84
manager command 'setup_db_indices': Adds missing database indices.
...
This does NOT drop and recreate existing indices, nor does it reconfigure
existing indices. If you want that, drop them manually first.
2016-07-07 12:44:06 +02:00
6a7d3bd972
Removed obsolete node_types_schema
2016-07-07 11:59:28 +02:00
ff99134ac4
PEP8 formatting
2016-07-07 11:57:59 +02:00
ff8d5c96b7
stream_to_gcs: Return a BadRequest(400) error when content type is missing
...
We're using uploaded_file.content_type.startswith('image/'), which
fails with an AttributeError if uploaded_file.content_type is None. We
now check for this and properly return info about the missing conten type
to the caller.
2016-07-07 11:11:06 +02:00
782ac9ac1e
Disable webm variation creation for video assets
...
Encoding webm video is very time consuming and currently h264 is
supported by most browsers. Once we switch to a different encoding
backend we can reintroduce it, if needed, along with multiple
resolutions.
2016-07-07 10:42:05 +02:00
694016f58b
Fixed issue creating non-sync nodes on home project.
2016-07-06 15:19:41 +02:00
d95004e62e
Node 'user' property now defaults to the current user ID.
2016-07-06 15:19:28 +02:00
447473303a
sync_project_groups: mention user ID in bad/ok group count
...
Makes it easier to grep & process the output
2016-07-06 14:12:32 +02:00
51a51e5782
sync_project_groups: also support identifying user by user ID
2016-07-06 12:55:40 +02:00
2be94bd504
Reformat
2016-07-06 12:50:07 +02:00
5b60dad831
Added script to add users to admin groups of projects they created.
...
For now, can only be run on individual users, identified by email address.
./manage.py sync_project_groups user@domain true
Replace 'true' with 'false' to just see the status and not update the DB.
2016-07-06 12:49:51 +02:00
57e2f01153
Bug fix: users loose their project groups after getting role.
...
The badger service erased the user's groups when assigning subscriber
group membership.
2016-07-06 12:35:16 +02:00
40b29d7d40
Send Blinker signal when user roles change due to a PUT on the user.
2016-07-06 11:53:26 +02:00
3a33475efc
Refactored blender_id.validate_create_user()
...
Semantically still the same code.
2016-07-06 11:53:10 +02:00