Commit Graph

728 Commits

Author SHA1 Message Date
49c08cba10 Custom error handlers: also properly handle non-Werkzeug exceptions. 2016-09-06 17:10:50 +02:00
cf30bb5d62 Use BlenderID-side roles to grant demo role. 2016-09-06 16:42:48 +02:00
ab5a4a6b6c Custom error pages.
These make a distinction between API requests on /api/ (which will return
a JSON response) and other requests (which will return HTML).

Fixes T49212
2016-09-06 14:22:52 +02:00
3bb55fd3db User admin: properly handle AJAX errors.
Added specific handling for clicking on non-existing users. The styling
might need some tweaking (it's pretty ugly), but then again, it's just
for us admins.
2016-09-06 11:27:49 +02:00
486686f1f9 File upload: Removed JS-side file size check.
Instead, the size of the entire HTTP request body is checked against the
maximum file size. This allows for slightly smaller files (in the order
of 200-300 bytes), which shouldn't be noticeable given our 32 MiB limit
for non-subscribers. This check is performed before accessing
request.files[], and thus before the file even starts uploading.

This also allows unlimited file uploads to subscribers and demo users.
This was already possible using the API, so now the web interface is
consistent. Limits can be set using config[_local].py.

This closes T49264: Allow large uploads for admins
2016-09-06 10:33:28 +02:00
e58f29a9d0 Fix missing pictures on latest blog posts and node updates 2016-09-05 16:00:45 +02:00
fa050da8e2 Display Blog on the sidebar, if available 2016-09-05 16:00:45 +02:00
3d9b9e40d4 Added PillarExtension.setup_app(app)
It's called on each extension after all extensions have been processed,
and after all built-in Pillar modules have had their setup_app() called.
Call order is random.
2016-08-31 16:03:45 +02:00
4cf779e040 Keep reference to loaded extension, and refuse to load twice.
The Pillar extensions are now stored, by their name, in a dictionary.
2016-08-31 16:02:55 +02:00
a0cc76259e Renamed TestPillarServer to PillarTestServer
TestXXX classes are seen as unit tests by py.test, so anything that's not
a unit test should not be called TestXXX.
2016-08-31 11:29:16 +02:00
5ebec42e6d Removed unused, commented-out code 2016-08-30 15:58:58 +02:00
4529d0597b Gracefully handle nodes of a type for which we don't have a template.
Before, it would simply return a 500 Internal Server Error.
2016-08-30 15:52:55 +02:00
3039aef7d3 Removed Attract node types.
Those are moved into the new Blender Cloud server's Attract module.
2016-08-30 14:24:14 +02:00
cb84e6f0b7 Allow CLI commands to set the current user to a non-existing admin user. 2016-08-30 14:24:14 +02:00
88b5537df4 Avoid crash when there is no current user 2016-08-30 14:24:14 +02:00
88dd574797 No longer using flask.ext.XXX, more imports have to change too. 2016-08-30 14:24:14 +02:00
8d6df947c8 User our own jQuery 2016-08-30 14:10:04 +02:00
b9b993fe4a Extension system: allow empty Eve settings.
Extensions are now able to return an empty dict from their eve_settings()
method.
2016-08-30 13:55:43 +02:00
32c130ed93 Fall back to application/octet-stream when there is no content-type header 2016-08-26 17:57:52 +02:00
634b233685 mass_copy_between_backends: Also catch unexpected exceptions, and simply move on to the next file. 2016-08-26 17:50:40 +02:00
eb7b875122 Copying files to other backend now works 2016-08-26 15:52:02 +02:00
c4a3601939 Broken file_storage.py up into file_storage/{__init__,moving}.py 2016-08-26 15:36:34 +02:00
225f9ae054 WIP for change file backends 2016-08-26 15:36:34 +02:00
163db3f2b8 Let generated links for 'unittest' backend actually be a valid link. 2016-08-26 15:35:18 +02:00
dd6fc8bde4 generate_link: warn when GCS blob can't be found. 2016-08-26 15:34:58 +02:00
ff692d287c Added 'check_cdnsun' management command.
This command performs a HEAD on each file stored at CDNSun, including its
variations. Logs missing variations and missing main files (but only when
there are no variations).
2016-08-26 14:16:05 +02:00
04c9c010f0 p.view_node(): check node_id for validity, before sending it to the API
This prevents a pillarsdk.exceptions.MethodNotAllowed exception, which
would result in a 500 Internal Server Error on the frontend.
2016-08-24 14:49:30 +02:00
b6c623cca8 Don't import every function from pillar.web.utils individually.
Instead, just "from pillar.web import utils" and then use utils.X to
get to the util function.
2016-08-24 14:26:47 +02:00
9b2a419d9b Extra debug logging for file uploads 2016-08-24 11:33:02 +02:00
d5cf3b8246 Moved TLS cert file to post() call instead of session.
Another way to make it work is to set it on the session, and explicitly
specify verify=True in the post() call.
2016-08-23 17:45:31 +02:00
0d3ed3af2c Explicitly use certificate chain. 2016-08-23 17:45:08 +02:00
751a321aa6 Document return type 2016-08-23 17:42:42 +02:00
207d821564 Override image/x-exr mimetype with application/x-exr
This prevents us from handling EXR files as images, at least until the
time when we can properly thumbnail those.
2016-08-23 17:41:56 +02:00
07691db874 Check subscription status on login. 2016-08-23 16:09:47 +02:00
dcbefc33ae Revert an oops in f3bf380bb7 2016-08-23 14:57:11 +02:00
751c692e6a Use urlparse.urlunsplit() to join url parts together.
This also works when there is no scheme and no hostname.
2016-08-23 14:34:15 +02:00
f3bf380bb7 current_user.is_authenticated is a function, and thus should be called. 2016-08-23 14:09:20 +02:00
27eee380d2 Missing pillar-font 2016-08-23 13:56:35 +02:00
57620fd49a Added some more documentation for refresh_backend_links mgmt cmd 2016-08-23 12:57:49 +02:00
becf7e6381 manage.py refresh_backend_links: properly set up logging 2016-08-23 12:06:59 +02:00
c440465cf1 Removed pillar.manage_extra module.
It's no longer used, and empty.
2016-08-23 12:05:19 +02:00
4398d250a7 Fix broken upload widgets on posts 2016-08-19 11:47:06 +02:00
2c5dc34ea2 Introducing Pillar Framework
Refactor of pillar-server and pillar-web into a single python package. This
simplifies the overall architecture of pillar applications.

Special thanks @sybren and @venomgfx
2016-08-19 09:19:06 +02:00
a5e92e1d87 Moved TLS cert file to post() call instead of session.
Another way to make it work is to set it on the session, and explicitly
specify verify=True in the post() call.
2016-08-05 16:37:33 +02:00
c79c39c9e5 Explicitly use certificate chain. 2016-08-05 15:42:57 +02:00
84e48631d4 Document return type 2016-08-04 15:02:54 +02:00
3c63649ce1 Override image/x-exr mimetype with application/x-exr
This prevents us from handling EXR files as images, at least until the
time when we can properly thumbnail those.
2016-08-01 12:55:53 +02:00
b70af6a0be Little logging bugfix 2016-07-29 17:41:12 +02:00
ed863447cf Comment rating: fixed bug where new ratings weren't returned on no-op. 2016-07-28 12:08:40 +02:00
7365fb10cd patch_comment: return new ratings in response
This way the client can show these without querying Pillar again.
2016-07-28 10:24:01 +02:00