From d2815acd8027456ca554d0b95c0f48aee3bf8da1 Mon Sep 17 00:00:00 2001 From: Tobias Johansson Date: Thu, 4 Oct 2018 17:44:08 +0200 Subject: [PATCH] Free assets: Assets should not be advertised as free if the user is a logged in subscriber. --- src/scripts/tagged_assets.js | 6 ++++-- src/templates/production.pug | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/scripts/tagged_assets.js b/src/scripts/tagged_assets.js index 05842fc..1c95fec 100644 --- a/src/scripts/tagged_assets.js +++ b/src/scripts/tagged_assets.js @@ -5,6 +5,7 @@ /* How many nodes to load initially, and when clicked on the 'Load Next' link. */ const LOAD_INITIAL_COUNT = 8; const LOAD_NEXT_COUNT = 8; + var mark_if_public = true; /* Renders a node as an asset card, returns a jQuery object. */ function renderAsset(node) { @@ -97,7 +98,7 @@ } /* 'Free' ribbon for public assets. */ - if (node.permissions && node.permissions.world){ + if (mark_if_public && node.permissions && node.permissions.world){ card.addClass('free'); } @@ -123,7 +124,8 @@ load_next.remove(); } - $.fn.loadTaggedAssets = function(LOAD_INITIAL_COUNT, LOAD_NEXT_COUNT) { + $.fn.loadTaggedAssets = function(LOAD_INITIAL_COUNT, LOAD_NEXT_COUNT, has_subscription) { + mark_if_public = !has_subscription; this.each(function(index, card_deck_element) { // TODO(Sybren): show a 'loading' animation. $.get('/api/nodes/tagged/' + card_deck_element.dataset.assetTag) diff --git a/src/templates/production.pug b/src/templates/production.pug index 695f124..18e51a0 100644 --- a/src/templates/production.pug +++ b/src/templates/production.pug @@ -23,7 +23,8 @@ script(src="{{ url_for('static_cloud', filename='assets/js/tagged_assets.min.js' script. $(function() { - $('.js-asset-list').loadTaggedAssets(8, 8); + let is_subscriber = {{ current_user.has_cap('subscriber')|string|lower }}; + $('.js-asset-list').loadTaggedAssets(8, 8, is_subscriber); }); | {% endblock %} | {% block body %}