mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-13 06:20:16 +02:00
Ensure populate alliance is called on create
This commit is contained in:
parent
941bcd3cd1
commit
d93f36a180
@ -46,7 +46,9 @@ class EveAllianceManager(models.Manager):
|
|||||||
provider = EveAllianceProviderManager()
|
provider = EveAllianceProviderManager()
|
||||||
|
|
||||||
def create_alliance(self, alliance_id):
|
def create_alliance(self, alliance_id):
|
||||||
return self.create_alliance_obj(self.provider.get_alliance(alliance_id))
|
obj = self.create_alliance_obj(self.provider.get_alliance(alliance_id))
|
||||||
|
obj.populate_alliance()
|
||||||
|
return obj
|
||||||
|
|
||||||
def create_alliance_obj(self, alliance: providers.Alliance):
|
def create_alliance_obj(self, alliance: providers.Alliance):
|
||||||
return self.create(
|
return self.create(
|
||||||
|
@ -43,14 +43,13 @@ class EveAllianceInfo(models.Model):
|
|||||||
objects = EveAllianceManager()
|
objects = EveAllianceManager()
|
||||||
provider = EveAllianceProviderManager()
|
provider = EveAllianceProviderManager()
|
||||||
|
|
||||||
def populate_alliance(self, alliance_id):
|
def populate_alliance(self):
|
||||||
alliance_model = self.objects.get(alliance_id=alliance_id)
|
alliance = self.provider.get_alliance(self.alliance_id)
|
||||||
alliance = self.objects.get_alliance(alliance_id)
|
|
||||||
for corp_id in alliance.corp_ids:
|
for corp_id in alliance.corp_ids:
|
||||||
if not EveCorporationInfo.objects.filter(corporation_id=corp_id).exists():
|
if not EveCorporationInfo.objects.filter(corporation_id=corp_id).exists():
|
||||||
EveCorporationInfo.objects.create_corporation(corp_id)
|
EveCorporationInfo.objects.create_corporation(corp_id)
|
||||||
EveCorporationInfo.objects.filter(corporation_id__in=alliance.corp_ids).update(alliance=alliance_model)
|
EveCorporationInfo.objects.filter(corporation_id__in=alliance.corp_ids).update(alliance=self)
|
||||||
EveCorporationInfo.objects.filter(alliance=alliance_model).exclude(corporation_id__in=alliance.corp_ids).update(
|
EveCorporationInfo.objects.filter(alliance=self).exclude(corporation_id__in=alliance.corp_ids).update(
|
||||||
alliance=None)
|
alliance=None)
|
||||||
|
|
||||||
def update_alliance(self, alliance: providers.Alliance = None):
|
def update_alliance(self, alliance: providers.Alliance = None):
|
||||||
|
@ -15,7 +15,7 @@ def update_corp(corp_id):
|
|||||||
|
|
||||||
@app.task
|
@app.task
|
||||||
def update_alliance(alliance_id):
|
def update_alliance(alliance_id):
|
||||||
EveAllianceInfo.objects.update_alliance(alliance_id).populate_alliance(alliance_id)
|
EveAllianceInfo.objects.update_alliance(alliance_id).populate_alliance()
|
||||||
|
|
||||||
|
|
||||||
@app.task
|
@app.task
|
||||||
|
@ -106,8 +106,9 @@ class EveAllianceManagerTestCase(TestCase):
|
|||||||
def corp(self, id):
|
def corp(self, id):
|
||||||
return self._corps[id]
|
return self._corps[id]
|
||||||
|
|
||||||
|
@mock.patch('allianceauth.eveonline.models.EveAllianceInfo.populate_alliance')
|
||||||
@mock.patch('allianceauth.eveonline.managers.providers.provider')
|
@mock.patch('allianceauth.eveonline.managers.providers.provider')
|
||||||
def test_create_alliance(self, provider):
|
def test_create_alliance(self, provider, populate_alliance):
|
||||||
# Also covers create_alliance_obj
|
# Also covers create_alliance_obj
|
||||||
expected = self.TestAlliance(id='3456', name='Test Alliance', ticker='TEST',
|
expected = self.TestAlliance(id='3456', name='Test Alliance', ticker='TEST',
|
||||||
corp_ids=['2345'], executor_corp_id='2345')
|
corp_ids=['2345'], executor_corp_id='2345')
|
||||||
@ -120,6 +121,7 @@ class EveAllianceManagerTestCase(TestCase):
|
|||||||
self.assertEqual(result.alliance_name, expected.name)
|
self.assertEqual(result.alliance_name, expected.name)
|
||||||
self.assertEqual(result.alliance_ticker, expected.ticker)
|
self.assertEqual(result.alliance_ticker, expected.ticker)
|
||||||
self.assertEqual(result.executor_corp_id, expected.executor_corp_id)
|
self.assertEqual(result.executor_corp_id, expected.executor_corp_id)
|
||||||
|
self.assertTrue(populate_alliance.called)
|
||||||
|
|
||||||
@mock.patch('allianceauth.eveonline.managers.providers.provider')
|
@mock.patch('allianceauth.eveonline.managers.providers.provider')
|
||||||
def test_update_alliance(self, provider):
|
def test_update_alliance(self, provider):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user