# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2018-07-02 18:56 from __future__ import unicode_literals import re2o.aes_field import cotisations.payment_methods.mixins from django.db import migrations, models import django.db.models.deletion def add_cheque(apps, schema_editor): ChequePayment = apps.get_model("cotisations", "ChequePayment") Payment = apps.get_model("cotisations", "Paiement") for p in Payment.objects.filter(type_paiement=1): cheque = ChequePayment() cheque.payment = p cheque.save() def add_comnpay(apps, schema_editor): ComnpayPayment = apps.get_model("cotisations", "ComnpayPayment") Payment = apps.get_model("cotisations", "Paiement") AssoOption = apps.get_model("preferences", "AssoOption") options, _created = AssoOption.objects.get_or_create() try: payment = Payment.objects.get(moyen="Rechargement en ligne") except Payment.DoesNotExist: return comnpay = ComnpayPayment() comnpay.payment_user = options.payment_id comnpay.payment = payment comnpay.save() payment.moyen = "ComnPay" payment.save() def add_solde(apps, schema_editor): OptionalUser = apps.get_model("preferences", "OptionalUser") options, _created = OptionalUser.objects.get_or_create() Payment = apps.get_model("cotisations", "Paiement") BalancePayment = apps.get_model("cotisations", "BalancePayment") try: solde = Payment.objects.get(moyen="solde") except Payment.DoesNotExist: return balance = BalancePayment() balance.payment = solde balance.minimum_balance = options.solde_negatif balance.maximum_balance = options.max_solde solde.is_balance = True balance.save() solde.save() class Migration(migrations.Migration): dependencies = [ ("preferences", "0044_remove_payment_pass"), ("cotisations", "0029_auto_20180414_2056"), ] operations = [ migrations.AlterModelOptions( name="paiement", options={ "permissions": ( ("view_paiement", "Can see a payement's details"), ("use_every_payment", "Can use every payement"), ), "verbose_name": "Payment method", "verbose_name_plural": "Payment methods", }, ), migrations.AlterModelOptions( name="article", options={ "permissions": ( ("view_article", "Can see an article's details"), ("buy_every_article", "Can buy every_article"), ), "verbose_name": "Article", "verbose_name_plural": "Articles", }, ), migrations.AddField( model_name="paiement", name="available_for_everyone", field=models.BooleanField( default=False, verbose_name="Is available for every user" ), ), migrations.AddField( model_name="paiement", name="is_balance", field=models.BooleanField( default=False, editable=False, help_text="There should be only one balance payment method.", verbose_name="Is user balance", validators=[cotisations.models.check_no_balance], ), ), migrations.AddField( model_name="article", name="available_for_everyone", field=models.BooleanField( default=False, verbose_name="Is available for every user" ), ), migrations.CreateModel( name="ChequePayment", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "payment", models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="payment_method", to="cotisations.Paiement", ), ), ], bases=(cotisations.payment_methods.mixins.PaymentMethodMixin, models.Model), options={"verbose_name": "Cheque"}, ), migrations.CreateModel( name="ComnpayPayment", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "payment_credential", models.CharField( blank=True, default="", max_length=255, verbose_name="ComNpay VAD Number", ), ), ( "payment_pass", re2o.aes_field.AESEncryptedField( blank=True, max_length=255, null=True, verbose_name="ComNpay Secret Key", ), ), ( "payment", models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="payment_method", to="cotisations.Paiement", ), ), ( "minimum_payment", models.DecimalField( decimal_places=2, default=1, help_text="The minimal amount of money you have to use when paying with ComNpay", max_digits=5, verbose_name="Minimum payment", ), ), ], bases=(cotisations.payment_methods.mixins.PaymentMethodMixin, models.Model), options={"verbose_name": "ComNpay"}, ), migrations.CreateModel( name="BalancePayment", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "minimum_balance", models.DecimalField( decimal_places=2, default=0, help_text="The minimal amount of money allowed for the balance at the end of a payment. You can specify negative amount.", max_digits=5, verbose_name="Minimum balance", ), ), ( "payment", models.OneToOneField( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="payment_method", to="cotisations.Paiement", ), ), ( "maximum_balance", models.DecimalField( decimal_places=2, default=50, help_text="The maximal amount of money allowed for the balance.", max_digits=5, verbose_name="Maximum balance", null=True, blank=True, ), ), ( "credit_balance_allowed", models.BooleanField( default=False, verbose_name="Allow user to credit their balance" ), ), ], bases=(cotisations.payment_methods.mixins.PaymentMethodMixin, models.Model), options={"verbose_name": "User Balance"}, ), migrations.RunPython(add_comnpay), migrations.RunPython(add_cheque), migrations.RunPython(add_solde), migrations.RemoveField(model_name="paiement", name="type_paiement"), ]