{# -*- coding: utf-8 -*-

  This file is part of Invenio.
  Copyright (C) 2015-2020 CERN.

  Invenio is free software; you can redistribute it and/or modify it
  under the terms of the MIT License; see LICENSE file for more details.
#}
{%- extends config.OAUTH2SERVER_SETTINGS_TEMPLATE %}

{# FIXME Import from future formatter. #}
{%- from "invenio_oauth2server/settings/_macros.html" import render_field with context%}
{%- import "invenio_oauth2server/settings/helpers.html" as helpers with context %}

{% block settings_content %}
{{helpers.panel_start(
    _('Developer Applications'),
    btn=_('New application'),
    btn_icon='plus icon',
    btn_href=url_for('.client_new'),
    with_body=False,
)}}
<div class="ui segment">
{% if clients %}
  <p>{{ _('You have registered these applications to use the %(site_name)s API:', site_name=config.THEME_SITENAME) }}</p>
  <div class="ui divided list">
    {%- for c in clients %}
      <div class="item">
        <a class="header" href="{{url_for('.client_view', client_id=c.client_id)}}">{{c.name}}</a>
        <div class="description">
          <small>{{ c.description }}</small>
        </div>
      </div>
    {%- endfor %}
  </div>
{% else %}
  <p>{{ _("You have not yet registered any applications. Click the 'New application' button to create an application to access the %(site_name)s API.", site_name=config['THEME_SITENAME']) }}</p>
{% endif %}
</div>

{{helpers.panel_end(with_body=False)}}
{{helpers.panel_start(
    _('Personal access tokens'),
    btn=_('New token'),
    btn_icon='plus icon',
    btn_href=url_for('.token_new'),
    with_body=False,
)}}
{% if tokens %}
  <div class="ui segment">
    <p>{{ _('Following are personal tokens used to access the %(site_name)s API:', site_name=config.THEME_SITENAME) }}</p>
    <div class="ui divided list">
      {%- for t in tokens %}
        <div class="item">
          <a class="header" href="{{url_for('.token_view', token_id=t.id)}}">{{ t.client.name }}</a>
          <div class="description">
            {% if t.scopes %}
              {% for s in t.get_visible_scopes() %}{{ s }}{% if not loop.last%}, {% endif%}{% endfor %}
            {% endif %}
            <br/><small>{{ t.client.description }}</small>
          </div>
        </div>
      {%- endfor %}
    </div>
  </div>

{% else %}
  <div class="ui segment">
    <p>{{ _("You have not yet created any personal access tokens. Click the 'New token' button to create a personal access token.") }}</p>
  </div>
{% endif %}
{{helpers.panel_end(with_body=False)}}
{{helpers.panel_start(
    _('Authorized applications'),
    with_body=False,
)}}
<div class="ui segment">
{% if authorized_apps %}
  <p>{{ _('You have granted the following application access to your account:') }}</p>
  <div class="ui divided list">
    {%- for a in authorized_apps %}
      <div class="item">
        <div class="right floated content">
          <a href="{{url_for('.token_revoke', token_id=a.id)}}" class="ui tiny button primary"><i class="icon x"></i> {{ _('Revoke') }}</a>
        </div>
        <a class="header" href="{{url_for('.token_permission_view', token_id=a.id)}}">{{a.client.name}}</a>
        <div class="description">
          {{a.client.description}}
        </div>
      </div>
    {%- endfor %}
</div>
{% else %}
  <p>{{ _('You have not yet granted any external applications access to your account.') }}</p>
{% endif %}
</div>
{{helpers.panel_end(with_body=False)}}
{% endblock %}
