diff --git a/src/servala/core/migrations/0010_remove_invitation_unique_constraint.py b/src/servala/core/migrations/0010_remove_invitation_unique_constraint.py new file mode 100644 index 0000000..78c2c45 --- /dev/null +++ b/src/servala/core/migrations/0010_remove_invitation_unique_constraint.py @@ -0,0 +1,31 @@ +# Generated by Django 5.2.7 on 2025-10-22 13:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0009_controlplane_wildcard_dns_and_more"), + ] + + operations = [ + migrations.AlterUniqueTogether( + name="organizationinvitation", + unique_together=set(), + ), + migrations.AlterField( + model_name="servicedefinition", + name="advanced_fields", + field=models.JSONField( + blank=True, + default=list, + help_text=( + "Array of field names that should be hidden behind an 'Advanced' toggle. " + "Use dot notation (e.g., ['spec.parameters.monitoring.enabled', 'spec.parameters.backup.schedule'])" + ), + null=True, + verbose_name="Advanced fields", + ), + ), + ] diff --git a/src/servala/core/models/organization.py b/src/servala/core/models/organization.py index 2bc76ff..553fa12 100644 --- a/src/servala/core/models/organization.py +++ b/src/servala/core/models/organization.py @@ -503,7 +503,6 @@ class OrganizationInvitation(ServalaModelMixin, models.Model): class Meta: verbose_name = _("Organization invitation") verbose_name_plural = _("Organization invitations") - unique_together = [["organization", "email"]] def __str__(self): return f"Invitation for {self.email} to {self.organization}"