Merge branch 'ceo_id' into 'master'

Add CEO ID to Corp Eve Model

See merge request allianceauth/allianceauth!1287
This commit is contained in:
Ariel Rin 2021-01-08 10:37:33 +00:00
commit aeeb35bc60
3 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.1.1 on 2021-01-05 14:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('eveonline', '0012_index_additions'),
]
operations = [
migrations.AddField(
model_name='evecorporationinfo',
name='ceo_id',
field=models.PositiveIntegerField(blank=True, default=None, null=True),
),
]

View File

@ -0,0 +1,17 @@
# Generated by Django 3.1.1 on 2021-01-05 14:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('eveonline', '0013_evecorporationinfo_ceo_id'),
]
operations = [
migrations.AddIndex(
model_name='evecorporationinfo',
index=models.Index(fields=['ceo_id'], name='eveonline_e_ceo_id_eea7b8_idx'),
),
]

View File

@ -82,6 +82,7 @@ class EveCorporationInfo(models.Model):
corporation_name = models.CharField(max_length=254, unique=True) corporation_name = models.CharField(max_length=254, unique=True)
corporation_ticker = models.CharField(max_length=254) corporation_ticker = models.CharField(max_length=254)
member_count = models.IntegerField() member_count = models.IntegerField()
ceo_id = models.PositiveIntegerField(blank=True, null=True, default=None)
alliance = models.ForeignKey( alliance = models.ForeignKey(
EveAllianceInfo, blank=True, null=True, on_delete=models.SET_NULL EveAllianceInfo, blank=True, null=True, on_delete=models.SET_NULL
) )
@ -89,10 +90,16 @@ class EveCorporationInfo(models.Model):
objects = EveCorporationManager() objects = EveCorporationManager()
provider = EveCorporationProviderManager() provider = EveCorporationProviderManager()
class Meta:
indexes = [
models.Index(fields=['ceo_id',]),
]
def update_corporation(self, corp: providers.Corporation = None): def update_corporation(self, corp: providers.Corporation = None):
if corp is None: if corp is None:
corp = self.provider.get_corporation(self.corporation_id) corp = self.provider.get_corporation(self.corporation_id)
self.member_count = corp.members self.member_count = corp.members
self.ceo_id = corp.ceo_id
try: try:
self.alliance = EveAllianceInfo.objects.get(alliance_id=corp.alliance_id) self.alliance = EveAllianceInfo.objects.get(alliance_id=corp.alliance_id)
except EveAllianceInfo.DoesNotExist: except EveAllianceInfo.DoesNotExist: