mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-04 06:06:19 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
337c4d9ce5 | ||
|
|
9afc36a009 | ||
|
|
ebff1387c1 | ||
|
|
801502ec77 | ||
|
|
c07f59201e |
@@ -1,6 +1,6 @@
|
||||
# This will make sure the app is always imported when
|
||||
# Django starts so that shared_task will use this app.
|
||||
|
||||
__version__ = '2.3.0'
|
||||
__version__ = '2.4.0'
|
||||
NAME = 'Alliance Auth v%s' % __version__
|
||||
default_app_config = 'allianceauth.apps.AllianceAuthConfig'
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<ul class="nav nav-pills pull-left">
|
||||
<li class="active"><a href="#mains" data-toggle="pill">{% trans 'Mains' %} ({{ corpstats.main_count }})</a></li>
|
||||
<li class="active"><a href="#mains" data-toggle="pill">{% trans 'Mains' %} ({{ total_mains }})</a></li>
|
||||
<li><a href="#members" data-toggle="pill">{% trans 'Members' %} ({{ corpstats.member_count }})</a></li>
|
||||
<li><a href="#unregistered" data-toggle="pill">{% trans 'Unregistered' %} ({{ corpstats.unregistered_member_count }})</a></li>
|
||||
<li><a href="#unregistered" data-toggle="pill">{% trans 'Unregistered' %} ({{ unregistered.count }})</a></li>
|
||||
</ul>
|
||||
<div class="pull-right">
|
||||
{% trans "Last update:" %} {{ corpstats.last_update|naturaltime }}
|
||||
@@ -54,14 +54,14 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for main in mains %}
|
||||
{% for id, main in mains.items %}
|
||||
<tr>
|
||||
<td class="text-center" style="vertical-align:middle">
|
||||
<div class="thumbnail"
|
||||
style="border: 0 none; box-shadow: none; background: transparent;">
|
||||
<img src="{{ main.portrait_url_64 }}" class="img-circle">
|
||||
<img src="{{ main.main.portrait_url_64 }}" class="img-circle">
|
||||
<div class="caption text-center">
|
||||
{{ main }}
|
||||
{{ main.main }}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -119,16 +119,29 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for member in members %}
|
||||
<tr {% if not member.registered %}class="danger"{% endif %}>
|
||||
<tr>
|
||||
<td><img src="{{ member.portrait_url }}" class="img-circle"></td>
|
||||
<td class="text-center">{{ member }}</td>
|
||||
<td class="text-center"><a
|
||||
href="https://zkillboard.com/character/{{ member.character_id }}/"
|
||||
class="label label-danger"
|
||||
target="_blank">{% trans "Killboard" %}</a></td>
|
||||
<td class="text-center">{{ member.character_ownership.user.profile.main_character.character_name }}</td>
|
||||
<td class="text-center">{{ member.character_ownership.user.profile.main_character.corporation_name }}</td>
|
||||
<td class="text-center">{{ member.character_ownership.user.profile.main_character.alliance_name }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% for member in unregistered %}
|
||||
<tr class="danger">
|
||||
<td><img src="{{ member.portrait_url }}" class="img-circle"></td>
|
||||
<td class="text-center">{{ member.character_name }}</td>
|
||||
<td class="text-center"><a
|
||||
href="https://zkillboard.com/character/{{ member.character_id }}/"
|
||||
class="label label-danger"
|
||||
target="_blank">{% trans "Killboard" %}</a></td>
|
||||
<td class="text-center">{{ member.main_character.character_name }}</td>
|
||||
<td class="text-center">{{ member.main_character.corporation_name }}</td>
|
||||
<td class="text-center">{{ member.main_character.alliance_name }}</td>
|
||||
<td class="text-center"></td>
|
||||
<td class="text-center"></td>
|
||||
<td class="text-center"></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
@@ -3,14 +3,14 @@ import os
|
||||
from bravado.exception import HTTPError
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required, permission_required, user_passes_test
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.core.exceptions import PermissionDenied, ObjectDoesNotExist
|
||||
from django.db import IntegrityError
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from esi.decorators import token_required
|
||||
from allianceauth.eveonline.models import EveCharacter, EveCorporationInfo
|
||||
|
||||
from .models import CorpStats
|
||||
from .models import CorpStats, CorpMember
|
||||
|
||||
SWAGGER_SPEC_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'swagger.json')
|
||||
"""
|
||||
@@ -68,7 +68,7 @@ def corpstats_view(request, corp_id=None):
|
||||
corpstats = get_object_or_404(CorpStats, corp=corp)
|
||||
|
||||
# get available models
|
||||
available = CorpStats.objects.visible_to(request.user).order_by('corp__corporation_name')
|
||||
available = CorpStats.objects.visible_to(request.user).order_by('corp__corporation_name').select_related('corp')
|
||||
|
||||
# ensure we can see the requested model
|
||||
if corpstats and corpstats not in available:
|
||||
@@ -89,13 +89,49 @@ def corpstats_view(request, corp_id=None):
|
||||
}
|
||||
|
||||
if corpstats:
|
||||
members = corpstats.members.all()
|
||||
mains = corpstats.mains.all()
|
||||
unregistered = corpstats.unregistered_members.all()
|
||||
character_list = CorpMember.objects.filter(corpstats=corpstats)
|
||||
linked_chars = EveCharacter.objects.filter(
|
||||
character_id__in=character_list.values_list('character_id', flat=True))
|
||||
linked_chars = linked_chars | EveCharacter.objects.filter(
|
||||
character_ownership__user__profile__main_character__corporation_id=corpstats.corp.corporation_id)
|
||||
|
||||
linked_chars = linked_chars.select_related('character_ownership',
|
||||
'character_ownership__user__profile__main_character') \
|
||||
.prefetch_related('character_ownership__user__character_ownerships') \
|
||||
.prefetch_related('character_ownership__user__character_ownerships__character')
|
||||
|
||||
members = []
|
||||
mains = {}
|
||||
|
||||
temp_ids = []
|
||||
for char in linked_chars:
|
||||
try:
|
||||
main = char.character_ownership.user.profile.main_character
|
||||
if main is not None:
|
||||
if main.character_id not in mains:
|
||||
mains[main.character_id] = {'main':main, 'alts':[]}
|
||||
|
||||
mains[main.character_id]['alts'].append(char)
|
||||
|
||||
if char.corporation_id == corpstats.corp.corporation_id:
|
||||
members.append(char)
|
||||
|
||||
temp_ids.append(char.character_id)
|
||||
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
|
||||
unregistered = character_list.exclude(character_id__in=temp_ids)
|
||||
|
||||
members = members
|
||||
mains = mains
|
||||
total_mains = len(mains)
|
||||
unregistered = unregistered
|
||||
context.update({
|
||||
'corpstats': corpstats,
|
||||
'members': members,
|
||||
'mains': mains,
|
||||
'total_mains': total_mains,
|
||||
'unregistered': unregistered,
|
||||
})
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ Alliance Auth can be installed on any operating system. Dependencies are provide
|
||||
|
||||
### Python
|
||||
|
||||
Alliance Auth requires python3.4 or higher. Ensure it is installed on your server before proceeding.
|
||||
Alliance Auth requires python3.5 or higher. Ensure it is installed on your server before proceeding.
|
||||
|
||||
Ubuntu:
|
||||
|
||||
|
||||
18
setup.py
18
setup.py
@@ -11,28 +11,27 @@ install_requires = [
|
||||
'mysqlclient',
|
||||
'dnspython',
|
||||
'passlib',
|
||||
'requests>=2.9.1',
|
||||
'requests>=2.9.1,<3.0.0',
|
||||
'bcrypt',
|
||||
'python-slugify>=1.2',
|
||||
'requests-oauthlib',
|
||||
'semantic_version',
|
||||
|
||||
'redis<=2.10.6',
|
||||
'celery>=4.0.2,<4.3.0',
|
||||
'redis>=3.3.1,<4.0.0',
|
||||
'celery>=4.3.0,<5.0.0',
|
||||
'celery_once',
|
||||
|
||||
'django>=2.0,<3.0',
|
||||
'django-bootstrap-form',
|
||||
'django-registration==2.4',
|
||||
'django-sortedm2m',
|
||||
'django-redis-cache==1.8.1',
|
||||
'django-celery-beat<=1.1.1',
|
||||
'django-redis-cache>=2.1.0,<3.0.0',
|
||||
'django-celery-beat>=1.1.1,<2.0.0',
|
||||
|
||||
'openfire-restapi',
|
||||
'sleekxmpp',
|
||||
|
||||
'adarnauth-esi>=1.4.10,<2.0',
|
||||
'kombu<=4.3.0',
|
||||
'django-esi>=1.5.0,<2.0'
|
||||
]
|
||||
|
||||
testing_extras = [
|
||||
@@ -52,10 +51,9 @@ setup(
|
||||
long_description_content_type='text/markdown',
|
||||
install_requires=install_requires,
|
||||
extras_require={
|
||||
'testing': testing_extras,
|
||||
':python_version=="3.4"': ['typing'],
|
||||
'testing': testing_extras
|
||||
},
|
||||
python_requires='~=3.4',
|
||||
python_requires='~=3.5',
|
||||
license='GPLv2',
|
||||
packages=['allianceauth'],
|
||||
url='https://gitlab.com/allianceauth/allianceauth',
|
||||
|
||||
Reference in New Issue
Block a user