mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-12 01:56:25 +01:00
Compare commits
15 Commits
b02827cb3f
...
v4.7.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a650f0730e | ||
|
|
63eb9edc9c | ||
|
|
d6e1eb9792 | ||
|
|
b459f96e6b | ||
|
|
bf32f2c1ef | ||
|
|
7ca67ebaae | ||
|
|
fa32f87a35 | ||
|
|
a630015451 | ||
|
|
bf43f59232 | ||
|
|
54910746e3 | ||
|
|
07ae68333d | ||
|
|
69e70a4c9b | ||
|
|
b55f11ee74 | ||
|
|
94ee3c0203 | ||
|
|
25cf329a50 |
32
README.md
32
README.md
@@ -1,15 +1,15 @@
|
||||
# Alliance Auth
|
||||
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://gitlab.com/allianceauth/allianceauth/commits/master)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://pypi.org/project/allianceauth/)
|
||||
[](https://gitlab.com/allianceauth/allianceauth/commits/master)
|
||||
[](https://allianceauth.readthedocs.io/?badge=latest)
|
||||
[](https://gitlab.com/allianceauth/allianceauth/commits/master)
|
||||
[](https://gitlab.com/allianceauth/allianceauth/commits/master)
|
||||
[](https://discord.gg/fjnHAmk)
|
||||
|
||||
An auth system for EVE Online to help in-game organizations manage online service access.
|
||||
A flexible authentication platform for EVE Online to help in-game organizations manage access to applications and services. AA provides both, a stable core, and a robust framework for community development and custom applications.
|
||||
|
||||
## Content
|
||||
|
||||
@@ -22,17 +22,17 @@ An auth system for EVE Online to help in-game organizations manage online servic
|
||||
|
||||
## Overview
|
||||
|
||||
Alliance Auth (AA) is a web site that helps Eve Online organizations efficiently manage access to applications and services.
|
||||
Alliance Auth (AA) is a platform that helps Eve Online organizations efficiently manage access to applications and services.
|
||||
|
||||
Main features:
|
||||
|
||||
- Automatically grants or revokes user access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](https://allianceauth.readthedocs.io/en/latest/features/core/states/) and [groups](https://allianceauth.readthedocs.io/en/latest/features/core/groups/)
|
||||
- Automatically grants or revokes user access to external services (e.g.: Discord, Mumble) based on the user's current membership to [a variety of EVE Online affiliation](https://allianceauth.readthedocs.io/en/latest/features/core/states/) and [groups](https://allianceauth.readthedocs.io/en/latest/features/core/groups/)
|
||||
|
||||
- Provides a central web site where users can directly access web apps (e.g. SRP requests, Fleet Schedule) and manage their access to external services and groups.
|
||||
|
||||
- Includes a set of connectors (called ["services"](https://allianceauth.readthedocs.io/en/latest/features/services/)) for integrating access management with many popular external applications / services like Discord, Mumble, Teamspeak 3, SMF and others
|
||||
- Includes a set of connectors (called ["Services"](https://allianceauth.readthedocs.io/en/latest/features/services/)) for integrating access management with many popular external applications / services like Discord, Mumble, Teamspeak 3, SMF and others
|
||||
|
||||
- Includes a set of web [apps](https://allianceauth.readthedocs.io/en/latest/features/apps/) which add many useful functions, e.g.: fleet schedule, timer board, SRP request management, fleet activity tracker
|
||||
- Includes a set of web [Apps](https://allianceauth.readthedocs.io/en/latest/features/apps/) which add many useful functions, e.g.: fleet schedule, timer board, SRP request management, fleet activity tracker
|
||||
|
||||
- Can be easily extended with additional services and apps. Many are provided by the community and can be found here: [Community Creations](https://gitlab.com/allianceauth/community-creations)
|
||||
|
||||
@@ -42,9 +42,15 @@ For further details about AA - including an installation guide and a full list o
|
||||
|
||||
## Screenshot
|
||||
|
||||
Here is an example of the Alliance Auth web site with some plug-ins apps and services enabled:
|
||||
Here is an example of the Alliance Auth web site with a mixture of Services, Apps and Community Creations enabled:
|
||||
|
||||

|
||||
### Flatly Theme
|
||||
|
||||

|
||||
|
||||
### Darkly Theme
|
||||
|
||||

|
||||
|
||||
## Support
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ manage online service access.
|
||||
# This will make sure the app is always imported when
|
||||
# Django starts so that shared_task will use this app.
|
||||
|
||||
__version__ = '4.6.4'
|
||||
__version__ = '4.7.0'
|
||||
__title__ = 'Alliance Auth'
|
||||
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
||||
NAME = f'{__title__} v{__version__}'
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<tr>
|
||||
<td style="white-space:initial;">
|
||||
{% for s in t.scopes.all %}
|
||||
<span class="badge bg-secondary">{{ s.name }}</span>
|
||||
<span class="badge text-bg-secondary">{{ s.name }}</span>
|
||||
{% endfor %}
|
||||
</td>
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
<td style="width: 30%;">{{ alt.corporation_name }}</td>
|
||||
<td style="width: 30%;">{{ alt.alliance_name|default_if_none:"" }}</td>
|
||||
<td style="width: 5%;">
|
||||
<a href="https://zkillboard.com/character/{{ alt.character_id }}/" class="badge bg-danger" target="_blank">
|
||||
<a href="https://zkillboard.com/character/{{ alt.character_id }}/" class="badge text-bg-danger" target="_blank">
|
||||
{% translate "Killboard" %}
|
||||
</a>
|
||||
</td>
|
||||
@@ -175,7 +175,7 @@
|
||||
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member }}"></td>
|
||||
<td>{{ member }}</td>
|
||||
<td>
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a>
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a>
|
||||
</td>
|
||||
<td>{{ member.character_ownership.user.profile.main_character.character_name }}</td>
|
||||
<td>{{ member.character_ownership.user.profile.main_character.corporation_name }}</td>
|
||||
@@ -188,7 +188,7 @@
|
||||
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td>
|
||||
<td>{{ member.character_name }}</td>
|
||||
<td>
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a>
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@@ -219,7 +219,7 @@
|
||||
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td>
|
||||
<td>{{ member.character_name }}</td>
|
||||
<td>
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank">
|
||||
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">
|
||||
{% translate "Killboard" %}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<td><img src="{{ result.1.portrait_url }}" class="img-circle" alt="{{ result.1.character_name }}"></td>
|
||||
<td>{{ result.1.character_name }}</td>
|
||||
<td >{{ result.0.corp.corporation_name }}</td>
|
||||
<td><a href="https://zkillboard.com/character/{{ result.1.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a></td>
|
||||
<td><a href="https://zkillboard.com/character/{{ result.1.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a></td>
|
||||
<td>{{ result.1.main_character.character_name }}</td>
|
||||
<td>{{ result.1.main_character.corporation_name }}</td>
|
||||
<td>{{ result.1.main_character.alliance_name }}</td>
|
||||
|
||||
@@ -39,13 +39,13 @@ class AutogroupsConfigManager(models.Manager):
|
||||
"""
|
||||
if state is None:
|
||||
state = user.profile.state
|
||||
for config in self.filter(states=state):
|
||||
# grant user new groups for their state
|
||||
config.update_group_membership_for_user(user)
|
||||
for config in self.exclude(states=state):
|
||||
# ensure user does not have groups from previous state
|
||||
config.remove_user_from_alliance_groups(user)
|
||||
config.remove_user_from_corp_groups(user)
|
||||
for config in self.filter(states=state):
|
||||
# grant user new groups for their state
|
||||
config.update_group_membership_for_user(user)
|
||||
|
||||
|
||||
class AutogroupsConfig(models.Model):
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from allianceauth.eveonline.models import EveCorporationInfo
|
||||
from django.test import TestCase
|
||||
from allianceauth.tests.auth_utils import AuthUtils
|
||||
|
||||
@@ -73,3 +74,51 @@ class AutogroupsConfigManagerTestCase(TestCase):
|
||||
AutogroupsConfig.objects.update_groups_for_user(member)
|
||||
|
||||
self.assertTrue(update_groups.called)
|
||||
|
||||
def test_update_group_membership_corp_in_two_configs(self):
|
||||
# given
|
||||
member = AuthUtils.create_member('test member')
|
||||
AuthUtils.add_main_character_2(
|
||||
member,
|
||||
character_id='1234',
|
||||
name='test character',
|
||||
corp_id='2345',
|
||||
corp_name='corp name',
|
||||
corp_ticker='TIKK',
|
||||
|
||||
)
|
||||
|
||||
corp = EveCorporationInfo.objects.create(
|
||||
corporation_id='2345',
|
||||
corporation_name='corp name',
|
||||
corporation_ticker='TIKK',
|
||||
member_count=10,
|
||||
)
|
||||
|
||||
member_state = AuthUtils.get_member_state()
|
||||
member_config = AutogroupsConfig.objects.create(corp_groups=True)
|
||||
member_config.states.add(member_state)
|
||||
blue_state = AuthUtils.get_blue_state()
|
||||
blue_state.member_corporations.add(corp)
|
||||
blue_config = AutogroupsConfig.objects.create(corp_groups=True)
|
||||
blue_config.states.add(blue_state)
|
||||
|
||||
member.profile.state = blue_state
|
||||
member.profile.save()
|
||||
|
||||
AutogroupsConfig.objects.update_groups_for_user(member)
|
||||
|
||||
# Checks before test that the role is correctly applied
|
||||
group = blue_config.get_corp_group(corp)
|
||||
self.assertIn(group, member.groups.all())
|
||||
|
||||
# when
|
||||
blue_state.member_corporations.remove(corp)
|
||||
member_state.member_corporations.add(corp)
|
||||
member.profile.state = member_state
|
||||
member.profile.save()
|
||||
|
||||
# then
|
||||
AutogroupsConfig.objects.update_groups_for_user(member)
|
||||
group = member_config.get_corp_group(corp)
|
||||
self.assertIn(group, member.groups.all())
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
{% for link in created_fats %}
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'fatlink:click' link.hash %}" class="badge bg-primary">
|
||||
<a href="{% url 'fatlink:click' link.hash %}" class="badge text-bg-primary">
|
||||
{{ link.fleet }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
{% for link in fatlinks %}
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'fatlink:click' link.hash %}" class="badge bg-primary">{{ link.fleet }}</a>
|
||||
<a href="{% url 'fatlink:click' link.hash %}" class="badge text-bg-primary">{{ link.fleet }}</a>
|
||||
</td>
|
||||
<td class="text-center">{{ link.creator.username }}</td>
|
||||
<td class="text-center">{{ link.fleet }}</td>
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
|
||||
<td>
|
||||
{% if group.authgroup.hidden %}
|
||||
<span class="badge bg-info">{% translate "Hidden" %}</span>
|
||||
<span class="badge text-bg-info">{% translate "Hidden" %}</span>
|
||||
{% endif %}
|
||||
{% if group.authgroup.open %}
|
||||
<span class="badge bg-success">{% translate "Open" %}</span>
|
||||
<span class="badge text-bg-success">{% translate "Open" %}</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">{% translate "Requestable" %}</span>
|
||||
<span class="badge text-bg-secondary">{% translate "Requestable" %}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'groupmanagement:management' %}">{% translate "Group Management" %}
|
||||
{% if req_count %}
|
||||
<span class="badge bg-secondary">{{ req_count }}</span>
|
||||
<span class="badge text-bg-secondary">{{ req_count }}</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
@@ -33,8 +33,8 @@
|
||||
<th>{% translate "Description" %}</th>
|
||||
<th>
|
||||
{% translate "Leaders" %}<br>
|
||||
<span class="my-1 me-1 fw-lighter badge bg-primary">{% translate "User" %}</span>
|
||||
<span class="my-1 me-1 fw-lighter badge bg-secondary">{% translate "Group" %}</span>
|
||||
<span class="my-1 me-1 fw-lighter badge text-bg-primary">{% translate "User" %}</span>
|
||||
<span class="my-1 me-1 fw-lighter badge text-bg-secondary">{% translate "Group" %}</span>
|
||||
</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@@ -53,13 +53,13 @@
|
||||
{% if g.group.authgroup.group_leaders.all.count %}
|
||||
{% for leader in g.group.authgroup.group_leaders.all %}
|
||||
{% if leader.profile.main_character %}
|
||||
<span class="my-1 me-1 badge bg-primary">{{leader.profile.main_character}}</span>
|
||||
<span class="my-1 me-1 badge text-bg-primary">{{leader.profile.main_character}}</span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if g.group.authgroup.group_leader_groups.all.count %}
|
||||
{% for group in g.group.authgroup.group_leader_groups.all %}
|
||||
<span class="my-1 me-1 badge bg-secondary">{{group.name}}</span>
|
||||
<span class="my-1 me-1 badge text-bg-secondary">{{group.name}}</span>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
{% translate "Join Requests" %}
|
||||
|
||||
{% if acceptrequests %}
|
||||
<span class="badge bg-secondary">{{ acceptrequests|length }}</span>
|
||||
<span class="badge text-bg-secondary">{{ acceptrequests|length }}</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
@@ -30,7 +30,7 @@
|
||||
{% translate "Leave Requests" %}
|
||||
|
||||
{% if leaverequests %}
|
||||
<span class="badge bg-secondary">{{ leaverequests|length }}</span>
|
||||
<span class="badge text-bg-secondary">{{ leaverequests|length }}</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
<td class="text-center">{{ personal_app.form.corp.corporation_name }}</td>
|
||||
<td class="text-center">
|
||||
{% if personal_app.approved == None %}
|
||||
<div class="badge bg-warning">{% translate "Pending" %}</div>
|
||||
<div class="badge text-bg-warning">{% translate "Pending" %}</div>
|
||||
{% elif personal_app.approved == True %}
|
||||
<div class="badge bg-success">{% translate "Approved" %}</div>
|
||||
<div class="badge text-bg-success">{% translate "Approved" %}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-danger">{% translate "Rejected" %}</div>
|
||||
<div class="badge text-bg-danger">{% translate "Rejected" %}</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
@@ -133,14 +133,14 @@
|
||||
<td class="text-center">
|
||||
{% if app.approved == None %}
|
||||
{% if app.reviewer_str %}
|
||||
<div class="badge bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
|
||||
<div class="badge text-bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-warning">{% translate "Pending" %}</div>
|
||||
<div class="badge text-bg-warning">{% translate "Pending" %}</div>
|
||||
{% endif %}
|
||||
{% elif app.approved == True %}
|
||||
<div class="badge bg-success">{% translate "Approved" %}</div>
|
||||
<div class="badge text-bg-success">{% translate "Approved" %}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-danger">{% translate "Rejected" %}</div>
|
||||
<div class="badge text-bg-danger">{% translate "Rejected" %}</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
@@ -177,14 +177,14 @@
|
||||
<td class="text-center">
|
||||
{% if app.approved == None %}
|
||||
{% if app.reviewer_str %}
|
||||
<div class="badge bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
|
||||
<div class="badge text-bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-warning">{% translate "Pending" %}</div>
|
||||
<div class="badge text-bg-warning">{% translate "Pending" %}</div>
|
||||
{% endif %}
|
||||
{% elif app.approved == True %}
|
||||
<div class="badge bg-success">{% translate "Approved" %}</div>
|
||||
<div class="badge text-bg-success">{% translate "Approved" %}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-danger">{% translate "Rejected" %}</div>
|
||||
<div class="badge text-bg-danger">{% translate "Rejected" %}</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
<td>{{ app.form.corp }}</td>
|
||||
<td class="text-center">
|
||||
{% if app.approved == None %}
|
||||
<div class="badge bg-warning">{% translate "Pending" %}</div>
|
||||
<div class="badge text-bg-warning">{% translate "Pending" %}</div>
|
||||
{% elif app.approved == True %}
|
||||
<div class="badge bg-success">{% translate "Approved" %}</div>
|
||||
<div class="badge text-bg-success">{% translate "Approved" %}</div>
|
||||
{% else %}
|
||||
<div class="badge bg-danger">{% translate "Rejected" %}</div>
|
||||
<div class="badge text-bg-danger">{% translate "Rejected" %}</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="text-end">
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header bg-info">
|
||||
<div class="card-header text-bg-info">
|
||||
<div class="card-title mb-0">{% translate "Applicant" %}</div>
|
||||
</div>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
</div>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header bg-info">
|
||||
<div class="card-header text-bg-info">
|
||||
<div class="card-title mb-0">{% translate "Characters" %}</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
|
||||
"POT-Creation-Date: 2025-05-24 16:55+1000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,6 +18,10 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: allianceauth/analytics/apps.py:8
|
||||
msgid "Analytics"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/analytics/models.py:22
|
||||
msgid "Google Analytics Universal"
|
||||
msgstr ""
|
||||
@@ -26,6 +30,10 @@ msgstr ""
|
||||
msgid "Google Analytics V4"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/apps.py:9
|
||||
msgid "Authentication"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/constants.py:6
|
||||
msgid ""
|
||||
"This software has exceeded the error limit for ESI. If you are a user, "
|
||||
@@ -35,7 +43,7 @@ msgid ""
|
||||
"esi on the EVE Online Discord. https://www.eveonline.com/discord"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/decorators.py:49
|
||||
#: allianceauth/authentication/decorators.py:52
|
||||
msgid "A main character is required to perform that action. Add one below."
|
||||
msgstr ""
|
||||
|
||||
@@ -48,91 +56,91 @@ msgstr ""
|
||||
msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:70
|
||||
#: allianceauth/project_template/project_name/settings/base.py:105
|
||||
#: allianceauth/authentication/models.py:72
|
||||
#: allianceauth/project_template/project_name/settings/base.py:106
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:71
|
||||
#: allianceauth/authentication/models.py:73
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:72
|
||||
#: allianceauth/project_template/project_name/settings/base.py:107
|
||||
#: allianceauth/authentication/models.py:74
|
||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:73
|
||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||
#: allianceauth/authentication/models.py:75
|
||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:74
|
||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||
#: allianceauth/authentication/models.py:76
|
||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:75
|
||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||
#: allianceauth/authentication/models.py:77
|
||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:76
|
||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:77
|
||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:78
|
||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
||||
msgid "Russian"
|
||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:79
|
||||
#: allianceauth/project_template/project_name/settings/base.py:113
|
||||
msgid "Dutch"
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||
msgid "Polish"
|
||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||
msgid "Ukrainian"
|
||||
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:117
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:118
|
||||
msgid "Simplified Chinese"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:98
|
||||
#: allianceauth/authentication/models.py:100
|
||||
#: allianceauth/menu/templates/menu/menu-user.html:42
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:103
|
||||
#: allianceauth/authentication/models.py:105
|
||||
#: allianceauth/templates/allianceauth/night-toggle.html:6
|
||||
msgid "Night Mode"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:107
|
||||
#: allianceauth/authentication/models.py:109
|
||||
#: allianceauth/menu/templates/menu/menu-user.html:46
|
||||
msgid "Theme"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:124
|
||||
#: allianceauth/authentication/models.py:126
|
||||
#, python-format
|
||||
msgid "State changed to: %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:125
|
||||
#: allianceauth/authentication/models.py:127
|
||||
#, python-format
|
||||
msgid "Your user's state is now: %(state)s"
|
||||
msgstr ""
|
||||
@@ -267,53 +275,53 @@ msgstr ""
|
||||
msgid "Invalid or expired activation link."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:157
|
||||
#: allianceauth/authentication/views.py:158
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot change main character to %(char)s: character owned by a different "
|
||||
"account."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:164
|
||||
#: allianceauth/authentication/views.py:165
|
||||
#, python-format
|
||||
msgid "Changed main character to %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:178
|
||||
#: allianceauth/authentication/views.py:179
|
||||
#, python-format
|
||||
msgid "Added %(name)s to your account."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:180
|
||||
#: allianceauth/authentication/views.py:181
|
||||
#, python-format
|
||||
msgid "Failed to add %(name)s to your account: they already have an account."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:225
|
||||
#: allianceauth/authentication/views.py:226
|
||||
msgid ""
|
||||
"Unable to authenticate as the selected character. Please log in with the "
|
||||
"main character associated with this account."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:292
|
||||
#: allianceauth/authentication/views.py:293
|
||||
msgid "Registration token has expired."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:353
|
||||
#: allianceauth/authentication/views.py:354
|
||||
msgid ""
|
||||
"Sent confirmation email. Please follow the link to confirm your email "
|
||||
"address."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:359
|
||||
#: allianceauth/authentication/views.py:360
|
||||
msgid "Confirmed your email address. Please login to continue."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:365
|
||||
#: allianceauth/authentication/views.py:366
|
||||
msgid "Registration of new accounts is not allowed at this time."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/corputils/auth_hooks.py:12
|
||||
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
|
||||
msgid "Corporation Stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -419,6 +427,10 @@ msgstr ""
|
||||
msgid "Failed to gather corporation statistics with selected token."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/crontab/apps.py:16
|
||||
msgid "Crontab"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/crontab/models.py:13
|
||||
msgid "Minute Offset"
|
||||
msgstr ""
|
||||
@@ -452,6 +464,15 @@ msgstr ""
|
||||
msgid "This CSS will be added to the site after the default CSS."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/eveonline/apps.py:8
|
||||
msgid "EVE Online"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/eveonline/autogroups/apps.py:8
|
||||
msgid "EVE Online Autogroups"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/fleetactivitytracking/apps.py:8
|
||||
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
|
||||
@@ -561,9 +582,11 @@ msgstr ""
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
|
||||
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
|
||||
#: allianceauth/templates/allianceauth/top-menu.html:23
|
||||
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
|
||||
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
|
||||
msgid "Eve Time"
|
||||
msgid "EVE time"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
|
||||
@@ -728,6 +751,11 @@ msgid ""
|
||||
"character needs to be online."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/framework/apps.py:16
|
||||
msgid "Framework"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/groupmanagement/apps.py:8
|
||||
#: allianceauth/groupmanagement/auth_hooks.py:18
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
|
||||
msgid "Group Management"
|
||||
@@ -956,7 +984,7 @@ msgid "Hidden"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
@@ -1009,7 +1037,7 @@ msgstr ""
|
||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
||||
#: allianceauth/srp/templates/srp/data.html:117
|
||||
#: allianceauth/srp/templates/srp/data.html:120
|
||||
#: allianceauth/srp/templates/srp/management.html:87
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
@@ -1151,6 +1179,10 @@ msgstr ""
|
||||
msgid "Applied to leave group %(group)s."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/hrapplications/apps.py:8
|
||||
msgid "HR Applications"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/hrapplications/auth_hooks.py:15
|
||||
msgid "Applications"
|
||||
msgstr ""
|
||||
@@ -1222,7 +1254,7 @@ msgstr ""
|
||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
|
||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
|
||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
|
||||
#: allianceauth/srp/templates/srp/data.html:109
|
||||
#: allianceauth/srp/templates/srp/data.html:112
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
|
||||
@@ -1230,7 +1262,7 @@ msgstr ""
|
||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
|
||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
|
||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
|
||||
#: allianceauth/srp/templates/srp/data.html:113
|
||||
#: allianceauth/srp/templates/srp/data.html:116
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
|
||||
@@ -1345,7 +1377,7 @@ msgstr ""
|
||||
msgid "children"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
|
||||
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
|
||||
msgid "text"
|
||||
msgstr ""
|
||||
|
||||
@@ -1357,11 +1389,15 @@ msgstr ""
|
||||
msgid "visible"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/apps.py:16
|
||||
msgid "Menu"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/constants.py:16
|
||||
msgid "app"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
|
||||
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
|
||||
msgid "folder"
|
||||
msgstr ""
|
||||
|
||||
@@ -1373,47 +1409,47 @@ msgstr ""
|
||||
msgid "type"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:22
|
||||
#: allianceauth/menu/models.py:23
|
||||
msgid "Text to show on menu"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:27
|
||||
#: allianceauth/menu/models.py:28
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:28
|
||||
#: allianceauth/menu/models.py:29
|
||||
msgid "Order of the menu. Lowest First"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:38
|
||||
#: allianceauth/menu/models.py:39
|
||||
msgid "Folder this item is in (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:42
|
||||
#: allianceauth/menu/models.py:43
|
||||
msgid "is hidden"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:44
|
||||
#: allianceauth/menu/models.py:45
|
||||
msgid ""
|
||||
"Hide this menu item.If this item is a folder all items under it will be "
|
||||
"hidden too"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:59
|
||||
#: allianceauth/menu/models.py:60
|
||||
msgid "icon classes"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:61
|
||||
#: allianceauth/menu/models.py:62
|
||||
msgid ""
|
||||
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-house</"
|
||||
"code>"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:67
|
||||
#: allianceauth/menu/models.py:68
|
||||
msgid "url"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/models.py:68
|
||||
#: allianceauth/menu/models.py:69
|
||||
msgid "External URL this menu items will link to"
|
||||
msgstr ""
|
||||
|
||||
@@ -1422,6 +1458,7 @@ msgid "Add folder"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
|
||||
#: allianceauth/notifications/apps.py:8
|
||||
#: allianceauth/notifications/templates/notifications/list.html:7
|
||||
#: allianceauth/notifications/templates/notifications/list.html:11
|
||||
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
|
||||
@@ -1447,19 +1484,19 @@ msgstr ""
|
||||
msgid "Sign In"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/notifications/models.py:21
|
||||
#: allianceauth/notifications/models.py:22
|
||||
msgid "danger"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/notifications/models.py:22
|
||||
#: allianceauth/notifications/models.py:23
|
||||
msgid "warning"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/notifications/models.py:23
|
||||
#: allianceauth/notifications/models.py:24
|
||||
msgid "info"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/notifications/models.py:24
|
||||
#: allianceauth/notifications/models.py:25
|
||||
msgid "success"
|
||||
msgstr ""
|
||||
|
||||
@@ -1516,7 +1553,7 @@ msgstr ""
|
||||
msgid "Deleted all read notifications."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/optimer/auth_hooks.py:12
|
||||
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
|
||||
msgid "Fleet Operations"
|
||||
msgstr ""
|
||||
|
||||
@@ -1590,11 +1627,6 @@ msgstr ""
|
||||
msgid "Form Up System"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
|
||||
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
|
||||
msgid "EVE Time"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
|
||||
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
|
||||
msgid "Local Time"
|
||||
@@ -1610,7 +1642,7 @@ msgstr ""
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:28
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
||||
msgid "Current Eve Time:"
|
||||
msgid "Current EVE time:"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:36
|
||||
@@ -1655,6 +1687,7 @@ msgstr ""
|
||||
msgid "Saved changes to operation timer for %(opname)s."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/permissions_tool/apps.py:8
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
|
||||
@@ -1711,7 +1744,7 @@ msgstr ""
|
||||
msgid "Successfully set your {self.service_name} password"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/auth_hooks.py:12
|
||||
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
|
||||
@@ -1775,6 +1808,10 @@ msgstr ""
|
||||
msgid "Password must be at least 8 characters long."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/discord/apps.py:8
|
||||
msgid "Discord Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/discord/models.py:187
|
||||
msgid "Discord Account Disabled"
|
||||
msgstr ""
|
||||
@@ -1823,6 +1860,10 @@ msgid ""
|
||||
"again."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/discourse/apps.py:8
|
||||
msgid "Discourse Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
|
||||
msgid "Discourse"
|
||||
msgstr ""
|
||||
@@ -1853,6 +1894,14 @@ msgstr ""
|
||||
msgid "Invalid payload. Please contact support if this problem persists."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/example/apps.py:8
|
||||
msgid "Example Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/ips4/apps.py:8
|
||||
msgid "IPS4 Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:31
|
||||
msgid "Activated IPSuite4 account."
|
||||
msgstr ""
|
||||
@@ -1876,6 +1925,10 @@ msgstr ""
|
||||
msgid "Deactivated IPSuite4 account."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/mumble/apps.py:8
|
||||
msgid "Mumble Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
|
||||
msgid "Mumble"
|
||||
msgstr ""
|
||||
@@ -1931,6 +1984,10 @@ msgstr ""
|
||||
msgid "Mumble Connection History"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/openfire/apps.py:8
|
||||
msgid "Openfire Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:27
|
||||
msgid "Jabber"
|
||||
msgstr ""
|
||||
@@ -1982,6 +2039,10 @@ msgstr ""
|
||||
msgid "Set jabber password."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/apps.py:8
|
||||
msgid "phpBB3 Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:34
|
||||
msgid "Activated forum account."
|
||||
msgstr ""
|
||||
@@ -2005,6 +2066,10 @@ msgstr ""
|
||||
msgid "Set forum password."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/smf/apps.py:8
|
||||
msgid "SMF Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:52
|
||||
msgid "Activated SMF account."
|
||||
msgstr ""
|
||||
@@ -2028,6 +2093,10 @@ msgstr ""
|
||||
msgid "Set SMF password."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/apps.py:8
|
||||
msgid "TeamSpeak 3 Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/forms.py:14
|
||||
#, python-format
|
||||
msgid "Unable to locate user %s on server"
|
||||
@@ -2077,6 +2146,10 @@ msgstr ""
|
||||
msgid "Reset TeamSpeak3 permission key."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/xenforo/apps.py:8
|
||||
msgid "Xenforo Service"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:30
|
||||
msgid "Activated XenForo account."
|
||||
msgstr ""
|
||||
@@ -2186,7 +2259,7 @@ msgid ""
|
||||
"Some services provide different options. Hover over the buttons to see more."
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/auth_hooks.py:14
|
||||
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
|
||||
msgid "Ship Replacement"
|
||||
msgstr ""
|
||||
|
||||
@@ -2261,18 +2334,18 @@ msgid "Mark Completed"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:48
|
||||
#: allianceauth/srp/templates/srp/data.html:139
|
||||
#: allianceauth/srp/templates/srp/data.html:142
|
||||
msgid "Total Losses:"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:49
|
||||
#: allianceauth/srp/templates/srp/data.html:140
|
||||
#: allianceauth/srp/templates/srp/data.html:143
|
||||
#: allianceauth/srp/templates/srp/management.html:36
|
||||
msgid "Total ISK Cost:"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:60
|
||||
#: allianceauth/srp/templates/srp/data.html:151
|
||||
#: allianceauth/srp/templates/srp/data.html:154
|
||||
msgid "Are you sure you want to delete SRP requests?"
|
||||
msgstr ""
|
||||
|
||||
@@ -2304,12 +2377,12 @@ msgstr ""
|
||||
msgid "Post Time"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:99
|
||||
#: allianceauth/srp/templates/srp/data.html:102
|
||||
#: allianceauth/srp/templates/srp/management.html:70
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:160
|
||||
#: allianceauth/srp/templates/srp/data.html:163
|
||||
msgid "No SRP requests for this fleet."
|
||||
msgstr ""
|
||||
|
||||
@@ -2493,52 +2566,48 @@ msgstr ""
|
||||
msgid "Alliance Auth Notifications"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
||||
msgid "No notifications at this time"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
||||
msgid "Powered by GitLab"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
||||
msgid "Support Discord"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
|
||||
msgid "Software Version"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
|
||||
msgid "Current"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
|
||||
msgid "Latest Stable"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
|
||||
msgid "Update available"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
|
||||
msgid "Latest Pre-Release"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
|
||||
msgid "Pre-Release available"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
||||
msgid "Task Queue"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -2547,11 +2616,11 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
|
||||
msgid "running"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
|
||||
msgid "queued"
|
||||
msgstr ""
|
||||
|
||||
@@ -2580,6 +2649,13 @@ msgstr ""
|
||||
msgid "Select Theme"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/apps.py:8
|
||||
#: allianceauth/timerboard/templates/timerboard/form.html:10
|
||||
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:14
|
||||
msgid "Structure Timers"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/form.py:36
|
||||
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
|
||||
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
|
||||
@@ -2766,6 +2842,10 @@ msgstr ""
|
||||
msgid "Abandoned"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/models.py:60
|
||||
msgid "Theft"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:54
|
||||
msgid "Upcoming Timers"
|
||||
@@ -2775,12 +2855,6 @@ msgstr ""
|
||||
msgid "Timer"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/templates/timerboard/form.html:10
|
||||
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:14
|
||||
msgid "Structure Timers"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/timerboard/templates/timerboard/form.html:25
|
||||
msgid "Structure Timer Details"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -27,7 +27,7 @@
|
||||
</a>
|
||||
|
||||
{% if item.count >= 1 %}
|
||||
<span class="badge bg-primary m-2 align-self-center{% if not item.is_folder %} me-2{% endif %}">
|
||||
<span class="badge text-bg-primary m-2 align-self-center{% if not item.is_folder %} me-2{% endif %}">
|
||||
{{ item.count }}
|
||||
</span>
|
||||
{% elif item.url %}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
{% load navactive %}
|
||||
{% load auth_notifications %}
|
||||
|
||||
<li class="nav-item {% navactive request 'notifications:' %}" id="menu_item_notifications">
|
||||
<a class="nav-link" href="{% url 'notifications:list' %}">
|
||||
<li class="nav-item" id="menu_item_notifications">
|
||||
<a class="nav-link {% navactive request 'notifications:' %}" href="{% url 'notifications:list' %}">
|
||||
{% with unread_count=request.user|user_unread_notification_count %}
|
||||
<i class="fa-solid fa-bell{% if unread_count %} text-danger{% endif %}"></i>
|
||||
{% endwith %}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="col-auto px-0">
|
||||
<div class="collapse collapse-horizontal" tabindex="-1" id="sidebar">
|
||||
<div>
|
||||
<div class="nav-padding navbar-dark bg-dark text-light px-0 d-flex flex-column overflow-hidden vh-100 {% if not user.is_authenticated %}position-relative{% endif %}">
|
||||
<div class="nav-padding navbar-dark text-bg-dark px-0 d-flex flex-column overflow-hidden vh-100 {% if not user.is_authenticated %}position-relative{% endif %}">
|
||||
{% if user.is_authenticated %}
|
||||
<ul id="sidebar-menu" class="navbar-nav flex-column mb-auto overflow-auto pt-2">
|
||||
<li class="d-flex flex-wrap m-2 p-2 pt-0 pb-0 mt-0 mb-0 me-0 pe-0">
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="unread-tab" data-bs-toggle="tab" data-bs-target="#unread" type="button" role="tab" aria-controls="unread" aria-selected="true">
|
||||
{% translate "Unread" %}
|
||||
<span class="badge bg-secondary">{{ unread|length }}</span>
|
||||
<span class="badge text-bg-secondary">{{ unread|length }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="read-tab" data-bs-toggle="tab" data-bs-target="#read" type="button" role="tab" aria-controls="read" aria-selected="false">
|
||||
{% translate "Read" %}
|
||||
<span class="badge bg-secondary">{{ read|length }}</span>
|
||||
<span class="badge text-bg-secondary">{{ read|length }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
|
||||
<div class="card border-{{ notif.level }}">
|
||||
<div class="card-header bg-{{ notif.level }}">
|
||||
<div class="card-header text-bg-{{ notif.level }}">
|
||||
{{ notif.timestamp }}
|
||||
{{ notif.title }}
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="text-center mb-3">
|
||||
<div class="badge bg-primary text-start">
|
||||
<div class="badge text-bg-primary text-start">
|
||||
<b>{% translate "Current EVE time:" %}</b>
|
||||
<span id="current-time"></span>
|
||||
</div>
|
||||
|
||||
@@ -439,6 +439,7 @@ class TestUserHasAccount(NoSocketsTestCase):
|
||||
|
||||
def test_return_false_if_user_does_not_exist(self):
|
||||
my_user = User(username='Dummy')
|
||||
my_user.save()
|
||||
self.assertFalse(DiscordUser.objects.user_has_account(my_user))
|
||||
|
||||
def test_return_false_if_not_called_with_user_object(self):
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block active %}
|
||||
<span class="badge bg-success">
|
||||
<span class="badge text-bg-success">
|
||||
{% translate "SSO login active" %}
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
@@ -92,11 +92,14 @@ ESC to cancel{% endblocktranslate %}" id="blah"></i></th>
|
||||
{{ srpfleetrequest.character.alliance.alliance_ticker }}
|
||||
{% endif %}
|
||||
[{{ srpfleetrequest.character.corporation.corporation_ticker }}]
|
||||
{{ srpfleetrequest.character.character_name }} <i class="copy-text-fa-icon far fa-copy" data-clipboard-text="{{ srpfleetrequest.character.character_name }}"></i>
|
||||
{{ srpfleetrequest.character.character_name }}
|
||||
<sup>
|
||||
<i class="copy-text-fa-icon far fa-copy" data-clipboard-text="{{ srpfleetrequest.character.character_name }}"></i>
|
||||
</sup>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ srpfleetrequest.killboard_link }}"
|
||||
target="_blank" class="badge bg-warning">{% translate "Link" %}</a>
|
||||
target="_blank" class="badge text-bg-warning">{% translate "Link" %}</a>
|
||||
</td>
|
||||
<td>{{ srpfleetrequest.additional_info }}</td>
|
||||
<td>{{ srpfleetrequest.srp_ship_name }}</td>
|
||||
@@ -105,15 +108,15 @@ ESC to cancel{% endblocktranslate %}" id="blah"></i></th>
|
||||
<td data-sort="{{ srpfleetrequest.post_time | date:"Y-m-d H:i" }}">{{ srpfleetrequest.post_time | date:"Y-M-d H:i" }}</td>
|
||||
<td>
|
||||
{% if srpfleetrequest.srp_status == "Approved" %}
|
||||
<div class="badge bg-success">
|
||||
<div class="badge text-bg-success">
|
||||
{% translate "Approved" %}
|
||||
</div>
|
||||
{% elif srpfleetrequest.srp_status == "Rejected" %}
|
||||
<div class="badge bg-danger">
|
||||
<div class="badge text-bg-danger">
|
||||
{% translate "Rejected" %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="badge bg-warning">
|
||||
<div class="badge text-bg-warning">
|
||||
{% translate "Pending" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -239,13 +242,19 @@ ESC to cancel{% endblocktranslate %}" id="blah"></i></th>
|
||||
}
|
||||
});
|
||||
|
||||
// Non-Orderable columns
|
||||
const nonOrderableTargets = [1];
|
||||
{% if perms.auth.srp_management %}
|
||||
nonOrderableTargets.push(8);
|
||||
{% endif %}
|
||||
|
||||
elementTableSrpList.DataTable({
|
||||
language: {url: '{{ DT_LANG_PATH }}'},
|
||||
"order": [[ 6, "asc" ]],
|
||||
"paging": false,
|
||||
"columnDefs": [
|
||||
{
|
||||
"targets": [1, 8],
|
||||
"targets": nonOrderableTargets,
|
||||
"orderable": false
|
||||
},
|
||||
{
|
||||
|
||||
@@ -61,20 +61,20 @@
|
||||
<td>{{ srpfleet.fleet_time | date:"Y-m-d H:i" }}</td>
|
||||
<td>{{ srpfleet.fleet_doctrine }}</td>
|
||||
<td>
|
||||
<div class="badge bg-success">
|
||||
<div class="badge text-bg-success">
|
||||
{{ srpfleet.fleet_commander.character_name }}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{% if srpfleet.fleet_srp_aar_link %}
|
||||
<a href="{{ srpfleet.fleet_srp_aar_link }}" target="_blank" class="badge bg-primary">{% translate "Link" %}</a>
|
||||
<a href="{{ srpfleet.fleet_srp_aar_link }}" target="_blank" class="badge text-bg-primary">{% translate "Link" %}</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if srpfleet.fleet_srp_code %}
|
||||
<a class="badge bg-warning" href="{% url 'srp:request' srpfleet.fleet_srp_code %}">{{ srpfleet.fleet_srp_code }}</a>
|
||||
<a class="badge text-bg-warning" href="{% url 'srp:request' srpfleet.fleet_srp_code %}">{{ srpfleet.fleet_srp_code }}</a>
|
||||
{% else %}
|
||||
<div class="badge bg-danger">
|
||||
<div class="badge text-bg-danger">
|
||||
{% translate "Disabled" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -83,17 +83,17 @@
|
||||
|
||||
<td>
|
||||
{% if srpfleet.fleet_srp_status == "" %}
|
||||
<div class="badge bg-warning">
|
||||
<div class="badge text-bg-warning">
|
||||
{% translate "Pending" %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="badge bg-success">
|
||||
<div class="badge text-bg-success">
|
||||
{% translate "Completed" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<div class="badge bg-warning">{{ srpfleet.pending_requests }}</div>
|
||||
<div class="badge text-bg-warning">{{ srpfleet.pending_requests }}</div>
|
||||
</td>
|
||||
<td class="text-end text-nowrap">
|
||||
<a href="{% url 'srp:fleet' srpfleet.id %}" class="btn btn-primary btn-sm m-1" title="View">
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{% load admin_status %}
|
||||
|
||||
<div
|
||||
class="progress-bar bg-{{ level }} task-status-progress-bar"
|
||||
class="progress-bar text-bg-{{ level }} task-status-progress-bar"
|
||||
role="progressbar"
|
||||
aria-valuenow="{% decimal_widthratio tasks_count tasks_total 100 %}"
|
||||
aria-valuemin="0"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<ul class="list-group">
|
||||
{% for notif in notifications %}
|
||||
<li class="list-group-item">
|
||||
<span class="badge bg-success me-2">{% translate "Open" %}</span>
|
||||
<span class="badge text-bg-success me-2">{% translate "Open" %}</span>
|
||||
<a href="{{ notif.web_url }}" target="_blank">#{{ notif.iid }} {{ notif.title }}</a>
|
||||
</li>
|
||||
{% empty %}
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
<div class="text-end pt-3">
|
||||
<a href="https://gitlab.com/allianceauth/allianceauth/issues" target="_blank" class="me-1 text-decoration-none">
|
||||
<span class="badge" style="background-color: rgb(230 83 40);">
|
||||
<span class="badge text-bg-danger">
|
||||
<i class="fab fa-gitlab" aria-hidden="true"></i>
|
||||
{% translate 'Powered by GitLab' %}
|
||||
</span>
|
||||
</a>
|
||||
<a href="https://discord.com/invite/fjnHAmk" target="_blank" class="text-decoration-none">
|
||||
<span class="badge" style="background-color: rgb(110 133 211);">
|
||||
<span class="badge text-bg-info">
|
||||
<i class="fab fa-discord" aria-hidden="true"></i>
|
||||
{% translate 'Support Discord' %}
|
||||
</span>
|
||||
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item bg-{% if latest_patch %}success{% elif latest_minor %}warning{% else %}danger{% endif %} w-100">
|
||||
<li class="list-group-item text-bg-{% if latest_patch %}success{% elif latest_minor %}warning{% else %}danger{% endif %} w-100">
|
||||
<a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_patch_version }}">
|
||||
<h5 class="list-group-item-heading">{% translate "Latest Stable" %}</h5>
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
</li>
|
||||
|
||||
{% if latest_beta %}
|
||||
<li class="list-group-item bg-info w-100">
|
||||
<li class="list-group-item text-bg-info w-100">
|
||||
<a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_beta_version }}">
|
||||
<h5 class="list-group-item-heading">{% translate "Latest Pre-Release" %}</h5>
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<body>
|
||||
<!-- Top Menu, Blocks don't work in "include" tagged views -->
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fixed-top bg-primary">
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fixed-top text-bg-primary">
|
||||
<div class="container-fluid justify-content-start">
|
||||
<a class="navbar-brand" data-bs-toggle="collapse" data-bs-target="#sidebar" role="button">
|
||||
<i class="fa-solid fa-bars ms-2 me-2"></i>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{% if user.is_authenticated %}
|
||||
<li class="nav-item">
|
||||
<a href="{% url 'authentication:add_character' %}" class="nav-link" title="{% translate 'Add Character' %}">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<i class="fa-solid fa-user-plus"></i>
|
||||
<span class="d-lg-none d-md-inline m-2">{% translate "Add Character" %}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -78,6 +78,13 @@ class AuthUtils:
|
||||
except State.DoesNotExist:
|
||||
return cls.create_state('Member', 100, disconnect_signals=True)
|
||||
|
||||
@classmethod
|
||||
def get_blue_state(cls):
|
||||
try:
|
||||
return State.objects.get(name='Blue')
|
||||
except State.DoesNotExist:
|
||||
return cls.create_state('Blue', 50, disconnect_signals=True)
|
||||
|
||||
@classmethod
|
||||
def get_guest_state(cls):
|
||||
cls.disconnect_signals()
|
||||
|
||||
@@ -30,17 +30,17 @@
|
||||
</td>
|
||||
<td class="text-center" nowrap>
|
||||
{% if timer.objective == "Hostile" %}
|
||||
<div class="badge bg-danger">
|
||||
<div class="badge text-bg-danger">
|
||||
{% translate "Hostile" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if timer.objective == "Friendly" %}
|
||||
<div class="badge bg-primary">
|
||||
<div class="badge text-bg-primary">
|
||||
{% translate "Friendly" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if timer.objective == "Neutral" %}
|
||||
<div class="badge bg-secondary">
|
||||
<div class="badge text-bg-secondary">
|
||||
{% translate "Neutral" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<tbody>
|
||||
{% for timer in timers %}
|
||||
<tr class="{% if timer.important == True %}bg-danger bg-opacity-25{% else %}bg-info bg-opacity-25{% endif %}">
|
||||
<tr class="{% if timer.important == True %}text-bg-danger bg-opacity-50{% else %}text-bg-info bg-opacity-50{% endif %}">
|
||||
<td style="width: 150px;" class="text-center">
|
||||
{{ timer.details }}
|
||||
|
||||
@@ -34,15 +34,15 @@
|
||||
<td class="text-center">
|
||||
{% comment %} Objective: Hostile (BG: Danger) {% endcomment %}
|
||||
{% if timer.objective == "Hostile" %}
|
||||
<div class="badge bg-danger">
|
||||
<div class="badge text-bg-danger">
|
||||
|
||||
{% comment %} Objective: Friendly (BG: Primare) {% endcomment %}
|
||||
{% elif timer.objective == "Friendly" %}
|
||||
<div class="badge bg-primary">
|
||||
<div class="badge text-bg-primary">
|
||||
|
||||
{% comment %} Objective: Neutral (BG: Secondary) {% endcomment %}
|
||||
{% elif timer.objective == "Neutral" %}
|
||||
<div class="badge bg-secondary">
|
||||
<div class="badge text-bg-secondary">
|
||||
{% endif %}
|
||||
|
||||
{{ timer.get_objective_display }}
|
||||
@@ -54,7 +54,7 @@
|
||||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<div class="badge bg-{{ timer.bg_modifier }}">
|
||||
<div class="badge text-bg-{{ timer.bg_modifier }}">
|
||||
{{ timer.get_structure_display }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
{% block content %}
|
||||
<div class="allianceauth-timerboard">
|
||||
<div class="col-lg-12 text-center mb-3">
|
||||
<div class="badge bg-primary text-start">
|
||||
<div class="badge text-bg-primary text-start">
|
||||
<span>{% translate "Current EVE time:" %}</span>
|
||||
<span id="current-time"></span>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
PROTOCOL=https://
|
||||
AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN%
|
||||
DOMAIN=%DOMAIN%
|
||||
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.6.4
|
||||
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.7.0
|
||||
|
||||
# Nginx Proxy Manager
|
||||
PROXY_HTTP_PORT=80
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FROM python:3.11-slim
|
||||
ARG AUTH_VERSION=v4.6.4
|
||||
ARG AUTH_VERSION=v4.7.0
|
||||
ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION}
|
||||
ENV AUTH_USER=allianceauth
|
||||
ENV AUTH_GROUP=allianceauth
|
||||
|
||||
BIN
docs/_static/images/promotion/SampleInstallation-Darkly.png
vendored
Normal file
BIN
docs/_static/images/promotion/SampleInstallation-Darkly.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
BIN
docs/_static/images/promotion/SampleInstallation-Flatly.png
vendored
Normal file
BIN
docs/_static/images/promotion/SampleInstallation-Flatly.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
Reference in New Issue
Block a user