diff --git a/aleksis/apps/tezor/migrations/0001_initial.py b/aleksis/apps/tezor/migrations/0001_initial.py index 78902e2c22002582ad57b32b646b851d9f328a94..5edb70016cfa2a9904b0a215dea7b4f318e82299 100644 --- a/aleksis/apps/tezor/migrations/0001_initial.py +++ b/aleksis/apps/tezor/migrations/0001_initial.py @@ -11,7 +11,6 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('sites', '0002_alter_domain_unique'), ('contenttypes', '0002_remove_content_type_name'), ] @@ -22,7 +21,6 @@ class Migration(migrations.Migration): ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('extended_data', models.JSONField(default=dict, editable=False)), ('name', models.CharField(max_length=255, verbose_name='Name')), - ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')), ], managers=[ ('objects', aleksis.core.managers.AlekSISBaseManager()), @@ -36,7 +34,6 @@ class Migration(migrations.Migration): ('name', models.CharField(max_length=255, verbose_name='Invoice group name')), ('template_name', models.CharField(blank=True, max_length=255, verbose_name='Template to render invoices with as PDF')), ('client', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='invoice_groups', to='tezor.client', verbose_name='Linked client')), - ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')), ], managers=[ ('objects', aleksis.core.managers.AlekSISBaseManager()), @@ -89,6 +86,6 @@ class Migration(migrations.Migration): ), migrations.AddConstraint( model_name='client', - constraint=models.UniqueConstraint(fields=('name', 'site'), name='uniq_client_per_site'), + constraint=models.UniqueConstraint(fields=('name',), name='uniq_client_per_site'), ), ] diff --git a/aleksis/apps/tezor/migrations/0003_manual_invoicing.py b/aleksis/apps/tezor/migrations/0003_manual_invoicing.py index 125bae2603ba33764d4dcb3c245d92dc06a2255e..c6d71e57df58a47b5286d7fcbae9f23a569afd2c 100644 --- a/aleksis/apps/tezor/migrations/0003_manual_invoicing.py +++ b/aleksis/apps/tezor/migrations/0003_manual_invoicing.py @@ -9,7 +9,6 @@ class Migration(migrations.Migration): dependencies = [ ('core', '0038_notification_send_at'), - ('sites', '0002_alter_domain_unique'), ('tezor', '0002_invoice_due_date'), ] @@ -41,11 +40,6 @@ class Migration(migrations.Migration): model_name='invoice', constraint=models.CheckConstraint(check=models.Q(('for_object_id__isnull', True), ('person__isnull', True), _connector='OR'), name='object_or_person'), ), - migrations.AddField( - model_name='invoiceitem', - name='site', - field=models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site'), - ), migrations.AddField( model_name='invoice', name='items', diff --git a/aleksis/apps/tezor/migrations/0007_client_payment_variants.py b/aleksis/apps/tezor/migrations/0007_client_payment_variants.py index 92b9380215f1a1fa285e615ebe39efde0c9a353d..e844067627f299a57312b2267573666e53a6bd3e 100644 --- a/aleksis/apps/tezor/migrations/0007_client_payment_variants.py +++ b/aleksis/apps/tezor/migrations/0007_client_payment_variants.py @@ -11,14 +11,14 @@ def configure_clients(apps, schema_editor): db_alias = schema_editor.connection.alias Client = apps.get_model("tezor", "Client") - SitePreferenceModel = apps.get_model("core", "SitePreferenceModel") + GlobalPreferenceModel = apps.get_model("dynamic_preferences", "GlobalPreferenceModel") fields = ["sofort_api_id", "sofort_api_key", "sofort_project_id", "paypal_client_id", "paypal_secret", "paypal_capture", "pledge_enabled", "sdd_creditor", "sdd_creditor_identifier"] values = {} for field in fields: try: - pref = SitePreferenceModel.objects.using(db_alias).get(section="payments", name=field) - except SitePreferenceModel.DoesNotExist: + pref = GlobalPreferenceModel.objects.using(db_alias).get(section="payments", name=field) + except GlobalPreferenceModel.DoesNotExist: continue value = pref.raw_value diff --git a/aleksis/apps/tezor/migrations/0010_alter_client_options_alter_invoice_options_and_more.py b/aleksis/apps/tezor/migrations/0010_alter_client_options_alter_invoice_options_and_more.py index 45e0a284018bdca6cfcd10fea7e791ba6dc6aa7c..70bbdb816c2307a62ef482daf99d8ca1f042298a 100644 --- a/aleksis/apps/tezor/migrations/0010_alter_client_options_alter_invoice_options_and_more.py +++ b/aleksis/apps/tezor/migrations/0010_alter_client_options_alter_invoice_options_and_more.py @@ -8,7 +8,6 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('sites', '0002_alter_domain_unique'), ('tezor', '0009_invoice_billing_phone'), ] diff --git a/aleksis/apps/tezor/migrations/0011_drop_sites.py b/aleksis/apps/tezor/migrations/0011_drop_sites.py new file mode 100644 index 0000000000000000000000000000000000000000..e4782dc634d57e0a8256af8bd39ab6cbdb85e866 --- /dev/null +++ b/aleksis/apps/tezor/migrations/0011_drop_sites.py @@ -0,0 +1,44 @@ +# Generated by Django 4.2.10 on 2024-03-01 11:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("tezor", "0010_alter_client_options_alter_invoice_options_and_more"), + ] + + operations = [ + migrations.AlterModelManagers( + name="client", + managers=[], + ), + migrations.AlterModelManagers( + name="invoicegroup", + managers=[], + ), + migrations.AlterModelManagers( + name="invoiceitem", + managers=[], + ), + migrations.RemoveConstraint( + model_name="client", + name="uniq_client_per_site", + ), + ] + [ + migrations.RunSQL( + f"ALTER TABLE tezor_{model_name} drop column if exists site_id;" + ) for model_name in + [ + "client", + "invoicegroup", + "invoiceitem", + ] + ] + [ + migrations.AlterField( + model_name="client", + name="name", + field=models.CharField(max_length=255, unique=True, verbose_name="Name"), + ), + ] diff --git a/aleksis/apps/tezor/model_extensions.py b/aleksis/apps/tezor/model_extensions.py deleted file mode 100644 index 2c30e614478d877cdd2c14a43334442a6e26e972..0000000000000000000000000000000000000000 --- a/aleksis/apps/tezor/model_extensions.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.utils.translation import gettext as _ - -from jsonstore import CharField - -from aleksis.core.models import Person - -Person.field( - external_accounting_number=CharField(verbose_name=_("External accounting number"), blank=True) -) diff --git a/aleksis/apps/tezor/models/base.py b/aleksis/apps/tezor/models/base.py index 3d90bd392d95339e2f4821321da4c9e7a231778f..5bb2d1689c3bc8cefd8485527a20a83603b8d975 100644 --- a/aleksis/apps/tezor/models/base.py +++ b/aleksis/apps/tezor/models/base.py @@ -15,7 +15,7 @@ class Client(ExtensibleModel): "pledge": (_("Payment pledge / manual payment"), "mdi:hand-coin"), "sdd": (_("SEPA Direct Debit"), "mdi:bank-transfer"), } - name = models.CharField(verbose_name=_("Name"), max_length=255) + name = models.CharField(verbose_name=_("Name"), max_length=255, unique=True) email = models.EmailField(verbose_name=_("Email")) sofort_enabled = models.BooleanField(verbose_name=_("Sofort / Klarna enabled"), default=False) @@ -57,7 +57,6 @@ class Client(ExtensibleModel): verbose_name = _("Client") verbose_name_plural = _("Clients") constraints = [ - models.UniqueConstraint(fields=["name", "site"], name="uniq_client_per_site"), models.CheckConstraint( check=( ( diff --git a/aleksis/apps/tezor/settings.py b/aleksis/apps/tezor/settings.py index f3580c25dc797424edfa408c87f75d0b4370830e..9b622c3ecb5ec94395c924119bb5b39457435d50 100644 --- a/aleksis/apps/tezor/settings.py +++ b/aleksis/apps/tezor/settings.py @@ -1,6 +1,9 @@ +from aleksis.core.settings import _settings + INSTALLED_APPS = ["payments", "djp_sepa"] +PAYMENT_HOST = _settings.get("payment.host", "localhost:8000") PAYMENT_MODEL = "tezor.Invoice" PAYMENT_VARIANT_FACTORY = "aleksis.apps.tezor.util.invoice.provider_factory" -overrides = ["PAYMENT_MODEL", "PAYMENT_VARIANT_FACTORY"] +overrides = ["PAYMENT_HOST", "PAYMENT_MODEL", "PAYMENT_VARIANT_FACTORY"]