mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 20:40:17 +02:00
Merge branch 'services-template-improvements' into 'v4.x'
Services template improvements See merge request allianceauth/allianceauth!1553
This commit is contained in:
commit
068bf1ae7a
@ -70,22 +70,21 @@ class DiscordService(ServicesHook):
|
|||||||
discord_username = self.get_discord_username(
|
discord_username = self.get_discord_username(
|
||||||
username=username, discriminator=discriminator
|
username=username, discriminator=discriminator
|
||||||
)
|
)
|
||||||
|
|
||||||
# if username and discriminator:
|
|
||||||
# discord_username = f'{username}#{discriminator}'
|
|
||||||
#
|
|
||||||
# # New Discord user name format
|
|
||||||
# if discriminator == '0':
|
|
||||||
# discord_username = f'@{username}'
|
|
||||||
# else:
|
|
||||||
# discord_username = ''
|
|
||||||
else:
|
else:
|
||||||
discord_username = ''
|
discord_username = ''
|
||||||
user_has_account = False
|
user_has_account = False
|
||||||
|
|
||||||
|
urls = self.Urls()
|
||||||
|
urls.auth_activate = 'discord:activate'
|
||||||
|
urls.auth_deactivate = 'discord:deactivate'
|
||||||
|
urls.auth_reset = 'discord:reset'
|
||||||
|
urls.auth_add_bot = 'discord:add_bot'
|
||||||
|
|
||||||
return render_to_string(
|
return render_to_string(
|
||||||
self.service_ctrl_template,
|
self.service_ctrl_template,
|
||||||
{
|
{
|
||||||
|
'service_name': self.title,
|
||||||
|
'urls': urls,
|
||||||
'server_name': server_name(),
|
'server_name': server_name(),
|
||||||
'user_has_account': user_has_account,
|
'user_has_account': user_has_account,
|
||||||
'discord_username': discord_username
|
'discord_username': discord_username
|
||||||
|
@ -1,34 +1,49 @@
|
|||||||
|
{% extends "services/services_ctrl_base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
<div class="card text-center m-4" style="min-width: 18rem; min-height: 18rem;">
|
|
||||||
<div class="card-body ">
|
{% block title %}
|
||||||
<h5 class="card-title ">{% translate "Discord" %}</h5>
|
{{ service_name }}
|
||||||
<p class="card-text">{% if server_name %}{{ server_name }}{% else %}{% translate "Unlinked Server" %}{% endif %}</p>
|
{% endblock %}
|
||||||
<p class="card-text"><span class="badge {% if user_has_account %}bg-success{% else %}bg-warning{% endif %}">{% if user_has_account %}{% translate "Active" %}{% else %}{% translate "Disabled" %}{% endif %}</span></p>
|
|
||||||
<p class="card-text">
|
{% block url %}
|
||||||
{% if not user_has_account %}
|
{{ server_name }}
|
||||||
{% translate "(not activated)" %}
|
{% endblock %}
|
||||||
{% else %}
|
|
||||||
{{ discord_username }}
|
{% block active %}
|
||||||
{% endif %}
|
{% include "services/service_status.html" with username=discord_username %}
|
||||||
</p>
|
{% endblock %}
|
||||||
</div>
|
|
||||||
<div class="card-footer">
|
{% block user %}
|
||||||
{% if not user_has_account %}
|
{% if discord_username %}
|
||||||
<a href="{% url 'discord:activate' %}" title="{% translate 'Join the Discord server' %}" class="btn btn-primary">
|
{{ discord_username }}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block controls %}
|
||||||
|
{% if not user_has_account %}
|
||||||
|
{% if urls.auth_activate %}
|
||||||
|
<a class="btn btn-warning" href="{% url urls.auth_activate %}" title="{% translate 'Activate' %}">
|
||||||
<span class="fas fa-check fa-fw"></span>
|
<span class="fas fa-check fa-fw"></span>
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% endif %}
|
||||||
<a href="{% url 'discord:reset' %}" title="{% translate 'Leave- and rejoin the Discord Server (Reset)' %}" class="btn btn-warning">
|
{% else %}
|
||||||
|
{% if urls.auth_reset %}
|
||||||
|
<a class="btn btn-primary" href="{% url urls.auth_reset %}" title="{% translate 'Reset Password' %}">
|
||||||
<span class="fas fa-sync fa-fw"></span>
|
<span class="fas fa-sync fa-fw"></span>
|
||||||
</a>
|
</a>
|
||||||
<a href="{% url 'discord:deactivate' %}" title="{% translate 'Leave the Discord server' %}" class="btn btn-danger">
|
{% endif %}
|
||||||
|
|
||||||
|
{% if urls.auth_deactivate %}
|
||||||
|
<a class="btn btn-danger" href="{% url urls.auth_deactivate %}" title="{% translate 'Deactivate' %}">
|
||||||
<span class="fas fa-times fa-fw"></span>
|
<span class="fas fa-times fa-fw"></span>
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if request.user.is_superuser %}
|
{% endif %}
|
||||||
<a type="button" id="btnLinkDiscordServer" class="btn btn-primary" href="{% url 'discord:add_bot' %}">
|
|
||||||
<span class="fas fa-link fa-fw"></span>
|
{% if request.user.is_superuser %}
|
||||||
</a>
|
<a class="btn btn-primary" type="button" id="btnLinkDiscordServer" href="{% url urls.auth_add_bot %}" title="{% translate 'Link Discord Server' %}">
|
||||||
{% endif %}
|
<span class="fas fa-link fa-fw"></span>
|
||||||
</div>
|
</a>
|
||||||
</div>
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
@ -26,11 +26,11 @@ def deactivate_discord(request):
|
|||||||
if request.user.discord.delete_user(
|
if request.user.discord.delete_user(
|
||||||
is_rate_limited=False, handle_api_exceptions=True
|
is_rate_limited=False, handle_api_exceptions=True
|
||||||
):
|
):
|
||||||
logger.info("Successfully deactivated discord for user %s", request.user)
|
logger.info("Successfully deactivated Discord for user %s", request.user)
|
||||||
messages.success(request, _('Deactivated Discord account.'))
|
messages.success(request, _('Deactivated Discord account.'))
|
||||||
else:
|
else:
|
||||||
logger.error(
|
logger.error(
|
||||||
"Unsuccessful attempt to deactivate discord for user %s", request.user
|
"Unsuccessful attempt to deactivate Discord for user %s", request.user
|
||||||
)
|
)
|
||||||
messages.error(
|
messages.error(
|
||||||
request, _('An error occurred while processing your Discord account.')
|
request, _('An error occurred while processing your Discord account.')
|
||||||
@ -46,14 +46,14 @@ def reset_discord(request):
|
|||||||
is_rate_limited=False, handle_api_exceptions=True
|
is_rate_limited=False, handle_api_exceptions=True
|
||||||
):
|
):
|
||||||
logger.info(
|
logger.info(
|
||||||
"Successfully deleted discord user for user %s - "
|
"Successfully deleted Discord user for user %s - "
|
||||||
"forwarding to discord activation.",
|
"forwarding to Discord activation.",
|
||||||
request.user
|
request.user
|
||||||
)
|
)
|
||||||
return redirect("discord:activate")
|
return redirect("discord:activate")
|
||||||
|
|
||||||
logger.error(
|
logger.error(
|
||||||
"Unsuccessful attempt to reset discord for user %s", request.user
|
"Unsuccessful attempt to reset Discord for user %s", request.user
|
||||||
)
|
)
|
||||||
messages.error(
|
messages.error(
|
||||||
request, _('An error occurred while processing your Discord account.')
|
request, _('An error occurred while processing your Discord account.')
|
||||||
|
@ -10,11 +10,17 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block user %}
|
{% block user %}
|
||||||
Username: {{ char.character_name }}
|
{% include "services/service_username.html" with username=char.character_name %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block active %}
|
||||||
|
<span class="badge bg-success">
|
||||||
|
{% translate "SSO login active" %}
|
||||||
|
</span>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block controls %}
|
{% block controls %}
|
||||||
<a title="Go To Forums" href="{{ DISCOURSE_URL }}" class="btn btn-success">
|
<a class="btn btn-success" href="{{ DISCOURSE_URL }}" title="{% translate 'Go to forums' %}">
|
||||||
<span class="fas fa-arrow-right fa-fw"></span>
|
<span class="fas fa-arrow-right fa-fw"></span>
|
||||||
</a>
|
</a>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -25,9 +25,9 @@ def activate_ips4(request):
|
|||||||
# if empty we failed
|
# if empty we failed
|
||||||
if result[0] != "" and not Ips4Tasks.has_account(request.user):
|
if result[0] != "" and not Ips4Tasks.has_account(request.user):
|
||||||
ips_user = Ips4User.objects.create(user=request.user, id=result[2], username=result[0])
|
ips_user = Ips4User.objects.create(user=request.user, id=result[2], username=result[0])
|
||||||
logger.debug("Updated authserviceinfo for user %s with IPS4 credentials." % request.user)
|
logger.debug("Updated authserviceinfo for user %s with IPSuite4 credentials." % request.user)
|
||||||
# update_ips4_groups.delay(request.user.pk)
|
# update_ips4_groups.delay(request.user.pk)
|
||||||
logger.info("Successfully activated IPS4 for user %s" % request.user)
|
logger.info("Successfully activated IPSuite4 for user %s" % request.user)
|
||||||
messages.success(request, _('Activated IPSuite4 account.'))
|
messages.success(request, _('Activated IPSuite4 account.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
'username': result[0],
|
'username': result[0],
|
||||||
@ -35,7 +35,7 @@ def activate_ips4(request):
|
|||||||
}
|
}
|
||||||
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'IPSuite4'})
|
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'IPSuite4'})
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to activate IPS4 for user %s" % request.user)
|
logger.error("Unsuccessful attempt to activate IPSuite4 for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ def reset_ips4_password(request):
|
|||||||
result = Ips4Manager.update_user_password(request.user.ips4.username)
|
result = Ips4Manager.update_user_password(request.user.ips4.username)
|
||||||
# false we failed
|
# false we failed
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully reset IPS4 password for user %s" % request.user)
|
logger.info("Successfully reset IPSuite4 password for user %s" % request.user)
|
||||||
messages.success(request, _('Reset IPSuite4 password.'))
|
messages.success(request, _('Reset IPSuite4 password.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
'username': request.user.ips4.username,
|
'username': request.user.ips4.username,
|
||||||
@ -56,7 +56,7 @@ def reset_ips4_password(request):
|
|||||||
}
|
}
|
||||||
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'IPSuite4'})
|
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'IPSuite4'})
|
||||||
|
|
||||||
logger.error("Unsuccessful attempt to reset IPS4 password for user %s" % request.user)
|
logger.error("Unsuccessful attempt to reset IPSuite4 password for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -74,10 +74,10 @@ def set_ips4_password(request):
|
|||||||
logger.debug("Form contains password of length %s" % len(password))
|
logger.debug("Form contains password of length %s" % len(password))
|
||||||
result = Ips4Manager.update_custom_password(request.user.ips4.username, plain_password=password)
|
result = Ips4Manager.update_custom_password(request.user.ips4.username, plain_password=password)
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully set IPS4 password for user %s" % request.user)
|
logger.info("Successfully set IPSuite4 password for user %s" % request.user)
|
||||||
messages.success(request, _('Set IPSuite4 password.'))
|
messages.success(request, _('Set IPSuite4 password.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Failed to install custom IPS4 password for user %s" % request.user)
|
logger.error("Failed to install custom IPSuite4 password for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
||||||
return redirect('services:services')
|
return redirect('services:services')
|
||||||
else:
|
else:
|
||||||
@ -94,9 +94,9 @@ def set_ips4_password(request):
|
|||||||
def deactivate_ips4(request):
|
def deactivate_ips4(request):
|
||||||
logger.debug("deactivate_ips4 called by user %s" % request.user)
|
logger.debug("deactivate_ips4 called by user %s" % request.user)
|
||||||
if Ips4Tasks.delete_user(request.user):
|
if Ips4Tasks.delete_user(request.user):
|
||||||
logger.info("Successfully deactivated IPS4 for user %s" % request.user)
|
logger.info("Successfully deactivated IPSuite4 for user %s" % request.user)
|
||||||
messages.success(request, _('Deactivated IPSuite4 account.'))
|
messages.success(request, _('Deactivated IPSuite4 account.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to deactivate IPS4 for user %s" % request.user)
|
logger.error("Unsuccessful attempt to deactivate IPSuite4 for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
messages.error(request, _('An error occurred while processing your IPSuite4 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
@ -1,34 +1,49 @@
|
|||||||
{% load i18n %}
|
{% extends "services/services_ctrl_base.html" %}
|
||||||
<div class="card text-center m-4" style="min-width: 18rem; min-height: 18rem;">
|
|
||||||
<div class="card-body ">
|
|
||||||
<h5 class="card-title ">{{ service_name }}</h5>
|
|
||||||
<p class="card-text"><a href="mumble://{{ service_url }}">{{ service_url }}</a></p>
|
|
||||||
<p class="card-text"><span class="badge {% if username != '' %}bg-success{% else %}bg-warning{% endif %}">{% if username != '' %}Active{% else %}Disabled{% endif %}</span></p>
|
|
||||||
<p class="card-text">Username: <span class="badge bg-secondary text-end">{{ username }}</span></p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="card-footer">
|
{% load i18n %}
|
||||||
{% if username == "" %}
|
|
||||||
<div class="text-center">
|
{% block title %}
|
||||||
<a href="{% url 'mumble:activate' %}" title="Activate" class="btn btn-warning">
|
{{ service_name }}
|
||||||
<span class="fas fa-check fa-fw"></span>
|
{% endblock %}
|
||||||
</a>
|
|
||||||
</div>
|
{% block url %}
|
||||||
{% else %}
|
<a href="{{ service_url }}">{{ service_url }}</a>
|
||||||
<div class="text-center">
|
{% endblock %}
|
||||||
<a href="{% url 'mumble:set_password' %}" title="Set Password" class="btn btn-warning">
|
|
||||||
<span class="fas fa-edit fa-fw"></span>
|
{% block user %}
|
||||||
</a>
|
{% include "services/service_username.html" with username=username %}
|
||||||
<a href="{% url 'mumble:reset_password' %}" title="Reset Password" class="btn btn-primary">
|
{% endblock %}
|
||||||
<span class="fas fa-sync fa-fw"></span>
|
|
||||||
</a>
|
{% block controls %}
|
||||||
<a href="{% url 'mumble:deactivate' %}" title="Deactivate" class="btn btn-danger">
|
{% if username == "" %}
|
||||||
<span class="fas fa-times fa-fw"></span>
|
{% if urls.auth_activate %}
|
||||||
</a>
|
<a class="btn btn-warning" href="{% url urls.auth_activate %}" title="{% translate 'Activate' %}">
|
||||||
<a href="mumble://{{ connect_url }}" class="btn btn-success" title="Connect">
|
<span class="fas fa-check fa-fw"></span>
|
||||||
<span class="fas fa-arrow-right fa-fw"></span>
|
</a>
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
{% else %}
|
||||||
</div>
|
{% if urls.auth_set_password %}
|
||||||
|
<a class="btn btn-warning" href="{% url urls.auth_set_password %}" title="{% translate 'Set Password' %}">
|
||||||
|
<span class="fas fa-edit fa-fw"></span>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if urls.auth_reset_password %}
|
||||||
|
<a class="btn btn-primary" href="{% url urls.auth_reset_password %}" title="{% translate 'Reset Password' %}">
|
||||||
|
<span class="fas fa-sync fa-fw"></span>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if urls.auth_deactivate %}
|
||||||
|
<a class="btn btn-danger" href="{% url urls.auth_deactivate %}" title="{% translate 'Deactivate' %}">
|
||||||
|
<span class="fas fa-times fa-fw"></span>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if connect_url %}
|
||||||
|
<a class="btn btn-success" href="mumble://{{ connect_url }}" title="{% translate 'Connect' %}">
|
||||||
|
<span class="fas fa-arrow-right fa-fw"></span>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{% extends "allianceauth/base.html" %}
|
{% extends "allianceauth/base.html" %}
|
||||||
{% load bootstrap %}
|
{% load django_bootstrap5 %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block page_title %}{% translate "Jabber Broadcast" %}{% endblock page_title %}
|
{% block page_title %}{% translate "Jabber Broadcast" %}{% endblock page_title %}
|
||||||
@ -17,7 +17,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<form class="form-signin" role="form" action="" method="POST" onsubmit="submitbutton.disabled = true; return true;">
|
<form class="form-signin" role="form" action="" method="POST" onsubmit="submitbutton.disabled = true; return true;">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form|bootstrap }}
|
{% bootstrap_form form %}
|
||||||
<br>
|
<br>
|
||||||
<button class="btn btn-lg btn-primary btn-block" name="submitbutton" type="submit">{% translate "Broadcast" %}
|
<button class="btn btn-lg btn-primary btn-block" name="submitbutton" type="submit">{% translate "Broadcast" %}
|
||||||
</button>
|
</button>
|
||||||
|
@ -24,23 +24,23 @@ ACCESS_PERM = 'openfire.access_openfire'
|
|||||||
def activate_jabber(request):
|
def activate_jabber(request):
|
||||||
logger.debug("activate_jabber called by user %s" % request.user)
|
logger.debug("activate_jabber called by user %s" % request.user)
|
||||||
character = request.user.profile.main_character
|
character = request.user.profile.main_character
|
||||||
logger.debug(f"Adding jabber user for user {request.user} with main character {character}")
|
logger.debug(f"Adding Jabber user for user {request.user} with main character {character}")
|
||||||
info = OpenfireManager.add_user(OpenfireTasks.get_username(request.user))
|
info = OpenfireManager.add_user(OpenfireTasks.get_username(request.user))
|
||||||
# If our username is blank means we already had a user
|
# If our username is blank means we already had a user
|
||||||
if info[0] != "":
|
if info[0] != "":
|
||||||
OpenfireUser.objects.update_or_create(user=request.user, defaults={'username': info[0]})
|
OpenfireUser.objects.update_or_create(user=request.user, defaults={'username': info[0]})
|
||||||
logger.debug("Updated authserviceinfo for user %s with jabber credentials. Updating groups." % request.user)
|
logger.debug("Updated authserviceinfo for user %s with Jabber credentials. Updating groups." % request.user)
|
||||||
OpenfireTasks.update_groups.delay(request.user.pk)
|
OpenfireTasks.update_groups.delay(request.user.pk)
|
||||||
logger.info("Successfully activated jabber for user %s" % request.user)
|
logger.info("Successfully activated Jabber for user %s" % request.user)
|
||||||
messages.success(request, _('Activated jabber account.'))
|
messages.success(request, _('Activated Jabber account.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
'username': info[0],
|
'username': info[0],
|
||||||
'password': info[1],
|
'password': info[1],
|
||||||
}
|
}
|
||||||
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'Jabber'})
|
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'Jabber'})
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to activate jabber for user %s" % request.user)
|
logger.error("Unsuccessful attempt to activate Jabber for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your jabber account.'))
|
messages.error(request, _('An error occurred while processing your Jabber account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
|
|
||||||
@ -49,11 +49,11 @@ def activate_jabber(request):
|
|||||||
def deactivate_jabber(request):
|
def deactivate_jabber(request):
|
||||||
logger.debug("deactivate_jabber called by user %s" % request.user)
|
logger.debug("deactivate_jabber called by user %s" % request.user)
|
||||||
if OpenfireTasks.has_account(request.user) and OpenfireTasks.delete_user(request.user):
|
if OpenfireTasks.has_account(request.user) and OpenfireTasks.delete_user(request.user):
|
||||||
logger.info("Successfully deactivated jabber for user %s" % request.user)
|
logger.info("Successfully deactivated Jabber for user %s" % request.user)
|
||||||
messages.success(request, 'Deactivated jabber account.')
|
messages.success(request, 'Deactivated Jabber account.')
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to deactivate jabber for user %s" % request.user)
|
logger.error("Unsuccessful attempt to deactivate Jabber for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your jabber account.'))
|
messages.error(request, _('An error occurred while processing your Jabber account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
|
|
||||||
@ -65,15 +65,15 @@ def reset_jabber_password(request):
|
|||||||
result = OpenfireManager.update_user_pass(request.user.openfire.username)
|
result = OpenfireManager.update_user_pass(request.user.openfire.username)
|
||||||
# If our username is blank means we failed
|
# If our username is blank means we failed
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully reset jabber password for user %s" % request.user)
|
logger.info("Successfully reset Jabber password for user %s" % request.user)
|
||||||
messages.success(request, _('Reset jabber password.'))
|
messages.success(request, _('Reset Jabber password.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
'username': request.user.openfire.username,
|
'username': request.user.openfire.username,
|
||||||
'password': result,
|
'password': result,
|
||||||
}
|
}
|
||||||
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'Jabber'})
|
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'Jabber'})
|
||||||
logger.error("Unsuccessful attempt to reset jabber for user %s" % request.user)
|
logger.error("Unsuccessful attempt to reset Jabber for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your jabber account.'))
|
messages.error(request, _('An error occurred while processing your Jabber account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ def jabber_broadcast_view(request):
|
|||||||
logger.debug("Received POST request containing form, valid: %s" % form.is_valid())
|
logger.debug("Received POST request containing form, valid: %s" % form.is_valid())
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
main_char = request.user.profile.main_character
|
main_char = request.user.profile.main_character
|
||||||
logger.debug(f"Processing jabber broadcast for user {request.user} with main character {main_char}")
|
logger.debug(f"Processing Jabber broadcast for user {request.user} with main character {main_char}")
|
||||||
try:
|
try:
|
||||||
if main_char is not None:
|
if main_char is not None:
|
||||||
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "[" + main_char.corporation_ticker + "]" + \
|
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "[" + main_char.corporation_ticker + "]" + \
|
||||||
@ -112,8 +112,8 @@ def jabber_broadcast_view(request):
|
|||||||
|
|
||||||
OpenfireManager.send_broadcast_message(group_to_send, message_to_send)
|
OpenfireManager.send_broadcast_message(group_to_send, message_to_send)
|
||||||
|
|
||||||
messages.success(request, _('Sent jabber broadcast to %s' % group_to_send))
|
messages.success(request, _('Sent Jabber broadcast to %s' % group_to_send))
|
||||||
logger.info("Sent jabber broadcast on behalf of user %s" % request.user)
|
logger.info("Sent Jabber broadcast on behalf of user %s" % request.user)
|
||||||
except PingBotException as e:
|
except PingBotException as e:
|
||||||
messages.error(request, e)
|
messages.error(request, e)
|
||||||
|
|
||||||
@ -140,11 +140,11 @@ def set_jabber_password(request):
|
|||||||
logger.debug("Form contains password of length %s" % len(password))
|
logger.debug("Form contains password of length %s" % len(password))
|
||||||
result = OpenfireManager.update_user_pass(request.user.openfire.username, password=password)
|
result = OpenfireManager.update_user_pass(request.user.openfire.username, password=password)
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully set jabber password for user %s" % request.user)
|
logger.info("Successfully set Jabber password for user %s" % request.user)
|
||||||
messages.success(request, _('Set jabber password.'))
|
messages.success(request, _('Set jabber password.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Failed to install custom jabber password for user %s" % request.user)
|
logger.error("Failed to install custom Jabber password for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your jabber account.'))
|
messages.error(request, _('An error occurred while processing your Jabber account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
else:
|
else:
|
||||||
logger.debug("Request is not type POST - providing empty form.")
|
logger.debug("Request is not type POST - providing empty form.")
|
||||||
|
@ -24,7 +24,7 @@ def activate_smf(request):
|
|||||||
main_character = request.user.profile.main_character
|
main_character = request.user.profile.main_character
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Adding smf user for user {request.user} with main character {main_character}"
|
f"Adding SMF user for user {request.user} with main character {main_character}"
|
||||||
)
|
)
|
||||||
|
|
||||||
result = SmfManager.add_user(
|
result = SmfManager.add_user(
|
||||||
@ -42,12 +42,12 @@ def activate_smf(request):
|
|||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Updated authserviceinfo for user {request.user} "
|
f"Updated authserviceinfo for user {request.user} "
|
||||||
f"with smf credentials. Updating groups."
|
f"with SMF credentials. Updating groups."
|
||||||
)
|
)
|
||||||
|
|
||||||
SmfTasks.update_groups.delay(request.user.pk)
|
SmfTasks.update_groups.delay(request.user.pk)
|
||||||
|
|
||||||
logger.info(f"Successfully activated smf for user {request.user}")
|
logger.info(f"Successfully activated SMF for user {request.user}")
|
||||||
|
|
||||||
messages.success(request, _('Activated SMF account.'))
|
messages.success(request, _('Activated SMF account.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
@ -61,7 +61,7 @@ def activate_smf(request):
|
|||||||
context={'credentials': credentials, 'service': 'SMF'},
|
context={'credentials': credentials, 'service': 'SMF'},
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.error(f"Unsuccessful attempt to activate smf for user {request.user}")
|
logger.error(f"Unsuccessful attempt to activate SMF for user {request.user}")
|
||||||
messages.error(request, _('An error occurred while processing your SMF account.'))
|
messages.error(request, _('An error occurred while processing your SMF account.'))
|
||||||
|
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
@ -74,10 +74,10 @@ def deactivate_smf(request):
|
|||||||
result = SmfTasks.delete_user(request.user)
|
result = SmfTasks.delete_user(request.user)
|
||||||
# false we failed
|
# false we failed
|
||||||
if result:
|
if result:
|
||||||
logger.info("Successfully deactivated smf for user %s" % request.user)
|
logger.info("Successfully deactivated SMF for user %s" % request.user)
|
||||||
messages.success(request, _('Deactivated SMF account.'))
|
messages.success(request, _('Deactivated SMF account.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to activate smf for user %s" % request.user)
|
logger.error("Unsuccessful attempt to activate SMF for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your SMF account.'))
|
messages.error(request, _('An error occurred while processing your SMF account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -91,14 +91,14 @@ def reset_smf_password(request):
|
|||||||
result = SmfManager.update_user_password(request.user.smf.username, character.character_id)
|
result = SmfManager.update_user_password(request.user.smf.username, character.character_id)
|
||||||
# false we failed
|
# false we failed
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully reset smf password for user %s" % request.user)
|
logger.info("Successfully reset SMF password for user %s" % request.user)
|
||||||
messages.success(request, _('Reset SMF password.'))
|
messages.success(request, _('Reset SMF password.'))
|
||||||
credentials = {
|
credentials = {
|
||||||
'username': request.user.smf.username,
|
'username': request.user.smf.username,
|
||||||
'password': result,
|
'password': result,
|
||||||
}
|
}
|
||||||
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'SMF'})
|
return render(request, 'services/service_credentials.html', context={'credentials': credentials, 'service': 'SMF'})
|
||||||
logger.error("Unsuccessful attempt to reset smf password for user %s" % request.user)
|
logger.error("Unsuccessful attempt to reset SMF password for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your SMF account.'))
|
messages.error(request, _('An error occurred while processing your SMF account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -117,10 +117,10 @@ def set_smf_password(request):
|
|||||||
logger.debug("Form contains password of length %s" % len(password))
|
logger.debug("Form contains password of length %s" % len(password))
|
||||||
result = SmfManager.update_user_password(request.user.smf.username, character.character_id, password=password)
|
result = SmfManager.update_user_password(request.user.smf.username, character.character_id, password=password)
|
||||||
if result != "":
|
if result != "":
|
||||||
logger.info("Successfully set smf password for user %s" % request.user)
|
logger.info("Successfully set SMF password for user %s" % request.user)
|
||||||
messages.success(request, _('Set SMF password.'))
|
messages.success(request, _('Set SMF password.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Failed to install custom smf password for user %s" % request.user)
|
logger.error("Failed to install custom SMF password for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your SMF account.'))
|
messages.error(request, _('An error occurred while processing your SMF account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
else:
|
else:
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
<li>
|
<li>
|
||||||
<a href="{% url 'teamspeak3:admin_update_ts3_groups' %}" class="btn btn-high">
|
<a href="{% url 'teamspeak3:admin_update_ts3_groups' %}" class="btn btn-high">
|
||||||
{% translate "Update TS3 groups" %}
|
{% translate "Update TeamSpeak3 groups" %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block active %}
|
{% block active %}
|
||||||
<span class="badge {% if authinfo.teamspeak3_uid != '' %}bg-success{% else %}bg-warning{% endif %}">{% if authinfo.teamspeak3_uid != '' %}Active{% else %}Disabled{% endif %}</span>
|
{% include "services/service_status.html" with username=authinfo.teamspeak3_uid %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block user %}
|
{% block user %}
|
||||||
{{ authinfo.teamspeak3_uid }}
|
{% include "services/service_username.html" with username=authinfo.teamspeak3_uid %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block controls %}
|
{% block controls %}
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
{% extends "allianceauth/base.html" %}
|
{% extends "allianceauth/base-bs5.html" %}
|
||||||
{% load bootstrap %}
|
{% load django_bootstrap5 %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block page_title %}{% translate "Verify Teamspeak" %}{% endblock page_title %}
|
{% block page_title %}{% translate "Verify TeamSpeak3" %}{% endblock page_title %}
|
||||||
{% block extra_css %}{% endblock extra_css %}
|
{% block extra_css %}{% endblock extra_css %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h1 class="page-header text-center">{% translate "Verify Teamspeak Identity" %}</h1>
|
<h1 class="page-header text-center">{% translate "Verify TeamSpeak3 Identity" %}</h1>
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="col-md-4 col-md-offset-4">
|
<div class="col-md-4 col-md-offset-4">
|
||||||
<a href="ts3server://{{ public_url }}?token={{ authinfo.teamspeak3_perm_key }}&nickname={{ authinfo.teamspeak3_uid }}" class="btn btn-primary btn-block btn-lg" title="Join">{% translate "Join Server" %}</a>
|
<a href="ts3server://{{ public_url }}?token={{ authinfo.teamspeak3_perm_key }}&nickname={{ authinfo.teamspeak3_uid }}" class="btn btn-primary btn-block btn-lg" title="Join">{% translate "Join Server" %}</a>
|
||||||
<br>
|
<br>
|
||||||
<form class="form-signin" role="form" action="{% url 'teamspeak3:verify' %}" method="POST">
|
<form class="form-signin" role="form" action="{% url 'teamspeak3:verify' %}" method="POST">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form|bootstrap }}
|
{% bootstrap_form form %}
|
||||||
<br>
|
<br>
|
||||||
<button class="btn btn-lg btn-primary btn-block" type="submit">{% translate "Continue" %}</button>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">{% translate "Continue" %}</button>
|
||||||
</form>
|
</form>
|
||||||
|
@ -24,17 +24,17 @@ def activate_teamspeak3(request):
|
|||||||
|
|
||||||
character = request.user.profile.main_character
|
character = request.user.profile.main_character
|
||||||
with Teamspeak3Manager() as ts3man:
|
with Teamspeak3Manager() as ts3man:
|
||||||
logger.debug(f"Adding TS3 user for user {request.user} with main character {character}")
|
logger.debug(f"Adding TeamSpeak3 user for user {request.user} with main character {character}")
|
||||||
result = ts3man.add_user(request.user, Teamspeak3Tasks.get_username(request.user))
|
result = ts3man.add_user(request.user, Teamspeak3Tasks.get_username(request.user))
|
||||||
|
|
||||||
# if its empty we failed
|
# if its empty we failed
|
||||||
if result[0] != "":
|
if result[0] != "":
|
||||||
Teamspeak3User.objects.update_or_create(user=request.user, defaults={'uid': result[0], 'perm_key': result[1]})
|
Teamspeak3User.objects.update_or_create(user=request.user, defaults={'uid': result[0], 'perm_key': result[1]})
|
||||||
logger.debug("Updated authserviceinfo for user %s with TS3 credentials. Updating groups." % request.user)
|
logger.debug("Updated authserviceinfo for user %s with TeamSpeak3 credentials. Updating groups." % request.user)
|
||||||
logger.info("Successfully activated TS3 for user %s" % request.user)
|
logger.info("Successfully activated TeamSpeak3 for user %s" % request.user)
|
||||||
messages.success(request, _('Activated TeamSpeak3 account.'))
|
messages.success(request, _('Activated TeamSpeak3 account.'))
|
||||||
return redirect("teamspeak3:verify")
|
return redirect("teamspeak3:verify")
|
||||||
logger.error("Unsuccessful attempt to activate TS3 for user %s" % request.user)
|
logger.error("Unsuccessful attempt to activate TeamSpeak3 for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -67,10 +67,10 @@ def verify_teamspeak3(request):
|
|||||||
def deactivate_teamspeak3(request):
|
def deactivate_teamspeak3(request):
|
||||||
logger.debug("deactivate_teamspeak3 called by user %s" % request.user)
|
logger.debug("deactivate_teamspeak3 called by user %s" % request.user)
|
||||||
if Teamspeak3Tasks.has_account(request.user) and Teamspeak3Tasks.delete_user(request.user):
|
if Teamspeak3Tasks.has_account(request.user) and Teamspeak3Tasks.delete_user(request.user):
|
||||||
logger.info("Successfully deactivated TS3 for user %s" % request.user)
|
logger.info("Successfully deactivated TeamSpeak3 for user %s" % request.user)
|
||||||
messages.success(request, _('Deactivated TeamSpeak3 account.'))
|
messages.success(request, _('Deactivated TeamSpeak3 account.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to deactivate TS3 for user %s" % request.user)
|
logger.error("Unsuccessful attempt to deactivate TeamSpeak3 for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ def reset_teamspeak3_perm(request):
|
|||||||
logger.debug("reset_teamspeak3_perm called by user %s" % request.user)
|
logger.debug("reset_teamspeak3_perm called by user %s" % request.user)
|
||||||
if not Teamspeak3Tasks.has_account(request.user):
|
if not Teamspeak3Tasks.has_account(request.user):
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
logger.debug("Deleting TS3 user for user %s" % request.user)
|
logger.debug("Deleting TeamSpeak3 user for user %s" % request.user)
|
||||||
with Teamspeak3Manager() as ts3man:
|
with Teamspeak3Manager() as ts3man:
|
||||||
ts3man.delete_user(request.user.teamspeak3.uid)
|
ts3man.delete_user(request.user.teamspeak3.uid)
|
||||||
|
|
||||||
@ -91,12 +91,12 @@ def reset_teamspeak3_perm(request):
|
|||||||
# if blank we failed
|
# if blank we failed
|
||||||
if result[0] != "":
|
if result[0] != "":
|
||||||
Teamspeak3User.objects.update_or_create(user=request.user, defaults={'uid': result[0], 'perm_key': result[1]})
|
Teamspeak3User.objects.update_or_create(user=request.user, defaults={'uid': result[0], 'perm_key': result[1]})
|
||||||
logger.debug("Updated authserviceinfo for user %s with TS3 credentials. Updating groups." % request.user)
|
logger.debug("Updated authserviceinfo for user %s with TeamSpeak3 credentials. Updating groups." % request.user)
|
||||||
Teamspeak3Tasks.update_groups.delay(request.user.pk)
|
Teamspeak3Tasks.update_groups.delay(request.user.pk)
|
||||||
logger.info("Successfully reset TS3 permission key for user %s" % request.user)
|
logger.info("Successfully reset TeamSpeak3 permission key for user %s" % request.user)
|
||||||
messages.success(request, _('Reset TeamSpeak3 permission key.'))
|
messages.success(request, _('Reset TeamSpeak3 permission key.'))
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to reset TS3 permission key for user %s" % request.user)
|
logger.error("Unsuccessful attempt to reset TeamSpeak3 permission key for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
messages.error(request, _('An error occurred while processing your TeamSpeak3 account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
@ -105,5 +105,5 @@ def reset_teamspeak3_perm(request):
|
|||||||
@staff_member_required
|
@staff_member_required
|
||||||
def admin_update_ts3_groups(request):
|
def admin_update_ts3_groups(request):
|
||||||
Teamspeak3Tasks.run_ts3_group_update.delay()
|
Teamspeak3Tasks.run_ts3_group_update.delay()
|
||||||
messages.info(request, "Started updating TS3 server groups...")
|
messages.info(request, "Started updating TeamSpeak3 server groups...")
|
||||||
return redirect("admin:teamspeak3_authts_changelist")
|
return redirect("admin:teamspeak3_authts_changelist")
|
||||||
|
@ -36,7 +36,7 @@ def activate_xenforo_forum(request):
|
|||||||
context={'credentials': credentials, 'service': 'XenForo'})
|
context={'credentials': credentials, 'service': 'XenForo'})
|
||||||
|
|
||||||
else:
|
else:
|
||||||
logger.error("Unsuccessful attempt to activate xenforo for user %s" % request.user)
|
logger.error("Unsuccessful attempt to activate XenForo for user %s" % request.user)
|
||||||
messages.error(request, _('An error occurred while processing your XenForo account.'))
|
messages.error(request, _('An error occurred while processing your XenForo account.'))
|
||||||
return redirect("services:services")
|
return redirect("services:services")
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{% extends "allianceauth/base-bs5.html" %}
|
{% extends "allianceauth/base-bs5.html" %}
|
||||||
{% load bootstrap %}
|
{% load django_bootstrap5 %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block page_title %}{% translate "Fleet Formatter Tool" %}{% endblock page_title %}
|
{% block page_title %}{% translate "Fleet Formatter Tool" %}{% endblock page_title %}
|
||||||
@ -18,7 +18,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<form class="form-signin" role="form" action="" method="POST">
|
<form class="form-signin" role="form" action="" method="POST">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form|bootstrap }}
|
{% bootstrap_form form %}
|
||||||
<br>
|
<br>
|
||||||
<button class="btn btn-lg btn-primary btn-block" type="submit">{% translate "Format" %}</button>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">{% translate "Format" %}</button>
|
||||||
<br>
|
<br>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "allianceauth/base.html" %}
|
{% extends "allianceauth/base-bs5.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
|
|
||||||
@ -11,9 +11,9 @@
|
|||||||
<h1 class="page-header text-center">
|
<h1 class="page-header text-center">
|
||||||
{% blocktranslate with service_name=view.service_name|title %}Delete {{ service_name }} Account?{% endblocktranslate %}
|
{% blocktranslate with service_name=view.service_name|title %}Delete {{ service_name }} Account?{% endblocktranslate %}
|
||||||
</h1>
|
</h1>
|
||||||
<div class="container-fluid">
|
<div class="container">
|
||||||
<div class="col-md-2 col-md-offset-5">
|
<div class="row justify-content-center">
|
||||||
<div class="row">
|
<div class="col-md-4 align-self-center">
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{% extends "allianceauth/base.html" %}
|
{% extends "allianceauth/base-bs5.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block page_title %}{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Credentials{% endblocktranslate %}{% endblock page_title %}
|
{% block page_title %}{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Credentials{% endblocktranslate %}{% endblock page_title %}
|
||||||
@ -6,17 +6,19 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h1 class="page-header text-center">{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Credentials{% endblocktranslate %}</h1>
|
<h1 class="page-header text-center">{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Credentials{% endblocktranslate %}</h1>
|
||||||
<div class="container-fluid">
|
<div class="container">
|
||||||
<div class="col-lg-4 col-lg-offset-4">
|
<div class="row justify-content-center">
|
||||||
<form class="form-signin">
|
<div class="col-md-4 align-self-center">
|
||||||
{% for key, value in credentials.items %}
|
<form class="form-signin">
|
||||||
<div class="form-group">
|
{% for key, value in credentials.items %}
|
||||||
<label class="control-label" for="id_{{ key }}">{{ key|capfirst }}</label>
|
<div class="mb-3">
|
||||||
<input class="form-control" value="{{ value }}" id="id_{{ key }}" readonly>
|
<label class="form-label" for="id_{{ key }}">{{ key|capfirst }}</label>
|
||||||
</div>
|
<input class="form-control" value="{{ value }}" id="id_{{ key }}" readonly>
|
||||||
{% endfor %}
|
</div>
|
||||||
</form>
|
{% endfor %}
|
||||||
<a href="{% url 'services:services' %}" class="btn btn-lg btn-block btn-primary" title="Continue">{% translate "Continue" %}</a>
|
</form>
|
||||||
|
<a href="{% url 'services:services' %}" class="btn btn-lg btn-block btn-primary" title="Continue">{% translate "Continue" %}</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{% extends "allianceauth/base.html" %}
|
{% extends "allianceauth/base-bs5.html" %}
|
||||||
{% load bootstrap %}
|
{% load django_bootstrap5 %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block page_title %}{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Password Change{% endblocktranslate %}{% endblock page_title %}
|
{% block page_title %}{% blocktranslate with service_name=view.service_name|title %}{{ service_name }} Password Change{% endblocktranslate %}{% endblock page_title %}
|
||||||
@ -7,12 +7,12 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h1 class="page-header text-center">{% blocktranslate with service_name=view.service_name|title %}Set {{service_name}} Password{% endblocktranslate %}</h1>
|
<h1 class="page-header text-center">{% blocktranslate with service_name=view.service_name|title %}Set {{service_name}} Password{% endblocktranslate %}</h1>
|
||||||
<div class="container-fluid">
|
<div class="container">
|
||||||
<div class="col-md-4 col-md-offset-4">
|
<div class="row justify-content-center">
|
||||||
<div class="row">
|
<div class="col-md-4 align-self-center">
|
||||||
<form class="form-signin" role="form" action="" method="POST" onsubmit="submitbutton.disabled = true; return true;">
|
<form class="form-signin" role="form" action="" method="POST" onsubmit="submitbutton.disabled = true; return true;">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form|bootstrap }}
|
{% bootstrap_form form %}
|
||||||
<br>
|
<br>
|
||||||
<button class="btn btn-lg btn-primary btn-block" name="submitbutton" type="submit">{% translate "Set Password" %}</button>
|
<button class="btn btn-lg btn-primary btn-block" name="submitbutton" type="submit">{% translate "Set Password" %}</button>
|
||||||
</form>
|
</form>
|
||||||
@ -20,5 +20,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
<span class="badge {% if username != '' %}bg-success{% else %}bg-warning{% endif %}">
|
||||||
|
{% if username != '' %}
|
||||||
|
{% translate "Enabled" %}
|
||||||
|
{% else %}
|
||||||
|
{% translate "Disabled" %}
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
@ -0,0 +1,5 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% if username != '' %}
|
||||||
|
{% translate "Username" %}: {{ username }}
|
||||||
|
{% endif %}
|
@ -14,7 +14,9 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block user %}
|
{% block user %}
|
||||||
Username: <span class="badge bg-secondary">{{ username }}</span>
|
{% if username %}
|
||||||
|
Username: <span class="badge bg-secondary">{{ username }}</span>
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block controls %}
|
{% block controls %}
|
||||||
|
@ -1,15 +1,29 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
<div class="card text-center m-4" style="min-width: 18rem; min-height: 18rem">
|
<div class="card text-center m-4" style="min-width: 18rem; min-height: 18rem">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{% block title %}{% endblock title %}</h5>
|
<h5 class="card-title">{% block title %}{% endblock title %}</h5>
|
||||||
<p class="card-text">{% block url %}{% endblock url %}</p>
|
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
{% block active %}
|
{% block active %}
|
||||||
<span class="badge bg-success">Active</span>
|
{% include "services/service_status.html" with username=username %}
|
||||||
{% endblock active %}
|
{% endblock active %}
|
||||||
</p>
|
</p>
|
||||||
<p class="card-text">{% block user %}{% endblock user %}</p>
|
|
||||||
|
<p class="card-text">
|
||||||
|
{% block url %}{% endblock url %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="card-text">
|
||||||
|
{% block user %}
|
||||||
|
{% include "services/service_username.html" with username=username %}
|
||||||
|
{% endblock user %}
|
||||||
|
</p>
|
||||||
|
|
||||||
{% block extra %}{% endblock extra %}
|
{% block extra %}{% endblock extra %}
|
||||||
</div>
|
</div>
|
||||||
<div class="card-footer">{% block controls %}{% endblock controls %}</div>
|
|
||||||
|
<div class="card-footer">
|
||||||
|
{% block controls %}{% endblock controls %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user