diff --git a/allianceauth/authentication/migrations/0025_v5squash.py b/allianceauth/authentication/migrations/0025_v5squash.py
new file mode 100644
index 00000000..403aaccf
--- /dev/null
+++ b/allianceauth/authentication/migrations/0025_v5squash.py
@@ -0,0 +1,109 @@
+# Generated by Django 5.1.6 on 2025-03-04 02:44
+
+import django.contrib.auth.models
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+import allianceauth.authentication.models
+
+
+class Migration(migrations.Migration):
+
+ replaces = [('authentication', '0001_initial'), ('authentication', '0002_auto_20160907_1914'), ('authentication', '0003_authservicesinfo_state'), ('authentication', '0004_create_permissions'), ('authentication', '0005_delete_perms'), ('authentication', '0006_auto_20160910_0542'), ('authentication', '0007_remove_authservicesinfo_is_blue'), ('authentication', '0008_set_state'), ('authentication', '0009_auto_20161021_0228'), ('authentication', '0010_only_one_authservicesinfo'), ('authentication', '0011_authservicesinfo_user_onetoonefield'), ('authentication', '0012_remove_add_delete_authservicesinfo_permissions'), ('authentication', '0013_service_modules'), ('authentication', '0014_fleetup_permission'), ('authentication', '0015_user_profiles'), ('authentication', '0016_ownershiprecord'), ('authentication', '0017_remove_fleetup_permission'), ('authentication', '0018_state_member_factions'), ('authentication', '0018_alter_state_name_length'), ('authentication', '0019_merge_20211026_0919'), ('authentication', '0020_userprofile_language_userprofile_night_mode'), ('authentication', '0021_alter_userprofile_language'), ('authentication', '0022_userprofile_theme'), ('authentication', '0023_alter_userprofile_language'), ('authentication', '0024_alter_userprofile_language')]
+
+ initial = True
+
+ dependencies = [
+ ('esi', '0012_fix_token_type_choices'),
+ ('eveonline', '0019_v5squash'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='CharacterOwnership',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('owner_hash', models.CharField(max_length=28, unique=True)),
+ ('character', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='character_ownership', to='eveonline.evecharacter')),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='character_ownerships', to=settings.AUTH_USER_MODEL)),
+ ],
+ options={
+ 'default_permissions': ('change', 'delete'),
+ 'ordering': ['user', 'character__character_name'],
+ },
+ ),
+ migrations.CreateModel(
+ name='State',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=32, unique=True)),
+ ('priority', models.IntegerField(help_text='Users get assigned the state with the highest priority available to them.', unique=True)),
+ ('public', models.BooleanField(default=False, help_text='Make this state available to any character.')),
+ ('member_alliances', models.ManyToManyField(blank=True, help_text='Alliances to whose members this state is available.', to='eveonline.eveallianceinfo')),
+ ('member_characters', models.ManyToManyField(blank=True, help_text='Characters to which this state is available.', to='eveonline.evecharacter')),
+ ('member_corporations', models.ManyToManyField(blank=True, help_text='Corporations to whose members this state is available.', to='eveonline.evecorporationinfo')),
+ ('permissions', models.ManyToManyField(blank=True, to='auth.permission')),
+ ('member_factions', models.ManyToManyField(blank=True, help_text='Factions to whose members this state is available.', to='eveonline.evefactioninfo')),
+ ],
+ options={
+ 'ordering': ['-priority'],
+ },
+ ),
+ migrations.CreateModel(
+ name='UserProfile',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('main_character', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='eveonline.evecharacter')),
+ ('state', models.ForeignKey(default=allianceauth.authentication.models.get_guest_state_pk, on_delete=django.db.models.deletion.SET_DEFAULT, to='authentication.state')),
+ ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL)),
+ ('night_mode', models.BooleanField(blank=True, null=True, verbose_name='Night Mode')),
+ ('theme', models.CharField(blank=True, help_text='Bootstrap 5 Themes from https://bootswatch.com/ or Community Apps', max_length=200, null=True, verbose_name='Theme')),
+ ('language', models.CharField(blank=True, choices=[('en', 'English'), ('cs-cz', 'Czech'), ('de', 'German'), ('es', 'Spanish'), ('it-it', 'Italian'), ('ja', 'Japanese'), ('ko-kr', 'Korean'), ('fr-fr', 'French'), ('ru', 'Russian'), ('nl-nl', 'Dutch'), ('pl-pl', 'Polish'), ('uk', 'Ukrainian'), ('zh-hans', 'Simplified Chinese')], default='', max_length=10, verbose_name='Language')),
+ ],
+ options={
+ 'default_permissions': ('change',),
+ },
+ ),
+ migrations.CreateModel(
+ name='Permission',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ 'verbose_name': 'permission',
+ 'verbose_name_plural': 'permissions',
+ },
+ bases=('auth.permission',),
+ managers=[
+ ('objects', django.contrib.auth.models.PermissionManager()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='User',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ 'verbose_name': 'user',
+ 'verbose_name_plural': 'users',
+ },
+ bases=('auth.user',),
+ managers=[
+ ('objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='OwnershipRecord',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('owner_hash', models.CharField(db_index=True, max_length=28)),
+ ('created', models.DateTimeField(auto_now=True)),
+ ('character', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ownership_records', to='eveonline.evecharacter')),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ownership_records', to=settings.AUTH_USER_MODEL)),
+ ],
+ options={
+ 'ordering': ['-created'],
+ },
+ ),
+ ]
diff --git a/allianceauth/corputils/migrations/0006_v5squash.py b/allianceauth/corputils/migrations/0006_v5squash.py
index d157e26e..be392489 100644
--- a/allianceauth/corputils/migrations/0006_v5squash.py
+++ b/allianceauth/corputils/migrations/0006_v5squash.py
@@ -18,7 +18,7 @@ class Migration(migrations.Migration):
dependencies = [
('esi', '0012_fix_token_type_choices'),
- ('eveonline', '0018_alter_evecharacter_alliance_name_and_more'),
+ ('eveonline', '0019_v5squash'),
]
operations = [
diff --git a/allianceauth/fleetactivitytracking/migrations/0008_v5squash.py b/allianceauth/fleetactivitytracking/migrations/0008_v5squash.py
index dda10226..777d0391 100644
--- a/allianceauth/fleetactivitytracking/migrations/0008_v5squash.py
+++ b/allianceauth/fleetactivitytracking/migrations/0008_v5squash.py
@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
- ('eveonline', '0001_initial'),
+ ('eveonline', '0019_v5squash'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
diff --git a/allianceauth/groupmanagement/migrations/0020_v5squash.py b/allianceauth/groupmanagement/migrations/0020_v5squash.py
new file mode 100644
index 00000000..9d9277c9
--- /dev/null
+++ b/allianceauth/groupmanagement/migrations/0020_v5squash.py
@@ -0,0 +1,87 @@
+# Generated by Django 5.1.6 on 2025-03-04 02:50
+
+import django.contrib.auth.models
+import django.db.models.deletion
+import django.utils.timezone
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ replaces = [('groupmanagement', '0001_initial'), ('groupmanagement', '0002_auto_20160906_2354'), ('groupmanagement', '0003_default_groups'), ('groupmanagement', '0004_authgroup'), ('groupmanagement', '0005_authgroup_public'), ('groupmanagement', '0006_request_groups_perm'), ('groupmanagement', '0007_on_delete'), ('groupmanagement', '0008_remove_authgroup_permissions'), ('groupmanagement', '0009_requestlog'), ('groupmanagement', '0010_authgroup_states'), ('groupmanagement', '0011_requestlog_date'), ('groupmanagement', '0012_group_leads'), ('groupmanagement', '0013_fix_requestlog_date_field'), ('groupmanagement', '0014_auto_20200918_1412'), ('groupmanagement', '0015_make_descriptions_great_again'), ('groupmanagement', '0016_remove_grouprequest_status_field'), ('groupmanagement', '0017_improve_groups_documentation'), ('groupmanagement', '0018_reservedgroupname'), ('groupmanagement', '0019_adding_restricted_to_groups')]
+
+ initial = True
+
+ dependencies = [
+ ('authentication', '0025_v5squash'),
+ ('eveonline', '0019_v5squash'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='GroupRequest',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('leave_request', models.BooleanField(default=0)),
+ ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.group')),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='AuthGroup',
+ fields=[
+ ('group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='auth.group')),
+ ('internal', models.BooleanField(default=True, help_text='Internal group, users cannot see, join or request to join this group.
Used for groups such as Members, Corp_*, Alliance_* etc.
Overrides Hidden and Open options when selected.')),
+ ('hidden', models.BooleanField(default=True, help_text='Group is hidden from users but can still join with the correct link.')),
+ ('open', models.BooleanField(default=False, help_text='Group is open and users will be automatically added upon request.
If the group is not open users will need their request manually approved.')),
+ ('description', models.TextField(blank=True, help_text='Short description (max. 512 characters) of the group shown to users.', max_length=512)),
+ ('group_leaders', models.ManyToManyField(blank=True, help_text='Group leaders can process requests for this group. Use the auth.group_management
permission to allow a user to manage all groups.
', related_name='leads_groups', to=settings.AUTH_USER_MODEL)),
+ ('public', models.BooleanField(default=False, help_text='Group is public. Any registered user is able to join this group, with visibility based on the other options set for this group.
Auth will not remove users from this group automatically when they are no longer authenticated.')),
+ ('group_leader_groups', models.ManyToManyField(blank=True, help_text='Members of leader groups can process requests for this group. Use the auth.group_management
permission to allow a user to manage all groups.
', related_name='leads_group_groups', to='auth.group')),
+ ('states', models.ManyToManyField(blank=True, help_text='States listed here will have the ability to join this group provided they have the proper permissions.
', related_name='valid_states', to='authentication.state')),
+ ('restricted', models.BooleanField(default=False, help_text='Group is restricted. This means that adding or removing users for this group requires a superuser admin.')),
+ ],
+ options={
+ 'default_permissions': (),
+ 'permissions': (('request_groups', 'Can request non-public groups'),),
+ },
+ ),
+ migrations.CreateModel(
+ name='Group',
+ fields=[
+ ],
+ options={
+ 'verbose_name': 'group',
+ 'indexes': [],
+ 'proxy': True,
+ 'verbose_name_plural': 'groups',
+ },
+ bases=('auth.group',),
+ managers=[
+ ('objects', django.contrib.auth.models.GroupManager()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='RequestLog',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('request_type', models.BooleanField(null=True)),
+ ('request_info', models.CharField(max_length=254)),
+ ('action', models.BooleanField(default=0)),
+ ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.group')),
+ ('request_actor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+ ('date', models.DateTimeField(auto_now_add=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ReservedGroupName',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(help_text='Name that can not be used for groups.', max_length=150, unique=True, verbose_name='name')),
+ ('reason', models.TextField(help_text='Reason why this name is reserved.', verbose_name='reason')),
+ ('created_by', models.CharField(help_text='Name of the user who created this entry.', max_length=255, verbose_name='created by')),
+ ('created_at', models.DateTimeField(default=django.utils.timezone.now, help_text='Date when this entry was created', verbose_name='created at')),
+ ],
+ ),
+ ]