You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
external-account/Resources/views/Profile/external_accounts.html.twig

53 lines
2.6 KiB

<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">External authentication sources</h2>
</div>
<div class="panel-body">
{# @var providerManager \vierbergenlars\AuthserverExternalAccountBundle\ExternalAccount\ExternalAccountProviderManager #}
{# @var externalUsers \vierbergenlars\AuthserverExternalAccountBundle\Entity\ExternalUser[] #}
{% set currentProvider = null %}
{# @var currentProvider \vierbergenlars\AuthserverExternalAccountBundle\ExternalAccount\ExternalAccountProviderInterface #}
{% set shownProviders = [] %}
{% for externalUser in externalUsers %}
{% if currentProvider is null or currentProvider.name != externalUser.provider %}
{% if currentProvider != null and currentProvider.hasConnect() %}
<p>
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}
</p>
{% endif %}
{% set currentProvider = providerManager.getProviderForExternalUserUnsafe(externalUser) %}
{% set shownProviders = shownProviders|merge([currentProvider]) %}
<h4>
{% if currentProvider.icon %}
{{ icon(currentProvider.icon) }}
{% endif %}
{{ currentProvider.serviceName }}
</h4>
{% endif %}
<p>
Connected to {{ externalUser.providerFriendlyName }}
{% if currentProvider.hasDisconnect() %}
<a href="{{ url('vierbergenlars_oauth_account_disconnect', {externalUser: externalUser.id}) }}" class="btn btn-link btn-sm">{{ icon('chain-broken') }} Disconnect account</a>
{% endif %}
</p>
{% endfor %}
{% if currentProvider != null and currentProvider.hasConnect() %}
<p>
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}
</p>
{% endif %}
{% for provider in providerManager.accountProviders if provider not in shownProviders and provider.hasConnect() %}
<h4>
{% if provider.icon %}
{{ icon(provider.icon) }}
{% endif %}
{{ provider.serviceName }}
</h4>
<p>
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: provider.connectButton } %}
</p>
{% endfor %}
</div>
</div>