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.
This commit is contained in:
2018-01-25 14:01:14 +01:00
parent 33aa819040
commit 7ba1c55609
2 changed files with 71 additions and 36 deletions

View File

@@ -9,16 +9,30 @@ style(type='text/css').
| {% block settings_page_title %}Subscription{% endblock %}
| {% block settings_page_content %}
| {% set renew_url = url_for('cloud.renew_subscription') %}
| {% if current_user.has_cap('can-renew-subscription') %}
| {% if current_user.has_cap('subscriber') %}
h3.subscription-active
i.pi-check
| Your subscription is active
h4 Thank you for supporting us!
//--------------------------------------------------------------------------------------------------
| {% if user_cls == 'demo' %}
h3.subscription-demo
i.pi-heart-filled
| You have a free account
hr
p Subscription expires on: <strong>{{ expiration_date }}</strong>
| {% else %}
p.
You have full access to the Blender Cloud, provided by the Blender Institute. This account is
meant for free evaluation of the service. Get in touch with
#[a(href="mailto:cloudsupport@blender.org") cloudsupport@blender.org] if you have any questions.
//--------------------------------------------------------------------------------------------------
| {% elif user_cls == 'outsider' %}
h3.subscription-missing
i.pi-info
| You do not have an active subscription.
hr
h3
a(href="https://store.blender.org/product/membership/") Get full access to Blender Cloud now!
//--------------------------------------------------------------------------------------------------
| {% elif user_cls == 'subscriber-expired' %}
| {% set renew_url = url_for('cloud.renew_subscription') %}
h3.subscription-missing
i.pi-info
a(href="{{renew_url}}") Your subscription can be renewed
@@ -26,26 +40,27 @@ hr
p.text-danger Subscription expired on: <strong>{{ expiration_date }}</strong>
p
a.btn.btn-success(href="{{renew_url}}") Renew now
| {% endif %}
//--------------------------------------------------------------------------------------------------
| {% elif current_user.has_cap('subscriber') %}
h3.subscription-active
i.pi-check
| Your subscription is active
//---------------------------------
| {% if user_cls == 'subscriber' %}
h4 Thank you for supporting us!
hr
p Subscription expires on: <strong>{{ expiration_date }}</strong>
p
a(href="{{ config['EXTERNAL_SUBSCRIPTIONS_MANAGEMENT_SERVER'] | urljoin('my-account/subscriptions/') }}") Manage your subscription on Blender Store
| {% elif 'demo' in groups %}
h3.subscription-demo
i.pi-heart-filled
| You have a free account
//---------------------------------
| {% elif user_cls == 'subscriber-org' %}
p Your organisation provides you with your subscription.
| {% endif %}
hr
p You have full access to the Blender Cloud, provided by the Blender Institute. This account is meant for free evaluation of the service. Get in touch with #[a(href="mailto:cloudsupport@blender.org") cloudsupport@blender.org] if you have any questions.
| {% else %}
h3.subscription-missing
i.pi-info
| You do not have an active subscription.
h3
a(href="https://store.blender.org/product/membership/") Get full access to Blender Cloud now!
//--------------------------------------------------------------------------------------------------
| {% endif %}
hr