mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-11 09:36:24 +01:00
Compare commits
7 Commits
v4.11.1
...
10c7fa6fdb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10c7fa6fdb | ||
|
|
0c0f2fd5ba | ||
|
|
b32f4ab243 | ||
|
|
70f314e578 | ||
|
|
bc1b1c3a8f | ||
|
|
f5ddbb8004 | ||
|
|
c45d5d7325 |
@@ -63,7 +63,6 @@ Here is an example of the Alliance Auth web site with a mixture of Services, App
|
|||||||
- [Aaron Kable](https://gitlab.com/aaronkable/)
|
- [Aaron Kable](https://gitlab.com/aaronkable/)
|
||||||
- [Ariel Rin](https://gitlab.com/soratidus999/)
|
- [Ariel Rin](https://gitlab.com/soratidus999/)
|
||||||
- [Col Crunch](https://gitlab.com/colcrunch/)
|
- [Col Crunch](https://gitlab.com/colcrunch/)
|
||||||
- [Erik Kalkoken](https://gitlab.com/ErikKalkoken/)
|
|
||||||
- [Rounon Dax](https://gitlab.com/ppfeufer)
|
- [Rounon Dax](https://gitlab.com/ppfeufer)
|
||||||
- [snipereagle1](https://gitlab.com/mckernanin)
|
- [snipereagle1](https://gitlab.com/mckernanin)
|
||||||
|
|
||||||
@@ -71,6 +70,7 @@ Here is an example of the Alliance Auth web site with a mixture of Services, App
|
|||||||
|
|
||||||
- [Adarnof](https://gitlab.com/adarnof/)
|
- [Adarnof](https://gitlab.com/adarnof/)
|
||||||
- [Basraah](https://gitlab.com/basraah/)
|
- [Basraah](https://gitlab.com/basraah/)
|
||||||
|
- [Erik Kalkoken](https://gitlab.com/ErikKalkoken/)
|
||||||
|
|
||||||
### Beta Testers / Bug Fixers
|
### Beta Testers / Bug Fixers
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ manage online service access.
|
|||||||
# This will make sure the app is always imported when
|
# This will make sure the app is always imported when
|
||||||
# Django starts so that shared_task will use this app.
|
# Django starts so that shared_task will use this app.
|
||||||
|
|
||||||
__version__ = '4.11.1'
|
__version__ = '4.11.2'
|
||||||
__title__ = 'Alliance Auth'
|
__title__ = 'Alliance Auth'
|
||||||
__title_useragent__ = 'AllianceAuth'
|
__title_useragent__ = 'AllianceAuth'
|
||||||
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
||||||
|
|||||||
@@ -727,7 +727,8 @@ class TestEveSwaggerProvider(TestCase):
|
|||||||
my_provider = EveSwaggerProvider()
|
my_provider = EveSwaggerProvider()
|
||||||
my_client = my_provider.client
|
my_client = my_provider.client
|
||||||
operation = my_client.Universe.get_universe_factions()
|
operation = my_client.Universe.get_universe_factions()
|
||||||
self.assertEqual(
|
expected_variants = {
|
||||||
operation.future.request.headers['User-Agent'],
|
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) DjangoEsi/{esi_version} (+{esi_url})', # Django-ESI 8.0.0
|
||||||
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) Django-ESI/{esi_version} (+{esi_url})'
|
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) Django-ESI/{esi_version} (+{esi_url})' # Django-ESI 7.x, Py38 Py39
|
||||||
)
|
}
|
||||||
|
self.assertIn(operation.future.request.headers['User-Agent'], expected_variants)
|
||||||
|
|||||||
@@ -43,19 +43,19 @@
|
|||||||
</li>
|
</li>
|
||||||
{% endblock header_nav_collapse_left %}
|
{% endblock header_nav_collapse_left %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div id="add" class="tab-pane active">
|
<div id="add" class="tab-pane active">
|
||||||
{% if acceptrequests %}
|
{% if acceptrequests %}
|
||||||
<div class="table-responsive">
|
<div>
|
||||||
<table class="table">
|
<table id="table-add" class="table table-responsive">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% translate "Character" %}</th>
|
<th>{% translate "Character" %}</th>
|
||||||
<th>{% translate "Organization" %}</th>
|
<th>{% translate "Organization" %}</th>
|
||||||
<th>{% translate "Group" %}</th>
|
<th>{% translate "Group" %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
<th>{% translate "Corporation" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
@@ -89,13 +89,24 @@
|
|||||||
<td>{{ acceptrequest.group.name }}</td>
|
<td>{{ acceptrequest.group.name }}</td>
|
||||||
|
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<a href="{% url 'groupmanagement:accept_request' acceptrequest.id %}" class="btn btn-success">
|
<div class="spinner-border spinner-border-sm mt-2 btns-join-{{acceptrequest.id}} d-none" role="status">
|
||||||
|
<span class="sr-only">Loading...</span>
|
||||||
|
</div>
|
||||||
|
<a id="{{acceptrequest.id}}" class="btn btn-success join-accept btns-join-{{acceptrequest.id}}">
|
||||||
{% translate "Accept" %}
|
{% translate "Accept" %}
|
||||||
</a>
|
</a>
|
||||||
<a href="{% url 'groupmanagement:reject_request' acceptrequest.id %}" class="btn btn-danger">
|
<a id="{{acceptrequest.id}}" class="btn btn-danger join-reject btns-join-{{acceptrequest.id}}">
|
||||||
{% translate "Reject" %}
|
{% translate "Reject" %}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if acceptrequest.main_char %}
|
||||||
|
{{ acceptrequest.main_char.corporation_name }}
|
||||||
|
{% else %}
|
||||||
|
{% translate "(unknown)" %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -111,14 +122,15 @@
|
|||||||
{% if not show_leave_tab %}
|
{% if not show_leave_tab %}
|
||||||
<div id="leave" class="tab-pane">
|
<div id="leave" class="tab-pane">
|
||||||
{% if leaverequests %}
|
{% if leaverequests %}
|
||||||
<div class="table-responsive">
|
<div>
|
||||||
<table class="table">
|
<table id="table-rem" class="table table-responsive">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% translate "Character" %}</th>
|
<th>{% translate "Character" %}</th>
|
||||||
<th>{% translate "Organization" %}</th>
|
<th>{% translate "Organization" %}</th>
|
||||||
<th>{% translate "Group" %}</th>
|
<th>{% translate "Group" %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
<th>{% translate "Corporation" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
@@ -152,14 +164,23 @@
|
|||||||
<td>{{ leaverequest.group.name }}</td>
|
<td>{{ leaverequest.group.name }}</td>
|
||||||
|
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<a href="{% url 'groupmanagement:leave_accept_request' leaverequest.id %}" class="btn btn-success">
|
<div class="spinner-border spinner-border-sm mt-2 btns-leave-{{leaverequest.id}} d-none" role="status">
|
||||||
|
<span class="sr-only">Loading...</span>
|
||||||
|
</div>
|
||||||
|
<a id="{{leaverequest.id}}" class="btn btn-success accept leave-accept btns-leave-{{leaverequest.id}}">
|
||||||
{% translate "Accept" %}
|
{% translate "Accept" %}
|
||||||
</a>
|
</a>
|
||||||
|
<a id="{{leaverequest.id}}" class="btn btn-danger reject leave-reject btns-leave-{{leaverequest.id}}">
|
||||||
<a href="{% url 'groupmanagement:leave_reject_request' leaverequest.id %}" class="btn btn-danger">
|
|
||||||
{% translate "Reject" %}
|
{% translate "Reject" %}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if leaverequest.main_char %}
|
||||||
|
{{ leaverequest.main_char.corporation_name }}
|
||||||
|
{% else %}
|
||||||
|
{% translate "(unknown)" %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -172,3 +193,138 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
{% block extra_javascript %}
|
||||||
|
{% include 'bundles/datatables-js-bs5.html' %}
|
||||||
|
{% include "bundles/filterdropdown-js.html" %}
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
let tableAdd = $("#table-add").DataTable({
|
||||||
|
filterDropDown: {
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
idx: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
idx: 2,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
bootstrap: true,
|
||||||
|
bootstrap_version: 5
|
||||||
|
},
|
||||||
|
columnDefs: [
|
||||||
|
{
|
||||||
|
target: 4,
|
||||||
|
visible: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
responsive: true,
|
||||||
|
pageLength: -1
|
||||||
|
});
|
||||||
|
let tableRem = $("#table-rem").DataTable({
|
||||||
|
filterDropDown: {
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
idx: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
idx: 2,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
bootstrap: true,
|
||||||
|
bootstrap_version: 5
|
||||||
|
},
|
||||||
|
columnDefs: [
|
||||||
|
{
|
||||||
|
target: 4,
|
||||||
|
visible: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
responsive: true,
|
||||||
|
pageLength: -1
|
||||||
|
});
|
||||||
|
|
||||||
|
// URL's for fetch requests
|
||||||
|
let acceptJoinURL = "{% url 'groupmanagement:accept_request' 0 %}";
|
||||||
|
acceptJoinURL = acceptJoinURL.substring(0, acceptJoinURL.length-2);
|
||||||
|
let rejectJoinURL = "{% url 'groupmanagement:reject_request' 0 %}";
|
||||||
|
rejectJoinURL = rejectJoinURL.substring(0, rejectJoinURL.length-2);
|
||||||
|
let acceptLeaveURL = "{% url 'groupmanagement:leave_accept_request' 0 %}";
|
||||||
|
acceptLeaveURL = acceptLeaveURL.substring(0, acceptLeaveURL.length-2);
|
||||||
|
let rejectLeaveURL = "{% url 'groupmanagement:leave_reject_request' 0 %}";
|
||||||
|
rejectLeaveURL = rejectLeaveURL.substring(0, rejectLeaveURL.length-2);
|
||||||
|
|
||||||
|
function removeRow(table, classLookup){
|
||||||
|
let btn = $(classLookup);
|
||||||
|
table.row($(btn[0]).parents('tr')).remove().draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleButtons(classLookup){
|
||||||
|
let elems = document.querySelectorAll(classLookup);
|
||||||
|
elems.forEach(
|
||||||
|
function(e) {
|
||||||
|
e.classList.toggle('d-none');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hitAuth(classLookup, table, URL){
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
fetch(URL)
|
||||||
|
.then(response => {
|
||||||
|
if (!response.ok) {
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
removeRow(table, classLookup)
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
}
|
||||||
|
|
||||||
|
let acceptJoinButtons = document.querySelectorAll(".join-accept");
|
||||||
|
acceptJoinButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${acceptJoinURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-join-${event.target.id}`
|
||||||
|
hitAuth(elemClass, tableAdd, url)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let rejectJoinButtons = document.querySelectorAll(".join-reject");
|
||||||
|
rejectJoinButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${rejectJoinURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-join-${event.target.id}`
|
||||||
|
hitAuth(elemClass, tableAdd, url)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let acceptLeaveButtons = document.querySelectorAll(".leave-accept");
|
||||||
|
acceptLeaveButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${acceptLeaveURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-leave-${event.target.id}`
|
||||||
|
hitAuth(elemClass, tableRem, url)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let rejectLeaveButtons = document.querySelectorAll(".leave-reject");
|
||||||
|
rejectLeaveButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${rejectLeaveURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-leave-${event.target.id}`
|
||||||
|
hitAuth(elemClass, tableRem, url)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock extra_javascript %}
|
||||||
|
{% block extra_css %}
|
||||||
|
{% include 'bundles/datatables-css-bs5.html' %}
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
PROTOCOL=https://
|
PROTOCOL=https://
|
||||||
AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN%
|
AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN%
|
||||||
DOMAIN=%DOMAIN%
|
DOMAIN=%DOMAIN%
|
||||||
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.11.1
|
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.11.2
|
||||||
|
|
||||||
# Nginx Proxy Manager
|
# Nginx Proxy Manager
|
||||||
PROXY_HTTP_PORT=80
|
PROXY_HTTP_PORT=80
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FROM python:3.11-slim
|
FROM python:3.11-slim
|
||||||
ARG AUTH_VERSION=v4.11.1
|
ARG AUTH_VERSION=v4.11.2
|
||||||
ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION}
|
ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION}
|
||||||
ENV AUTH_USER=allianceauth
|
ENV AUTH_USER=allianceauth
|
||||||
ENV AUTH_GROUP=allianceauth
|
ENV AUTH_GROUP=allianceauth
|
||||||
|
|||||||
Reference in New Issue
Block a user