{% extends "base.html" %} {% load i18n %} {% load translations %} {% load crispy_forms_tags %} {% load permissions %} {% load icons %} {% load humanize %} {% block breadcrumbs %}
  • {{ object }}
  • {% trans "Access control" %}
  • {% endblock %} {% block content %} {% perm 'user.edit' as can_edit_user %}

    {% documentation_icon 'admin/access' 'groups' right=True %} {% trans "Users" %}

    {% if can_edit_user %} {% endif %} {% for user in all_users %} {% include "trans/project-access-row.html" %} {% endfor %} {% for userblock in blocked_users %} {% endfor %} {% for invitation in invitations %} {% if invitation.user %} {% if can_edit_user %} {% endif %} {% else %} {% endif %} {% endfor %}
    {% trans "Username" %} {% trans "Full name" %}{% trans "E-mail" %}{% trans "Last sign in" %} {% trans "Teams" %}
    {{ userblock.user.username }} {{ userblock.user.full_name }} {{ userblock.user.email }} {% if userblock.user.last_login %} {{ userblock.user.last_login|naturaltime }} {% else %} {% trans "Not yet signed in" %} {% endif %} {% if userblock.expiry %} {% blocktrans with expiry=userblock.expiry|date:"DATE_FORMAT" %}Blocked until {{ expiry }}{% endblocktrans %} {% else %} {% trans "Blocked permanently" %} {% endif %}
    {% csrf_token %}
    {{ invitation.user.username }} {{ invitation.user.full_name }}{{ invitation.user.email }} {% blocktrans with email=invitation.email %}Invitation for {{ email }}{% endblocktrans %} {% trans "Pending invitation" %} {{ invitation.group }}
    {% csrf_token %}
    {% csrf_token %}

    {% trans "Once all its permissions are removed, the user will be removed from the project." %}

    {% csrf_token %}

    {% documentation_icon 'admin/access' 'invite-user' right=True %} {% trans "Add a user" %}

    {{ invite_user_form|crispy }}
    {% csrf_token %}

    {% documentation_icon 'admin/access' 'block-user' right=True %} {% trans "Block user" %}

    {{ block_user_form|crispy }}
    {% if invite_email_form %}
    {% csrf_token %}

    {% documentation_icon 'admin/access' 'invite-user' right=True %} {% trans "Invite new user" %}

    {{ invite_email_form|crispy }}
    {% endif %}

    {% documentation_icon 'admin/access' 'groups' right=True %} {% trans "Teams" %}

    {% for group in groups %} {% endfor %}
    {% trans "Name" %} {% trans "Roles" %} {% trans "Languages" %} {% trans "Components" %} {% trans "Members" %}
    {% include "auth/teams-name.html" %} {% include "auth/teams-roles.html" %} {% include "auth/teams-languages.html" %} {% include "auth/teams-components.html" %} {% include "auth/teams-count.html" %} {% icon 'pencil.svg' %} {% icon 'delete.svg' %}
    {% csrf_token %}

    {% documentation_icon 'admin/access' 'groups' right=True %} {% trans "Create new team" %}

    {% crispy create_team_form %}

    {% documentation_icon 'api' right=True %} {% trans "API access" %}

    {% for user in project_tokens %} {% include "trans/project-access-row.html" %} {% endfor %}
    {% trans "Name" %} {% trans "Expires" %} {% trans "Teams" %}
    {% csrf_token %}

    {% documentation_icon 'api' right=True %} {% trans "Create a project token" %}

    {{ create_project_token_form|crispy }}

    {% documentation_icon 'api' right=True %} {% trans "Personal API key" %}

    {% trans "Your personal API key:" %} {{ user.auth_token.key }}
    {% include "snippets/ssh-key.html" %} {% documentation_icon 'vcs' right=True %}
    {% endblock %}