Commit Graph

914 Commits

Author SHA1 Message Date
a549934060 Gracefully handle file documents without backend property. 2016-07-26 17:20:17 +02:00
83bad3d88d Don't fetch entire project just to fetch a node type.
The query can probably be made more specific by including the node type
beforehand, and only fetching that.
2016-07-26 17:20:03 +02:00
336ba7d6fe Attachments: don't always generate new links.
Instead, we now just use file_storage.ensure_valid_link(), which takes
link expiry into account.
2016-07-26 13:37:27 +02:00
3b6fa6ef27 Slight code optimisation 2016-07-26 13:36:59 +02:00
8d8f5068e1 Store GCS client on global level
Without this, every query to the GCS would have to re-establish a TCP/IP
connection and perform an OAuth handshake.
2016-07-26 12:17:38 +02:00
e2fbb41de1 Added hdri_sort(project_url) management command.
The command sorts all HDRi nodes in the given project by image width,
smallest first.
2016-07-22 17:44:59 +02:00
50652d98ea PEP8 formatting 2016-07-22 17:44:35 +02:00
1601a81291 Fixed issue when user has no roles 2016-07-22 10:38:05 +02:00
684c24cbaf Handle case where activity cannot be found. 2016-07-21 17:00:06 +02:00
03a041b96e Some logging to try and track down upload problem. 2016-07-21 15:42:39 +02:00
cd967749de Revert "Use threading when generating links & renaming files at GCS."
This reverts commit 2fc89a728d.
2016-07-21 14:22:29 +02:00
2fc89a728d Use threading when generating links & renaming files at GCS.
Once we move to Python 3.5 we should replace this with asyncio, so we have
more control over the total number of threads we spawn.
2016-07-21 14:11:53 +02:00
d46eed7a34 Add radiance-hdr mimetype 2016-07-21 11:50:53 +02:00
7880fb6968 Added a group_hdri node type.
This node type serves the same purpose for hdri as the group_texture
serves for the texture nodes.
2016-07-20 15:22:33 +02:00
6d68753b1b Introducing support for removing indexed nodes
Nodes are deindexed if they have a 'status' property that is different
from 'published'. Nodes are deindexed also when they are deleted.
2016-07-20 15:15:13 +02:00
49bd2720fa Oops. 2016-07-20 14:25:22 +02:00
4a72b377bd Include HDRi projects in /bcloud/texture-libraries
This depends on the version of the Blender Cloud Addon, which will be sent
as Blender-Cloud-Addon HTTP header in a future version of the addon.
2016-07-20 14:12:54 +02:00
d34d129a2f Removed inclusion of revision in bugsnag.configure()
The revision should be passed to another endpoint (see deploy.sh)
2016-07-20 14:10:06 +02:00
589d916759 Introducing HDRI node_type 2016-07-19 18:20:34 +02:00
0264821189 Comment option to set CORS for GCS bucket
This is originally introduced to enable access from pillar-web
javascript to GCS buckets (via the vrview.js library). For the moment
it is commented since we do not allow HDRI node_type in all projects.
2016-07-19 18:20:34 +02:00
a248e3285c Added optional project.header_node node ID reference.
This can be used to show a video on the project page in Pillar-Web.
2016-07-19 16:09:49 +02:00
54f3ca6924 project_manage_users: Prevent internal error when the user can't be found. 2016-07-19 14:03:58 +02:00
fe148e1e6b Simplified settings by introducing _node_embedded_schema.
This follows the same style as the already-existing _file_embedded_schema.
2016-07-19 12:33:42 +02:00
9b3e75b9b9 Nodes: embed 'short_link' when 'short_code' is present and not empty.
This prevents calls to /nodes/<node-id>/share to get the short link.
2016-07-15 11:23:13 +02:00
b880034fda Using before_returning_node_permissions in before_returning_node_resource_permissions 2016-07-15 11:09:24 +02:00
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
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
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
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
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
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