mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-13 22:40:16 +02:00
Corputils Changes (#668)
Order members by main characters Display unique user count
This commit is contained in:
parent
2d6c641648
commit
e3e84158f8
@ -118,6 +118,13 @@ class CorpStats(models.Model):
|
|||||||
def member_count(self):
|
def member_count(self):
|
||||||
return len(self.members)
|
return len(self.members)
|
||||||
|
|
||||||
|
def user_count(self, members):
|
||||||
|
mainchars = []
|
||||||
|
for member in members:
|
||||||
|
if hasattr(member.main, 'character_name'):
|
||||||
|
mainchars.append(member.main.character_name)
|
||||||
|
return len(set(mainchars))
|
||||||
|
|
||||||
@python_2_unicode_compatible
|
@python_2_unicode_compatible
|
||||||
class MemberObject(object):
|
class MemberObject(object):
|
||||||
def __init__(self, character_id, character_name, show_apis=False):
|
def __init__(self, character_id, character_name, show_apis=False):
|
||||||
@ -128,8 +135,10 @@ class CorpStats(models.Model):
|
|||||||
auth = AuthServicesInfo.objects.get(user=char.user)
|
auth = AuthServicesInfo.objects.get(user=char.user)
|
||||||
try:
|
try:
|
||||||
self.main = EveCharacter.objects.get(character_id=auth.main_char_id)
|
self.main = EveCharacter.objects.get(character_id=auth.main_char_id)
|
||||||
|
self.main_user = self.main.character_name
|
||||||
except EveCharacter.DoesNotExist:
|
except EveCharacter.DoesNotExist:
|
||||||
self.main = None
|
self.main = None
|
||||||
|
self.main_user = ''
|
||||||
api = EveApiKeyPair.objects.get(api_id=char.api_id)
|
api = EveApiKeyPair.objects.get(api_id=char.api_id)
|
||||||
self.registered = True
|
self.registered = True
|
||||||
if show_apis:
|
if show_apis:
|
||||||
@ -140,9 +149,11 @@ class CorpStats(models.Model):
|
|||||||
self.main = None
|
self.main = None
|
||||||
self.api = None
|
self.api = None
|
||||||
self.registered = False
|
self.registered = False
|
||||||
|
self.main_user = ''
|
||||||
except EveApiKeyPair.DoesNotExist:
|
except EveApiKeyPair.DoesNotExist:
|
||||||
self.api = None
|
self.api = None
|
||||||
self.registered = False
|
self.registered = False
|
||||||
|
self.main_user = ''
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.character_name
|
return self.character_name
|
||||||
@ -152,8 +163,7 @@ class CorpStats(models.Model):
|
|||||||
|
|
||||||
def get_member_objects(self, user):
|
def get_member_objects(self, user):
|
||||||
show_apis = self.show_apis(user)
|
show_apis = self.show_apis(user)
|
||||||
return sorted([CorpStats.MemberObject(id, name, show_apis=show_apis) for id, name in self.members.items()],
|
return sorted([CorpStats.MemberObject(id, name, show_apis=show_apis) for id, name in self.members.items()], key=attrgetter('main_user', 'character_name'))
|
||||||
key=attrgetter('character_name'))
|
|
||||||
|
|
||||||
def can_update(self, user):
|
def can_update(self, user):
|
||||||
return user.is_superuser or user == self.token.user
|
return user.is_superuser or user == self.token.user
|
||||||
@ -165,6 +175,7 @@ class CorpStats(models.Model):
|
|||||||
self.members = corpstats.get_member_objects(user)
|
self.members = corpstats.get_member_objects(user)
|
||||||
self.can_update = corpstats.can_update(user)
|
self.can_update = corpstats.can_update(user)
|
||||||
self.total_members = len(self.members)
|
self.total_members = len(self.members)
|
||||||
|
self.total_users = corpstats.user_count(self.members)
|
||||||
self.registered_members = corpstats.entered_apis()
|
self.registered_members = corpstats.entered_apis()
|
||||||
self.show_apis = corpstats.show_apis(user)
|
self.show_apis = corpstats.show_apis(user)
|
||||||
self.last_updated = corpstats.last_update
|
self.last_updated = corpstats.last_update
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<b>{% trans "API Index:" %}</b>
|
<b>{% trans "API Index: " %}</b> {{ corpstats.total_users }} Main Characters
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="progress-bar" role="progressbar" aria-valuenow="{{ corpstats.registered_members }}" aria-valuemin="0" aria-valuemax="{{ corpstats.total_members }}" style="width: {% widthratio corpstats.registered_members corpstats.total_members 100 %}%;">
|
<div class="progress-bar" role="progressbar" aria-valuenow="{{ corpstats.registered_members }}" aria-valuemin="0" aria-valuemax="{{ corpstats.total_members }}" style="width: {% widthratio corpstats.registered_members corpstats.total_members 100 %}%;">
|
||||||
{{ corpstats.registered_members }}/{{ corpstats.total_members }}
|
{{ corpstats.registered_members }}/{{ corpstats.total_members }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user