diff --git a/allianceauth/eveonline/autogroups/migrations/0001_initial.py b/allianceauth/eveonline/autogroups/migrations/0001_initial.py index 219ed64a..8441e1ed 100644 --- a/allianceauth/eveonline/autogroups/migrations/0001_initial.py +++ b/allianceauth/eveonline/autogroups/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-29 14:44 +# Generated by Django 1.11.6 on 2017-12-23 04:30 from __future__ import unicode_literals from django.db import migrations, models @@ -29,40 +29,31 @@ class Migration(migrations.Migration): ('alliance_name_source', models.CharField(choices=[('ticker', 'Ticker'), ('name', 'Full name')], default='name', max_length=20)), ('replace_spaces', models.BooleanField(default=False)), ('replace_spaces_with', models.CharField(blank=True, default='', help_text='Any spaces in the group name will be replaced with this.', max_length=10)), - ('states', models.ManyToManyField(related_name='autogroups', to='authentication.State')), - ], - ), - migrations.CreateModel( - name='ManagedGroup', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], ), migrations.CreateModel( name='ManagedAllianceGroup', fields=[ - ('managedgroup_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='eve_autogroups.ManagedGroup')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('alliance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eveonline.EveAllianceInfo')), + ('config', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eve_autogroups.AutogroupsConfig')), + ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Group')), ], - bases=('eve_autogroups.managedgroup',), + options={ + 'abstract': False, + }, ), migrations.CreateModel( name='ManagedCorpGroup', fields=[ - ('managedgroup_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='eve_autogroups.ManagedGroup')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('config', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eve_autogroups.AutogroupsConfig')), ('corp', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eveonline.EveCorporationInfo')), + ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Group')), ], - bases=('eve_autogroups.managedgroup',), - ), - migrations.AddField( - model_name='managedgroup', - name='config', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eve_autogroups.AutogroupsConfig'), - ), - migrations.AddField( - model_name='managedgroup', - name='group', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Group'), + options={ + 'abstract': False, + }, ), migrations.AddField( model_name='autogroupsconfig', @@ -74,4 +65,9 @@ class Migration(migrations.Migration): name='corp_managed_groups', field=models.ManyToManyField(help_text="A list of corporation groups created and maintained by this AutogroupConfig. You should not edit this list unless you know what you're doing.", related_name='corp_managed_config', through='eve_autogroups.ManagedCorpGroup', to='auth.Group'), ), + migrations.AddField( + model_name='autogroupsconfig', + name='states', + field=models.ManyToManyField(related_name='autogroups', to='authentication.State'), + ), ] diff --git a/allianceauth/eveonline/autogroups/models.py b/allianceauth/eveonline/autogroups/models.py index 24122103..8dd78f58 100644 --- a/allianceauth/eveonline/autogroups/models.py +++ b/allianceauth/eveonline/autogroups/models.py @@ -187,13 +187,15 @@ class AutogroupsConfig(models.Model): """ Deletes ALL managed alliance groups """ - self.alliance_managed_groups.all().delete() + for g in self.alliance_managed_groups.all(): + g.delete() def delete_corp_managed_groups(self): """ Deletes ALL managed corp groups """ - self.corp_managed_groups.all().delete() + for g in self.corp_managed_groups.all(): + g.delete() def get_alliance_group_name(self, alliance: EveAllianceInfo) -> str: if self.alliance_name_source == self.OPT_TICKER: @@ -228,6 +230,9 @@ class ManagedGroup(models.Model): group = models.ForeignKey(Group, on_delete=models.CASCADE) config = models.ForeignKey(AutogroupsConfig, on_delete=models.CASCADE) + class Meta: + abstract = True + class ManagedCorpGroup(ManagedGroup): corp = models.ForeignKey(EveCorporationInfo, on_delete=models.CASCADE) diff --git a/allianceauth/eveonline/autogroups/tests/test_models.py b/allianceauth/eveonline/autogroups/tests/test_models.py index e62082e4..b59bd237 100644 --- a/allianceauth/eveonline/autogroups/tests/test_models.py +++ b/allianceauth/eveonline/autogroups/tests/test_models.py @@ -82,6 +82,7 @@ class AutogroupsConfigTestCase(TestCase): # Act obj.update_alliance_group_membership(self.member) + obj.update_corp_group_membership(self.member) # check for no side effects group = obj.create_alliance_group(self.alliance) group_qs = Group.objects.filter(pk=group.pk)