Commit Graph

54 Commits

Author SHA1 Message Date
468fc85751 Homepage: increase random featured assets to six. 2019-04-10 17:19:35 +02:00
08de073464 Remove whitespace 2019-04-08 16:44:29 +02:00
b6d9039e82 Add navigation and extension links to /browse 2019-04-04 15:31:52 +02:00
4a6e971e71 Show only groups and assets in browse endpoint 2019-04-04 15:31:28 +02:00
b62f500b2e Cast empty string value in form_field to None
For FilmProjectForm, when no value is specified we want to save it
as None in the project document.
2019-04-04 13:09:53 +02:00
6d47946b1b Fix for exception in /open-movies
When extension_props.cloud.poster was set to empty string, we would
try to get file anyway and we would set the has_poster has_poster
convenience attribute to true. This would lead to an exception when
trying to access the poster file object in the template.
2019-04-04 11:49:12 +02:00
4afe23e284 Introducing top level browsing
We introduce a new /p/<project_url>/browse endpoint, which allows to
see all top-level nodes of a project.
2019-04-04 00:27:14 +02:00
479153af9b Do not show hidden pages in project landing 2019-04-04 00:27:14 +02:00
4473d56379 Fix for exception
Check that ‘extension_props’ exists in project before looking for
EXTENSION_NAME.
2019-04-03 17:36:27 +02:00
c971f799ef Override /p/<project_url>
By overriding this Pillar endpoint, we allow more control over how
the landing page of a project is rendered, based on the presence
of the ‘cloud’ extension property.
2019-04-03 17:00:37 +02:00
d54d5ec157 Use poster file as preview for film projects 2019-04-03 16:43:48 +02:00
4a180e3784 Introducing setup_for_film functionality
It is now possible, only for user with admin capability, to setup a
project as ‘film’. This action can be performed via CLI using
./manage.py cloud setup_for_film <project_url> or via the web
interface in the Cloud settings area.
Setting up a project for film creates a number of extension props
under the ‘cloud’ key. Such properties are listed in the
cloud_extension_props variable in setup.py.

At this moment the functionality exists for a very specific purpose:
improving the presentation of public Film projects in the Blender
Cloud. It can be further extended to improve the presentation of
Training and Libraries later on.
2019-04-03 15:54:45 +02:00
9bf6c0fcb3 Templates: New template for films. 2019-04-03 13:04:25 +02:00
5f9406edd2 Vue Comments: Comments ported to Vue + DnD fileupload
* Drag and drop files to comment editor to add a file attachment
* Using Vue to render comments

Since comments now has attachments we need to update the schemas
./manage.py maintenance replace_pillar_node_type_schemas
2018-12-12 11:45:46 +01:00
37fe235d47 Lazy Home: Lazy load latest blog posts and assets and group by week and
project.

Javascript tutti.js and timeline.js is needed, and then the following to
init the timeline:

$('.timeline')
    .timeline({
        url: '/api/timeline'
    });

# Javascript Notes:
## ES6 transpile:
* Files in src/scripts/js/es6/common will be transpiled from
modern es6 js to old es5 js, and then added to tutti.js
* Files in src/scripts/js/es6/individual will be transpiled from
modern es6 js to old es5 js to individual module files
## JS Testing
* Added the Jest test framework to write javascript tests.
* `npm test` will run all the javascript tests

Thanks to Sybren for reviewing
2018-11-12 12:57:24 +01:00
f2207bc4d4 Asset list item: Don't show user.full_name in latest and random assets 2018-10-04 12:30:05 +02:00
a9848c3fad Random asset bug fix: If 2 assets from the same project where returned, the second one would get a corrupt url 2018-10-04 10:11:38 +02:00
c81711de53 Video Duration: The duration of a video is now shown on thumbnails and bellow the video player
Asset nodes now have a new field called "properties.duration_seconds". This holds a copy of the duration stored on the referenced video file and stays in sync using eve hooks.

To migrate existing duration times from files to nodes you need to run the following:
./manage.py maintenance reconcile_node_video_duration -ag

There are 2 more maintenance commands to be used to determine if there are any missing durations in either files or nodes:
find_video_files_without_duration
find_video_nodes_without_duration

FFProbe is now used to detect what duration a video file has.

Reviewed by Sybren.
2018-10-03 18:30:40 +02:00
4ff52a8af0 Add post status to posts query for homepage 2018-09-20 19:03:57 +02:00
7ba8ff7580 New templates for /learn and /libraries 2018-09-20 15:00:10 +02:00
265794d4b7 Pass title to /production 2018-09-19 11:20:32 +02:00
94c2c6e550 Start of "production videos", a.k.a. tagged assets overview
Tagged assets are shown in a list per tag. The list is dynamically
loaded with JavaScript.
2018-09-06 16:08:23 +02:00
4769e2e904 New landing page for Hero project 2018-04-16 14:38:08 +02:00
8c48a61114 Switched attachment rendering to shortcode system
Requires Pillar 3b452d14ce32e1a744fc526a922e1bb60b83ef25 or newer.
2018-04-03 11:02:33 +02:00
7ba1c55609 Biling page: moved user classification logic from template → view code
This is the kind of stuff that's much easier expressed in Python than in
the template code.

API calls removed:
  - fetching the user isn't necessary, since we have
    pillar.auth.current_user anyway.
  - a call for each group the user is member of, since we only used it to
    check whether the user has demo access anyway.
2018-01-25 14:06:13 +01:00
0908a13519 Avoid error when Store cannot be reached. 2018-01-25 14:06:13 +01:00
06414ab0ed Override for comments_for_node
Make use of the render_comments_for_node function, and define custom logic to determine the value of can_post_comments.
2018-01-20 00:45:57 +01:00
4c2632669b PEP8 formatting 2017-12-21 15:26:32 +01:00
c2518e9ae1 Send welcome email to new Cloud subscribers 2017-12-21 15:26:23 +01:00
9c2e6f9081 Fixed forced login for user switching 2017-12-12 11:25:48 +01:00
bff51e1e83 Added /renew endpoint to redirect to Blender Store renewal URL. 2017-12-06 14:36:02 +01:00
532bf60041 Obtain subscription info from Store.
This was in Pillar, and is now moved to Blender Cloud. It's used to obtain
the subscription expiration date from Blender Store.
2017-11-30 15:45:40 +01:00
f4e277f1d1 Homepage: Render attachments on posts 2017-11-23 16:16:10 +01:00
0c4db84940 Fix link to comments 2017-11-09 19:38:56 +01:00
8288b4eab1 New Homepage: Featuring more in the blog posts 2017-11-09 18:37:32 +01:00
c2492e8710 When logging in from /welcome, redirect to index
Backend logic simplified, to support the next arg if provided, otherwise simply redirect to the request.referrer (last visited page).
2017-11-07 18:25:42 +01:00
13ed89c480 Add terms and conditions and privacy statement 2017-09-21 22:17:52 +02:00
5d0b8a1dc4 Added static page that embeds stats from Kibana.
It just has a full-width iframe that embeds the dashboard from
https://stats.cloud.blender.org/
2017-09-21 14:25:14 +02:00
41d47cdeb8 PEP8 formatting 2017-09-19 13:45:48 +02:00
19ccffa4ae Cache the homepage template context.
This requires pillar-python-sdk c8eec9fa9d8a198df198538a38ca1ad2367bb3e6
or newer.
2017-09-19 13:45:10 +02:00
aaf95f96a7 Fixed user switching.
Basically this copies bd976e6c2e7867fee70c8654cc887bf1d3973bc1 from Pillar.
2017-09-19 13:39:41 +02:00
f3e0484328 Revert "Cache the entire homepage for 5 minutes."
This reverts commit 9a692d475b.
2017-09-18 13:05:29 +02:00
869e228069 Homepage Random Featured: Show project more prominently for first item 2017-09-17 20:12:47 +02:00
9a692d475b Cache the entire homepage for 5 minutes.
This means that comments and blog posts will take at most 5 minutes to show
up on /.
2017-09-15 17:46:20 +02:00
0b61e517d2 Added missing attached_to.url assignment 2017-09-15 17:03:31 +02:00
0c251c0470 Added missing projection 2017-09-15 15:46:52 +02:00
e103a712b3 Performance improvements for the homepage (activity, blog, random featured) 2017-09-15 15:25:27 +02:00
d80fc48635 Redirect properly after login
- Use next=xxx URL parameter
- Redirect to / when no next=xxx was given and the referrer is /welcome
2017-09-01 17:04:41 +02:00
a9280dd05f Introducing settings for blender-cloud
Moved Blender Cloud specific settings from Pillar into this application.
2017-08-30 23:13:06 +02:00
1fb3c88a8f Override /login endpoint
For Blender Cloud we want to point directly to blender-id OAuth.
2017-08-25 11:56:43 +02:00