Commit Graph

999 Commits

Author SHA1 Message Date
6285e81883 Add course and workshop project types to admin interface 2017-07-27 17:18:20 +02:00
4c896ae6b7 Introducing new icons
graduation-cap and lightbulb thanks to @venomgfx.
2017-07-26 16:55:42 +02:00
b3aee6c8bc Introducing new types of projects
We reorganized training projects into courses and workshops. Project types should be expandable by extensions to avoid this kind of changes.
2017-07-26 16:55:02 +02:00
e18ed79c7b Move training and open-projects to blender-cloud repo 2017-07-26 16:52:45 +02:00
502e494083 Clean up local login
Use generate_and_store_token and get_local_user directly instead of the /make-token endpoint.
2017-07-14 21:41:40 +02:00
e752a5dc87 On new project creation, use the backend storage set in config 2017-07-14 12:04:24 +02:00
5ec76f8801 Remove Blender Cloud specific pages
They are now available in the blender-cloud repository. This is an effort to make Pillar a generic package.
2017-07-13 18:24:43 +02:00
bd13d89817 Added permission check to DELETE of nodes. 2017-07-13 17:29:46 +02:00
4c273671e4 CLI index_users_rebuild() made parallel 2017-07-11 15:29:17 +02:00
f3e79bcfb5 Formatting 2017-07-11 12:56:40 +02:00
b04abef20f Also push user to Algolia when its role changes through the badger
This may cause some superfluous pushes, though.
2017-07-11 12:56:32 +02:00
73d4a77881 Role change blinker: make comparison set-based
This makes it impervious to changes in order and duplicate roles.
2017-07-11 12:17:06 +02:00
c974b388b6 Formatting 2017-06-29 11:05:14 +02:00
e061d6c29d Allow editing users' email address via /u/
Also reloads the user info after a succesful edit.
2017-06-29 11:05:01 +02:00
fc4ab9d6ba Removed obsolete comment file + function 2017-06-16 13:40:31 +02:00
2482381999 Added ability to add missing node types to replace_pillar_node_type_schemas 2017-06-16 12:40:10 +02:00
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
7ed053b6c1 Little clarification
... because I always forget this myself...
2017-06-15 14:52:43 +02:00
8e02de32ab Pillar Extensions can now determine which user roles to index in Algola 2017-06-15 11:31:48 +02:00
8d94901bab Use app.user_roles to construct the roles field in /u 2017-06-15 11:13:44 +02:00
13b67702b4 Let Pillar extensions register new roles.
These will be available via the app.user_roles property.
2017-06-15 11:06:01 +02:00
cdb148fc0d Just import the forms module, not every single form it it separately. 2017-06-15 11:04:44 +02:00
efa2321ac3 Pillar extensions can now register global Jinja2 context processors. 2017-06-14 16:10:11 +02:00
73c5032a48 Convert timezone, not replace it 2017-06-14 12:06:20 +02:00
293961097f Merge branch 'production' 2017-06-08 11:45:16 +02:00
740df09b9d User edit form: prevent accidentally revoking roles
Prevent accidentally revoking roles that were not part of the form.
2017-06-08 11:35:33 +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
91807ad022 Add comment to STORAGE_BACKEND config 2017-06-07 19:40:19 +02:00
155ddf243a Partial revert of "Added @project_view() decorator to reduce duplicated code."
This reverts parts of commit 0cf96e47e8.
The decorator is still there, and it's used by new code (also in Flamenco),
but it's not used by pre-existing code.
2017-06-07 17:06:26 +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
72cbd2ce2b Added 'repr' Jinja2 filter.
This can help with debugging, for example by showing the difference between
a string ID and an ObjectID.
2017-06-06 18:29:33 +02:00
3d273d4284 Expose Flask session to Jinja 2017-06-06 18:06:46 +02:00
d920d9e9fe Also mock .s() and .si() celery signature functions. 2017-06-06 17:35:56 +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
d6506b6402 Moved Celery CLI commands to 'manage.py celery' submodule + added extensions:
Added a 'celery queue' command, which is supposed to show queued
Celery tasks (but doesn't work quite as I'd expect).

Added a 'celery purge' command, which purges queued Celery tasks.
2017-06-06 15:05:18 +02:00
5bde262ad7 Ping Celery workers when starting up.
This makes debugging Celery/RabbitMQ/Redis issues much easier, as it
happens at application startup, rather than when we first create a Celery
task.
2017-06-02 17:33:15 +02:00
27ad3459c1 Testing: make Celery tasks execute immediately when called. 2017-06-02 16:15:46 +02:00
6f16e20bf6 Flask Request.json() is deprecated, use get_json() instead.
See http://flask.pocoo.org/docs/0.12/api/#flask.Request.json
2017-06-02 16:03:45 +02:00
3e67db50f0 Tests: added some code to easily enter the Flask app context
This can't be trivially enabled globally, since it seems to leak certain
things like authentication info between calls.
2017-06-02 16:02:18 +02:00
878bf22695 Migrated Algolia push/delete of nodes to Celery background tasks. 2017-06-02 10:44:37 +02:00
d0c30cfeca Mock Celery while testing, to prevent actual background task creation. 2017-06-02 10:44:37 +02:00
5af54237b9 Integrated Celery startup / management / config with PillarServer. 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
ed4ee5228a Added Celery for background tasks.
The implementation is still rather simple, using hard-coded configuration
values. This will change in subsequent commits.

The worker can be started with "manage.py operations worker". Celery
Worker CLI options can be passed after a double dash, like this:

    ./manage.py operations worker -- -C -E
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
2b36b4c514 PEP8 formatting 2017-06-02 10:44:37 +02:00