Appli QrCode
This commit is contained in:
parent
b242129b49
commit
3ad6135f60
|
|
@ -4,7 +4,7 @@ from django.contrib.auth.models import Group
|
|||
from solo.admin import SingletonModelAdmin
|
||||
|
||||
from AuthBillet.models import HumanUser, SuperHumanUser, TermUser
|
||||
from BaseBillet.models import Configuration, Event, OptionGenerale, Article, Billet, Reservation, LigneArticle, TarifsAdhesion
|
||||
from BaseBillet.models import Configuration, Event, OptionGenerale, Article, Billet, Reservation, LigneArticle
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
|
||||
from Customers.models import Client
|
||||
|
|
@ -150,15 +150,6 @@ class ConfigurationAdmin(SingletonModelAdmin):
|
|||
|
||||
staff_admin_site.register(Configuration, ConfigurationAdmin)
|
||||
|
||||
class TarifsAdhesionAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
'name',
|
||||
'tarif'
|
||||
)
|
||||
list_editable = ('tarif',)
|
||||
ordering = ('tarif',)
|
||||
|
||||
staff_admin_site.register(TarifsAdhesion, TarifsAdhesionAdmin)
|
||||
|
||||
|
||||
class EventAdmin(admin.ModelAdmin):
|
||||
|
|
|
|||
|
|
@ -8,6 +8,20 @@ class Command(BaseCommand):
|
|||
|
||||
def handle(self, *args, **options):
|
||||
|
||||
# create your public tenant
|
||||
tenant = Client(schema_name='public',
|
||||
name='Schemas Inc.',
|
||||
paid_until='2016-12-05',
|
||||
on_trial=False)
|
||||
tenant.save()
|
||||
|
||||
# Add one or more domains for the tenant
|
||||
domain = Domain()
|
||||
domain.domain = f'{os.getenv("DOMAIN")}' # don't add your port or www here! on a local server you'll want to use localhost here
|
||||
domain.tenant = tenant
|
||||
domain.is_primary = True
|
||||
domain.save()
|
||||
|
||||
tenant_demo = Client.objects.get_or_create(schema_name="demo",
|
||||
name="demo",
|
||||
paid_until='2200-12-05',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 12:56
|
||||
# Generated by Django 2.2 on 2021-09-27 13:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
|
@ -12,7 +12,7 @@ class Migration(migrations.Migration):
|
|||
|
||||
dependencies = [
|
||||
('auth', '0011_update_proxy_permissions'),
|
||||
('Customers', '0003_auto_20210623_1351'),
|
||||
('Customers', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
@ -28,7 +28,7 @@ class Migration(migrations.Migration):
|
|||
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
||||
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
||||
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
||||
('uuid_user', models.UUIDField(default=uuid.uuid4, editable=False)),
|
||||
('uuid', models.UUIDField(default=uuid.uuid4, editable=False)),
|
||||
('email', models.EmailField(max_length=254, unique=True, verbose_name='email')),
|
||||
('username', models.CharField(blank=True, max_length=200, null=True)),
|
||||
('phone', models.CharField(blank=True, max_length=20, null=True)),
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class TibilletUser(AbstractUser):
|
|||
#TODO regarder du coté du dashboard de jet, ça plante avec uuid !
|
||||
# uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True, db_index=True)
|
||||
|
||||
uuid_user = models.UUIDField(default=uuid.uuid4, editable=False)
|
||||
uuid = models.UUIDField(default=uuid.uuid4, editable=False)
|
||||
|
||||
USERNAME_FIELD = 'email'
|
||||
REQUIRED_FIELDS = [] # removes email from REQUIRED_FIELDS
|
||||
|
|
@ -157,6 +157,7 @@ class TermUser(TibilletUser):
|
|||
# Si création :
|
||||
if not self.pk:
|
||||
self.espece = TibilletUser.TYPE_TERM
|
||||
self.email = self.email.lower()
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
|
@ -187,6 +188,7 @@ class HumanUser(TibilletUser):
|
|||
|
||||
self.is_staff = False
|
||||
self.is_superuser = False
|
||||
self.email = self.email.lower()
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
|
@ -218,6 +220,7 @@ class SuperHumanUser(TibilletUser):
|
|||
|
||||
self.is_staff = True
|
||||
self.is_superuser = False
|
||||
self.email = self.email.lower()
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
# Generated by Django 2.2 on 2021-06-23 09:09
|
||||
# Generated by Django 2.2 on 2021-09-27 13:39
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
@ -11,9 +13,35 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Article',
|
||||
fields=[
|
||||
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||||
('name', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('prix', models.FloatField()),
|
||||
('stock', models.SmallIntegerField(blank=True, null=True)),
|
||||
('reservation_par_user_max', models.PositiveSmallIntegerField(default=10)),
|
||||
('publish', models.BooleanField(default=False)),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Image')),
|
||||
('categorie_article', models.CharField(choices=[('B', 'Billet'), ('P', "Pack d'objets"), ('R', 'Recharge cashless'), ('T', 'Vetement'), ('M', 'Merchandasing'), ('A', 'Adhésion')], default='B', max_length=3, verbose_name="Type d'article")),
|
||||
('id_product_stripe', models.CharField(blank=True, max_length=30, null=True)),
|
||||
('id_price_stripe', models.CharField(blank=True, max_length=30, null=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Billet',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('prix', models.FloatField()),
|
||||
('reservation_par_user_max', models.PositiveSmallIntegerField(default=6)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Event',
|
||||
fields=[
|
||||
|
|
@ -24,6 +52,8 @@ class Migration(migrations.Migration):
|
|||
('datetime', models.DateTimeField()),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)])),
|
||||
('reservations', models.PositiveSmallIntegerField(default=0)),
|
||||
('articles', models.ManyToManyField(to='BaseBillet.Article')),
|
||||
('billets', models.ManyToManyField(to='BaseBillet.Billet')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Evenement',
|
||||
|
|
@ -45,12 +75,48 @@ class Migration(migrations.Migration):
|
|||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='reservation',
|
||||
name='TarifsAdhesion',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('status', models.CharField(choices=[('NAN', 'Annulée'), ('NOV', 'Email non validé'), ('VAL', 'Validée'), ('PAY', 'Payée')], default='NOV', max_length=3, verbose_name='Status de la réservation')),
|
||||
('qty', models.IntegerField()),
|
||||
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reservation', to='BaseBillet.Event')),
|
||||
('name', models.CharField(max_length=30)),
|
||||
('tarif', models.FloatField()),
|
||||
],
|
||||
options={
|
||||
'ordering': ('-tarif',),
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='VAT',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('percent', models.FloatField(verbose_name='Taux de TVA (%)')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'TVA',
|
||||
'verbose_name_plural': 'TVA',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Reservation',
|
||||
fields=[
|
||||
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('status', models.CharField(choices=[('NAN', 'Annulée'), ('MNV', 'Email non validé'), ('NPA', 'Non payée'), ('VAL', 'Validée'), ('PAY', 'Payée')], default='NPA', max_length=3, verbose_name='Status de la réservation')),
|
||||
('event', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='reservation', to='BaseBillet.Event')),
|
||||
('options', models.ManyToManyField(to='BaseBillet.OptionGenerale')),
|
||||
('user_commande', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='LigneArticle',
|
||||
fields=[
|
||||
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, primary_key=True, serialize=False)),
|
||||
('qty', models.SmallIntegerField()),
|
||||
('reste', models.SmallIntegerField()),
|
||||
('datetime', models.DateTimeField(auto_now=True)),
|
||||
('article', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Article')),
|
||||
('billet', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Billet')),
|
||||
('paiement_stripe', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='PaiementStripe.Paiement_stripe')),
|
||||
('reservation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
|
|
@ -62,13 +128,22 @@ class Migration(migrations.Migration):
|
|||
('adresse', models.CharField(max_length=250)),
|
||||
('phone', models.CharField(max_length=20)),
|
||||
('email', models.EmailField(max_length=254)),
|
||||
('site_web', models.URLField(blank=True, null=True)),
|
||||
('twitter', models.URLField(blank=True, null=True)),
|
||||
('facebook', models.URLField(blank=True, null=True)),
|
||||
('instagram', models.URLField(blank=True, null=True)),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/')),
|
||||
('adhesion_obligatoire', models.BooleanField(default=False)),
|
||||
('cadeau_adhesion', models.FloatField(default=0, help_text="Recharge cadeau a l'adhésion")),
|
||||
('carte_restaurant', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Carte du restaurant')),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', verbose_name='Background')),
|
||||
('mollie_api_key', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('reservation_par_user_max', models.PositiveSmallIntegerField(default=6)),
|
||||
('stripe_api_key', models.CharField(blank=True, max_length=110, null=True)),
|
||||
('stripe_test_api_key', models.CharField(blank=True, max_length=110, null=True)),
|
||||
('stripe_mode_test', models.BooleanField(default=True)),
|
||||
('activer_billetterie', models.BooleanField(default=True)),
|
||||
('jauge_max', models.PositiveSmallIntegerField(default=50)),
|
||||
('server_cashless', models.URLField(blank=True, max_length=300, null=True, verbose_name='Adresse du serveur Cashless')),
|
||||
('key_cashless', models.CharField(blank=True, max_length=41, null=True, verbose_name="Clé d'API du serveur cashless")),
|
||||
('option_generale_checkbox', models.ManyToManyField(blank=True, related_name='checkbox', to='BaseBillet.OptionGenerale')),
|
||||
('option_generale_radio', models.ManyToManyField(blank=True, related_name='radiobutton', to='BaseBillet.OptionGenerale')),
|
||||
],
|
||||
|
|
@ -76,4 +151,9 @@ class Migration(migrations.Migration):
|
|||
'abstract': False,
|
||||
},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='vat',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.VAT', verbose_name='TVA'),
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,73 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:25
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('BaseBillet', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Article',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('prix', models.FloatField()),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Billet',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('prix', models.FloatField()),
|
||||
],
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='reservation',
|
||||
name='id',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='reservation',
|
||||
name='qty',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='reservation',
|
||||
name='user_commande',
|
||||
field=models.ForeignKey(default=False, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='reservation',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, default=False, primary_key=True, serialize=False, unique=True),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='configuration',
|
||||
name='img',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', verbose_name='Background'),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='LigneArticle',
|
||||
fields=[
|
||||
('uuid', models.UUIDField(db_index=True, primary_key=True, serialize=False, unique=True)),
|
||||
('qty', models.SmallIntegerField()),
|
||||
('reste', models.SmallIntegerField()),
|
||||
('articles', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Article')),
|
||||
('reservation', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='event',
|
||||
name='articles',
|
||||
field=models.ManyToManyField(to='BaseBillet.Article', verbose_name='Articles et billets'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:15
|
||||
# Generated by Django 2.2 on 2021-09-27 13:59
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
|
@ -6,12 +6,12 @@ from django.db import migrations
|
|||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0005_detail_base_url'),
|
||||
('BaseBillet', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='cartecashless',
|
||||
name='origine',
|
||||
model_name='lignearticle',
|
||||
name='reste',
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:27
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0002_auto_20210629_1625'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:11
|
||||
# Generated by Django 2.2 on 2021-09-27 14:24
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
|
@ -6,11 +6,11 @@ from django.db import migrations
|
|||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0005_auto_20210924_1611'),
|
||||
('BaseBillet', '0002_remove_lignearticle_reste'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='Configuration_stripe',
|
||||
name='TarifsAdhesion',
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:27
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0003_auto_20210629_1627'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:29
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0004_auto_20210629_1627'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='reservation',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, primary_key=True, serialize=False),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:29
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0005_auto_20210629_1629'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:33
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0006_auto_20210629_1629'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='reservation',
|
||||
name='options',
|
||||
field=models.ManyToManyField(to='BaseBillet.OptionGenerale'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:54
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0007_auto_20210629_1633'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='event',
|
||||
name='billets',
|
||||
field=models.ManyToManyField(to='BaseBillet.Billet'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='event',
|
||||
name='articles',
|
||||
field=models.ManyToManyField(to='BaseBillet.Article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:55
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0008_auto_20210629_1654'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='stock',
|
||||
field=models.SmallIntegerField(blank=True, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 12:58
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0009_auto_20210629_1655'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='billet',
|
||||
name='reservation_par_user_max',
|
||||
field=models.PositiveSmallIntegerField(default=6),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:13
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0010_auto_20210629_1658'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='configuration',
|
||||
name='reservation_par_user_max',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='reservation_par_user_max',
|
||||
field=models.PositiveSmallIntegerField(default=10),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:29
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0011_auto_20210629_1713'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:33
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0012_auto_20210629_1729'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, default=uuid.uuid4, primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='reservation',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, default=uuid.uuid4, primary_key=True, serialize=False),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:35
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0013_auto_20210629_1733'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='articles',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Article', verbose_name='lignes_article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:38
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0014_auto_20210629_1735'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='articles',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 13:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0015_auto_20210629_1738'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 14:09
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0016_auto_20210629_1739'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='lignearticle',
|
||||
old_name='articles',
|
||||
new_name='article',
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='reservation',
|
||||
name='status',
|
||||
field=models.CharField(choices=[('NAN', 'Annulée'), ('MNV', 'Email non validé'), ('NPA', 'Non payée'), ('VAL', 'Validée'), ('PAY', 'Payée')], default='NPA', max_length=3, verbose_name='Status de la réservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 14:11
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0017_auto_20210629_1809'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='lignearticle',
|
||||
name='billet',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Billet'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='article',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 14:11
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0018_auto_20210629_1811'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 14:20
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0019_auto_20210629_1811'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='article',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='billet',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Billet'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 15:48
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0020_auto_20210629_1820'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-29 15:52
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0021_auto_20210629_1948'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation', verbose_name='lignes_article'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='reservation',
|
||||
name='event',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='reservation', to='BaseBillet.Event'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 09:38
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0002_auto_20210923_1338'),
|
||||
('BaseBillet', '0022_auto_20210629_1952'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='lignearticle',
|
||||
name='paiement_stripe',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='PaiementStripe.Paiement_stripe'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 09:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0023_auto_20210923_1338'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 10:03
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0024_auto_20210923_1339'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='key_cashless',
|
||||
field=models.CharField(blank=True, max_length=41, null=True, verbose_name="Clé d'API du serveur cashless"),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='server_cashless',
|
||||
field=models.URLField(blank=True, max_length=300, null=True, verbose_name='Adresse du serveur Cashless'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 13:06
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0025_auto_20210923_1403'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='VAT',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('percent', models.FloatField(verbose_name='Taux de TVA (%)')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'TVA',
|
||||
'verbose_name_plural': 'TVA',
|
||||
},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='vat',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='BaseBillet.VAT', verbose_name='TVA'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 13:28
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0026_auto_20210923_1706'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='publish',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 11:16
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0027_auto_20210923_1728'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='lignearticle',
|
||||
name='datetime',
|
||||
field=models.DateTimeField(auto_now=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 11:47
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0028_auto_20210924_1516'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 11:53
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0029_auto_20210924_1547'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:11
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0030_auto_20210924_1553'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:11
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0031_auto_20210924_1611'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:14
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0032_auto_20210924_1611'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='stripe_api_key',
|
||||
field=models.CharField(blank=True, max_length=110, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='stripe_test_api_key',
|
||||
field=models.CharField(blank=True, max_length=110, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:21
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0033_auto_20210924_1614'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:28
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0034_auto_20210924_1621'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='stripe_mode_test',
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 06:27
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0035_auto_20210924_1628'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 07:59
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0036_auto_20210925_1027'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 08:08
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0037_auto_20210925_1159'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 08:24
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0038_auto_20210925_1208'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 09:10
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0039_auto_20210925_1224'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:15
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0040_auto_20210925_1310'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:17
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0041_auto_20210925_1415'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:44
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0042_auto_20210925_1417'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 11:07
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0043_auto_20210925_1444'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 13:55
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0044_auto_20210925_1507'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-26 07:19
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0045_auto_20210925_1755'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-26 09:59
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0046_auto_20210926_1119'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='carte_restaurant',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Background'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='site_web',
|
||||
field=models.URLField(blank=True, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-26 11:31
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0047_auto_20210926_1359'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='activer_billetterie',
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='configuration',
|
||||
name='carte_restaurant',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Carte du restaurant'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 06:47
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0048_auto_20210926_1531'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='TarifsAdhesion',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=30)),
|
||||
('tarif', models.FloatField()),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='adhesion_obligatoire',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 07:32
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0049_auto_20210927_1047'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='tarifsadhesion',
|
||||
options={'ordering': ('-tarif',)},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='configuration',
|
||||
name='cadeau_adhesion',
|
||||
field=models.FloatField(default=0),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 09:34
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0050_auto_20210927_1132'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='categorie_article',
|
||||
field=models.CharField(choices=[('B', 'Billet'), ('P', "Pack d'objets"), ('R', 'Recharge cashless'), ('T', 'Vetement'), ('M', 'Merchandasing')], default='B', max_length=3, verbose_name='Status de la réservation'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='configuration',
|
||||
name='cadeau_adhesion',
|
||||
field=models.FloatField(default=0, help_text="Recharge cadeau a l'adhésion"),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 09:35
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0051_auto_20210927_1334'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='id_stripe',
|
||||
field=models.CharField(blank=True, max_length=30, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 09:48
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0052_auto_20210927_1335'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='img',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Image'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 09:50
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0053_auto_20210927_1348'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='article',
|
||||
name='id',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, default=uuid.uuid4, primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 10:07
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0054_auto_20210927_1350'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='article',
|
||||
old_name='id_stripe',
|
||||
new_name='id_price_stripe',
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='article',
|
||||
name='categorie_article',
|
||||
field=models.CharField(choices=[('B', 'Billet'), ('P', "Pack d'objets"), ('R', 'Recharge cashless'), ('T', 'Vetement'), ('M', 'Merchandasing'), ('A', 'Adhésion')], default='B', max_length=3, verbose_name="Type d'article"),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 10:07
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0055_auto_20210927_1407'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='id_product_stripe',
|
||||
field=models.CharField(blank=True, max_length=30, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 11:43
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0056_auto_20210927_1407'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 12:34
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0057_auto_20210927_1543'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 12:34
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0058_auto_20210927_1634'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 13:18
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0059_auto_20210927_1634'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='article',
|
||||
name='uuid',
|
||||
field=models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-27 13:18
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0060_auto_20210927_1718'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='lignearticle',
|
||||
name='reservation',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='BaseBillet.Reservation'),
|
||||
),
|
||||
]
|
||||
|
|
@ -40,16 +40,6 @@ def poids_option_generale(sender, instance: OptionGenerale, created, **kwargs):
|
|||
instance.save()
|
||||
|
||||
|
||||
class TarifsAdhesion(models.Model):
|
||||
name = models.CharField(max_length=30)
|
||||
tarif = models.FloatField()
|
||||
|
||||
class Meta:
|
||||
ordering = ('-tarif',)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.name} {self.tarif}"
|
||||
|
||||
|
||||
class Configuration(SingletonModel):
|
||||
organisation = models.CharField(max_length=50)
|
||||
|
|
@ -157,7 +147,7 @@ class VAT(models.Model):
|
|||
|
||||
|
||||
class Article(models.Model):
|
||||
uuid = models.UUIDField(primary_key=True, db_index=True, default=uuid.uuid4, editable=False)
|
||||
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True, db_index=True)
|
||||
|
||||
name = models.CharField(max_length=50,
|
||||
blank=True, null=True)
|
||||
|
|
@ -362,12 +352,5 @@ class LigneArticle(models.Model):
|
|||
article = models.ForeignKey(Article, on_delete=models.CASCADE, blank=True, null=True)
|
||||
billet = models.ForeignKey(Billet, on_delete=models.CASCADE, blank=True, null=True)
|
||||
qty = models.SmallIntegerField()
|
||||
reste = models.SmallIntegerField()
|
||||
paiement_stripe = models.ForeignKey(Paiement_stripe, on_delete=models.PROTECT, blank=True, null=True)
|
||||
datetime = models.DateTimeField(auto_now=True)
|
||||
# def __str__(self):
|
||||
# if self.reservation :
|
||||
# if self.article :
|
||||
# return f"{self.reservation.user_commande.email} {self.qty} {self.article}"
|
||||
# if self.billet :
|
||||
# return f"{self.reservation.user_commande.email} {self.qty} {self.billet}"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
# Generated by Django 2.2 on 2021-06-23 09:09
|
||||
# Generated by Django 2.2 on 2021-09-27 13:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
import django_tenants.postgresql_backend.base
|
||||
|
||||
|
||||
|
|
@ -18,9 +19,9 @@ class Migration(migrations.Migration):
|
|||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('schema_name', models.CharField(db_index=True, max_length=63, unique=True, validators=[django_tenants.postgresql_backend.base._check_schema_name])),
|
||||
('name', models.CharField(max_length=100)),
|
||||
('paid_until', models.DateField()),
|
||||
('on_trial', models.BooleanField()),
|
||||
('name', models.CharField(db_index=True, max_length=100, unique=True)),
|
||||
('paid_until', models.DateField(default=django.utils.timezone.now)),
|
||||
('on_trial', models.BooleanField(default=True)),
|
||||
('created_on', models.DateField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
# Generated by Django 2.2.13 on 2021-06-08 10:08
|
||||
import os
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def create_premier_tenant(apps, schema_editor):
|
||||
# We can't import the Person model directly as it may be a newer
|
||||
# version than this migration expects. We use the historical version.
|
||||
Client = apps.get_model('Customers', 'Client')
|
||||
Domain = apps.get_model('Customers', 'Domain')
|
||||
DNS = os.getenv('DOMAIN')
|
||||
|
||||
tenant_public = Client.objects.get_or_create(schema_name='public',
|
||||
name='Tibillet Public',
|
||||
paid_until='2200-12-05',
|
||||
on_trial=False)[0]
|
||||
|
||||
# Add one or more domains for the tenant
|
||||
domaine_seul = Domain.objects.get_or_create(domain=DNS,
|
||||
tenant=tenant_public,
|
||||
is_primary=True,
|
||||
)
|
||||
|
||||
domaine_www = Domain.objects.get_or_create(domain=f'www.{DNS}',
|
||||
tenant=tenant_public,
|
||||
is_primary=False,
|
||||
)
|
||||
|
||||
return tenant_public, domaine_seul[0], domaine_www[0]
|
||||
|
||||
|
||||
def reverse(apps, schema_editor):
|
||||
tenant_public, domaine_seul, domaine_www = create_premier_tenant(apps, schema_editor)
|
||||
tenant_public.delete()
|
||||
domaine_seul.delete()
|
||||
domaine_www.delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
('Customers', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(create_premier_tenant, reverse),
|
||||
]
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-06-23 09:51
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Customers', '0002_create_tenant_public'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='client',
|
||||
name='name',
|
||||
field=models.CharField(db_index=True, max_length=100, unique=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='client',
|
||||
name='on_trial',
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='client',
|
||||
name='paid_until',
|
||||
field=models.DateField(default=django.utils.timezone.now),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 08:55
|
||||
# Generated by Django 2.2 on 2021-09-27 13:39
|
||||
|
||||
from django.conf import settings
|
||||
import django.contrib.postgres.fields.jsonb
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
|
|
@ -9,6 +12,7 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
|
|
@ -16,10 +20,13 @@ class Migration(migrations.Migration):
|
|||
name='Paiement_stripe',
|
||||
fields=[
|
||||
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||||
('id_stripe', models.CharField(blank=True, max_length=20, null=True)),
|
||||
('detail', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('id_stripe', models.CharField(blank=True, max_length=80, null=True)),
|
||||
('metadata_stripe', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
|
||||
('order_date', models.DateTimeField(auto_now=True, verbose_name='Date')),
|
||||
('status', models.CharField(choices=[('O', 'Envoyée a Stripe'), ('W', 'En attente de paiement'), ('P', 'Payée'), ('V', 'Payée et validée'), ('C', 'Annulée')], default='O', max_length=1, verbose_name='Statut de la commande')),
|
||||
('email_billet', models.CharField(blank=True, max_length=30, verbose_name='Email de récéption des billets')),
|
||||
('status', models.CharField(choices=[('N', 'Lien de paiement non crée'), ('O', 'Envoyée a Stripe'), ('W', 'En attente de paiement'), ('E', 'Expiré'), ('P', 'Payée'), ('V', 'Payée et validée'), ('C', 'Annulée')], default='N', max_length=1, verbose_name='Statut de la commande')),
|
||||
('total', models.FloatField(default=0)),
|
||||
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 09:38
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='paiement_stripe',
|
||||
name='status',
|
||||
field=models.CharField(choices=[('N', 'Lien de paiement non crée'), ('O', 'Envoyée a Stripe'), ('W', 'En attente de paiement'), ('P', 'Payée'), ('V', 'Payée et validée'), ('C', 'Annulée')], default='N', max_length=1, verbose_name='Statut de la commande'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 11:47
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('PaiementStripe', '0002_auto_20210923_1338'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='paiement_stripe',
|
||||
name='detail',
|
||||
field=models.CharField(blank=True, max_length=50, null=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='paiement_stripe',
|
||||
name='user',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 11:53
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0003_auto_20210924_1547'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='paiement_stripe',
|
||||
name='total',
|
||||
field=models.FloatField(default=0),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-24 12:11
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0004_paiement_stripe_total'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Configuration_stripe',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('test_api_key', models.CharField(blank=True, max_length=110, null=True)),
|
||||
('api_key', models.CharField(blank=True, max_length=110, null=True)),
|
||||
],
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='paiement_stripe',
|
||||
name='email_billet',
|
||||
),
|
||||
]
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 06:27
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0006_delete_configuration_stripe'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='paiement_stripe',
|
||||
name='id_stripe',
|
||||
field=models.CharField(blank=True, max_length=80, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='paiement_stripe',
|
||||
name='status',
|
||||
field=models.CharField(choices=[('N', 'Lien de paiement non crée'), ('O', 'Envoyée a Stripe'), ('W', 'En attente de paiement'), ('E', 'Expiré'), ('P', 'Payée'), ('V', 'Payée et validée'), ('C', 'Annulée')], default='N', max_length=1, verbose_name='Statut de la commande'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-26 07:19
|
||||
|
||||
import django.contrib.postgres.fields.jsonb
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('PaiementStripe', '0007_auto_20210925_1027'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='paiement_stripe',
|
||||
name='metadata_stripe',
|
||||
field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
|
|
@ -3,8 +3,9 @@ from django.contrib.postgres.fields import JSONField
|
|||
import uuid
|
||||
# Create your models here.
|
||||
from TiBillet import settings
|
||||
|
||||
# class Configuration_stripe(models.Model):
|
||||
from django.db.models.signals import post_save, pre_save
|
||||
from django.dispatch import receiver
|
||||
# from QrcodeCashless.views import postPaimentRecharge
|
||||
|
||||
|
||||
class Paiement_stripe(models.Model):
|
||||
|
|
@ -38,5 +39,13 @@ class Paiement_stripe(models.Model):
|
|||
def __str__(self):
|
||||
return f"{self.detail} - {self.status}"
|
||||
|
||||
|
||||
|
||||
''' RECEIVER PRESAVE DANS LE VIEW QRCODECASHELESS
|
||||
@receiver(pre_save, sender=Paiement_stripe)
|
||||
def changement_paid_to_valid(sender, instance: Paiement_stripe, update_fields=None, **kwargs):
|
||||
try:
|
||||
old_instance = Paiement_stripe.objects.get(pk=instance.pk)
|
||||
if old_instance.status != Paiement_stripe.PAID :
|
||||
print(f"on passe de {old_instance.status} à {instance.status}")
|
||||
if instance.status == Paiement_stripe.PAID:
|
||||
on lance la recharge vers le serveur cashless
|
||||
'''
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import json
|
||||
from datetime import datetime
|
||||
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.db import connection
|
||||
from django.http import HttpResponse, Http404, HttpResponseRedirect
|
||||
|
|
@ -31,13 +32,14 @@ class creation_checkout_stripe():
|
|||
) -> None:
|
||||
|
||||
self.absolute_domain = absolute_domain
|
||||
self.configuration = Configuration.get_solo()
|
||||
self.liste_ligne_article = liste_ligne_article
|
||||
self.email_paiement = email_paiement
|
||||
self.metadata = metadata
|
||||
|
||||
self.configuration = Configuration.get_solo()
|
||||
self.user = self._user_paiement()
|
||||
self.detail = self._detail()
|
||||
self.total = self._total()
|
||||
self.liste_ligne_article = liste_ligne_article
|
||||
self.metadata = metadata
|
||||
self.metadata_json = json.dumps(self.metadata)
|
||||
self.paiement_stripe_db = self._paiement_stripe_db()
|
||||
self.stripe_api_key = self._stripe_api_key()
|
||||
|
|
@ -64,7 +66,7 @@ class creation_checkout_stripe():
|
|||
total = 0
|
||||
for ligne in self.liste_ligne_article:
|
||||
ligne: LigneArticle
|
||||
total += ligne.qty * ligne.article.prix
|
||||
total += float(ligne.qty) * float(ligne.article.prix)
|
||||
return total
|
||||
|
||||
def _detail(self):
|
||||
|
|
@ -100,20 +102,23 @@ class creation_checkout_stripe():
|
|||
line_items.append(
|
||||
{
|
||||
"price": f"{ligne.article.get_id_price_stripe()}",
|
||||
"quantity": ligne.qty,
|
||||
"quantity": int(ligne.qty),
|
||||
}
|
||||
)
|
||||
return line_items
|
||||
|
||||
def _checkout_session(self):
|
||||
|
||||
|
||||
checkout_session = stripe.checkout.Session.create(
|
||||
customer_email=f'{self.user.email}',
|
||||
line_items=self.line_items,
|
||||
payment_method_types=['card'],
|
||||
mode='payment',
|
||||
metadata=self.metadata,
|
||||
success_url=f'{self.absolute_domain}/stripe/return/{self.paiement_stripe_db.uuid}',
|
||||
cancel_url=f'{self.absolute_domain}/stripe/return/{self.paiement_stripe_db.uuid}',
|
||||
client_reference_id=f"{self.user.uuid_user}",
|
||||
payment_method_types=["card"],
|
||||
customer_email=f'{self.user.email}',
|
||||
line_items=self.line_items,
|
||||
mode='payment',
|
||||
metadata=self.metadata,
|
||||
client_reference_id=f"{self.user.uuid}",
|
||||
)
|
||||
|
||||
print(checkout_session.id)
|
||||
|
|
@ -146,6 +151,7 @@ class retour_stripe(View):
|
|||
else:
|
||||
stripe.api_key = configuration.stripe_api_key
|
||||
|
||||
print(paiement_stripe.status)
|
||||
if paiement_stripe.status != Paiement_stripe.VALID:
|
||||
|
||||
checkout_session = stripe.checkout.Session.retrieve(paiement_stripe.id_stripe)
|
||||
|
|
@ -156,9 +162,6 @@ class retour_stripe(View):
|
|||
paiement_stripe.save()
|
||||
|
||||
elif checkout_session.payment_status == "paid":
|
||||
paiement_stripe.status = Paiement_stripe.PAID
|
||||
paiement_stripe.save()
|
||||
|
||||
# on vérifie si les infos sont cohérente avec la db : Never Trust Input :)
|
||||
metadata_stripe_json = checkout_session.metadata
|
||||
metadata_stripe = json.loads(str(metadata_stripe_json))
|
||||
|
|
@ -177,25 +180,26 @@ class retour_stripe(View):
|
|||
f"metadata ne correspondent pas : {metadata_stripe} {metadata_db}")
|
||||
raise Http404
|
||||
|
||||
# on check si il y a un rechargement de carte cashless dans la commande
|
||||
if metadata_db.get('recharge_carte_uuid'):
|
||||
logger.info(
|
||||
f'{timezone.now()} retour stripe pour rechargement carte : {metadata_db.get("recharge_carte_uuid")}')
|
||||
print(
|
||||
f'{timezone.now()} retour stripe pour rechargement carte : {metadata_db.get("recharge_carte_uuid")}')
|
||||
|
||||
print('gerer la recharge sur le serveur cashless')
|
||||
# return postPaimentRecharge(paiement_stripe, request)
|
||||
|
||||
|
||||
|
||||
paiement_stripe.status = Paiement_stripe.PAID
|
||||
paiement_stripe.save()
|
||||
# le .save() lance le process pre_save dans le view QrcodeCashless, qui peut modifier son status
|
||||
paiement_stripe.refresh_from_db()
|
||||
if paiement_stripe.status == Paiement_stripe.VALID :
|
||||
messages.success(request, f"Paiement validé. Merci !")
|
||||
return HttpResponseRedirect(f"/qr/{metadata_db.get('recharge_carte_uuid')}#success")
|
||||
|
||||
else:
|
||||
paiement_stripe.status = Paiement_stripe.CANCELED
|
||||
paiement_stripe.save()
|
||||
return HttpResponse(f'Le paiement annulé.')
|
||||
|
||||
return HttpResponse(f'Paiement validé')
|
||||
if paiement_stripe.status == Paiement_stripe.VALID:
|
||||
metadata_db_json = paiement_stripe.metadata_stripe
|
||||
metadata_db = json.loads(metadata_db_json)
|
||||
if metadata_db.get('recharge_carte_uuid'):
|
||||
return HttpResponseRedirect(f"/qr/{metadata_db.get('recharge_carte_uuid')}#historique")
|
||||
else :
|
||||
return HttpResponse('Un problème de validation de paiement a été detecté. Merci de contacter un responsable.')
|
||||
# return HttpResponseRedirect("/")
|
||||
|
||||
|
||||
'''
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
# Generated by Django 2.2 on 2021-09-23 09:39
|
||||
# Generated by Django 2.2 on 2021-09-27 13:39
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
@ -9,18 +11,29 @@ class Migration(migrations.Migration):
|
|||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('Customers', '0003_auto_20210623_1351'),
|
||||
('Customers', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Detail',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Recto de la carte')),
|
||||
('img_url', models.URLField(blank=True, null=True)),
|
||||
('base_url', models.CharField(blank=True, max_length=60, null=True)),
|
||||
('generation', models.SmallIntegerField()),
|
||||
('origine', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='Customers.Client')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='CarteCashless',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('tag_id', models.CharField(db_index=True, max_length=8, unique=True)),
|
||||
('uuid_qrcode', models.UUIDField(blank=True, null=True, verbose_name='Uuid')),
|
||||
('number', models.CharField(blank=True, db_index=True, max_length=8, null=True, unique=True)),
|
||||
('origine', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='Customers.Client')),
|
||||
('uuid', models.UUIDField(blank=True, null=True, verbose_name='Uuid')),
|
||||
('number', models.CharField(db_index=True, max_length=8, unique=True)),
|
||||
('detail', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='QrcodeCashless.Detail')),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 07:59
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='cartecashless',
|
||||
old_name='uuid_qrcode',
|
||||
new_name='uuid',
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='cartecashless',
|
||||
name='number',
|
||||
field=models.CharField(db_index=True, default=0, max_length=8, unique=True),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 08:08
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import stdimage.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0002_auto_20210925_1159'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Detail',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('img', stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', verbose_name='Recto de la carte')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='cartecashless',
|
||||
name='detail',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='QrcodeCashless.Detail'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 08:24
|
||||
|
||||
from django.db import migrations
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0003_auto_20210925_1208'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='detail',
|
||||
name='img',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Recto de la carte'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 09:10
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0004_auto_20210925_1224'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='detail',
|
||||
name='base_url',
|
||||
field=models.CharField(blank=True, max_length=60, null=True),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:17
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('Customers', '0003_auto_20210623_1351'),
|
||||
('QrcodeCashless', '0006_remove_cartecashless_origine'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='detail',
|
||||
name='origine',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='Customers.Client'),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 10:44
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0007_detail_origine'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='detail',
|
||||
name='img_url',
|
||||
field=models.URLField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Generated by Django 2.2 on 2021-09-25 13:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('QrcodeCashless', '0008_detail_img_url'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='detail',
|
||||
name='generation',
|
||||
field=models.SmallIntegerField(default=1),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Rechargement Online</title>
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css">
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<!-- Material Design Bootstrap -->
|
||||
{# <link href="css/mdb.min.css" rel="stylesheet">#}
|
||||
<!-- Your custom styles (optional) -->
|
||||
{# <link href="css/style.css" rel="stylesheet">#}
|
||||
</head>
|
||||
<body>
|
||||
<br>
|
||||
{% if url_image_carte %}
|
||||
<div class="container-fluid">
|
||||
<img src="{{ url_image_carte }}" alt="Product" class="img-fluid img-thumbnail rounded mx-auto d-block" >
|
||||
</div>
|
||||
{% endif %}
|
||||
<br>
|
||||
<p class="h3 mb-4 text-center">Rechargement Cashless {{ domain.capitalize }}</p>
|
||||
{% if liste_assets %}
|
||||
<p class="h5 mb-5 text-center">Disponible sur votre carte :
|
||||
{% for asset in liste_assets %}
|
||||
<p class="h6 mb-6 text-center"> {{ asset }} </p>
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="h4 mb-4 text-center">Votre carte est vide.</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<form class="border border-light p-5" name="form" method="POST">
|
||||
{% csrf_token %}
|
||||
<label for="numero_carte">Merci de vérifier votre numéro de la carte cashless ( au dessous du QRCode ) :</label>
|
||||
<input type="text" id="numero_carte_cashless" class="form-control" placeholder="Numéro de la carte cashless"
|
||||
value="{{ numero_carte }}" name="numero_carte_cashless" required="True" readonly>
|
||||
<br>
|
||||
|
||||
<label for="Email">Email :</label>
|
||||
{% if email %}
|
||||
<input type="email" id="Email" class="form-control mb-4" placeholder="E-mail" name="email" required="True"
|
||||
value="{{ email }}">
|
||||
{% else %}
|
||||
<input type="email" id="Email" class="form-control mb-4" placeholder="E-mail" name="email" required="True">
|
||||
{% endif %}
|
||||
|
||||
|
||||
<label for="thune">Somme à recharger (€) :</label>
|
||||
<input id="thune" class="form-control" type="number" min="1" step="any" name="thune" required="True"/>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="d-grid gap-2">
|
||||
<button class="btn btn-primary" type="submit">Payer</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -16,8 +16,7 @@
|
|||
<link rel="stylesheet" href="{% static 'html5up-dimension/assets/css/noscript.css' %}"/>
|
||||
</noscript>
|
||||
</head>
|
||||
< class="is-preload">
|
||||
|
||||
<body class="is-preload">
|
||||
<!-- Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
|
|
@ -38,12 +37,15 @@
|
|||
<nav>
|
||||
<ul>
|
||||
<li><a href="#recharger">Recharger</a></li>
|
||||
|
||||
{% if history %}
|
||||
<li><a href="#historique">Historique</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if carte_resto %}
|
||||
<li><a href="/media/{{ carte_resto }}">Restaurant</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if billetterie_bool %}
|
||||
<li><a href="/">Billetterie</a></li>
|
||||
{% endif %}
|
||||
|
|
@ -56,6 +58,9 @@
|
|||
<li><a href="#adherer">Adhérer</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if email and not a_jour_cotisation %}
|
||||
<li><a href="#adherer">Adhérer</a></li>
|
||||
{% endif %}
|
||||
{# <li><a href="#elements">Elements</a></li>#}
|
||||
|
||||
</ul>
|
||||
|
|
@ -75,15 +80,19 @@
|
|||
<div class="field">
|
||||
<label for="email">Email</label>
|
||||
{% if email %}
|
||||
<input type="email" name="email" id="Email" required="True" value="{{ email }}"/>
|
||||
<label for="email">Vérifiez votre adresse Email</label>
|
||||
<input type="email" name="email" id="Email" required="True" value="{{ email }}"
|
||||
style="text-transform: lowercase;"/>
|
||||
{% else %}
|
||||
<input type="email" name="email" id="email" required="True"/>
|
||||
<label for="email">Entrez votre adresse Email</label>
|
||||
<input type="email" name="email" id="email" required="True"
|
||||
style="text-transform: lowercase;"/>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label for="montant_recharge">Somme à recharger (€)</label>
|
||||
<input id="montant_recharge" type="number" step="any" name="montant_recharge" required="True"/>
|
||||
<input id="montant_recharge" type="number" name="montant_recharge" required="True"/>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="actions">
|
||||
|
|
@ -155,8 +164,11 @@
|
|||
|
||||
|
||||
<article id="success">
|
||||
<h2 class="major">Rechargement OK</h2>
|
||||
<h4>Vous avez bien rechargé la carte {{ numero_carte }}.</h4>
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<h2>{{ message }}</h2>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -193,9 +205,17 @@
|
|||
<form method="post" action="#">
|
||||
{% csrf_token %}
|
||||
<div class="fields">
|
||||
|
||||
<div class="field">
|
||||
<label for="email">Entrez votre Email</label>
|
||||
<input id="email" name="email" required="True" type="email"/>
|
||||
{% if email %}
|
||||
<label for="email">Vérifiez votre adresse Email</label>
|
||||
<input type="email" name="email" id="Email" required="True" value="{{ email }}"
|
||||
style="text-transform: lowercase;"/>
|
||||
{% else %}
|
||||
<label for="email">Entrez votre adresse Email</label>
|
||||
<input type="email" name="email" id="email" required="True"
|
||||
style="text-transform: lowercase;"/>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<ul class="actions">
|
||||
|
|
@ -247,7 +267,7 @@
|
|||
{% for tarif in tarifs_adhesion %}
|
||||
<ul class="actions">
|
||||
<li><a id="{{ tarif.name | slugify }}" href="#paiementadhesionenligne"
|
||||
class="button primary field">{{ tarif.name }} {{ tarif.tarif }}€</a></li>
|
||||
class="button primary field">{{ tarif.name }} {{ tarif.prix }}€</a></li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
<h4>Payer à l'acceuil de l'association avec un vrai humain :</h4>
|
||||
|
|
@ -260,11 +280,6 @@
|
|||
|
||||
<article id="paiementadhesionenligne">
|
||||
<h2 class="major">Paiement en ligne</h2>
|
||||
{% if messages %}
|
||||
{% for message in messages %}
|
||||
<h3>{{ message }}</h3>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<h3>Adhésion : <span id="text_name_adhesion"></span> <span id="text_tarif_adhesion"></span></h3>
|
||||
<form method="post" action="#">
|
||||
{% csrf_token %}
|
||||
|
|
@ -279,6 +294,8 @@
|
|||
</div>
|
||||
|
||||
<div class="field" style="display: none">
|
||||
<input id="pk_adhesion" type="text" name="pk_adhesion"
|
||||
required="True"/>
|
||||
<input id="montant_adhesion" type="number" step="any" name="montant_adhesion"
|
||||
required="True"/>
|
||||
</div>
|
||||
|
|
@ -286,7 +303,7 @@
|
|||
<div class="field">
|
||||
<h4>Voulez vous recharger votre carte en même temps ? Laissez vide si non.</h4>
|
||||
<label for="montant_recharge">Recharge cashless (€) :</label>
|
||||
<input id="montant_recharge" type="number" step="any" name="montant_recharge" />
|
||||
<input id="montant_recharge" type="number" name="montant_recharge"/>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="actions">
|
||||
|
|
@ -384,9 +401,10 @@
|
|||
{% for tarif in tarifs_adhesion %}
|
||||
document.getElementById('{{ tarif.name | slugify }}').onclick = function () {
|
||||
console.log('{{ tarif.name | slugify }}')
|
||||
document.getElementById("montant_adhesion").value = "{{ tarif.tarif }}";
|
||||
document.getElementById("montant_adhesion").value = "{{ tarif.prix }}";
|
||||
document.getElementById("pk_adhesion").value = "{{ tarif.pk }}";
|
||||
document.getElementById("text_name_adhesion").textContent = "{{ tarif.name }}";
|
||||
document.getElementById("text_tarif_adhesion").textContent = "{{ tarif.tarif }}€";
|
||||
document.getElementById("text_tarif_adhesion").textContent = "{{ tarif.prix }}€";
|
||||
}
|
||||
|
||||
{% endfor %}
|
||||
|
|
|
|||
|
|
@ -7,18 +7,19 @@ from django.http import HttpResponseRedirect, HttpResponse, Http404
|
|||
from django.shortcuts import render
|
||||
from django.utils import timezone
|
||||
from rest_framework.generics import get_object_or_404
|
||||
|
||||
import stripe
|
||||
|
||||
# Create your views here.
|
||||
from django.views import View
|
||||
from rest_framework import status
|
||||
|
||||
from BaseBillet.models import Configuration, Article, TarifsAdhesion, LigneArticle
|
||||
from BaseBillet.models import Configuration, Article, LigneArticle
|
||||
from PaiementStripe.models import Paiement_stripe
|
||||
from PaiementStripe.views import creation_checkout_stripe
|
||||
from QrcodeCashless.models import CarteCashless
|
||||
|
||||
from django.db.models.signals import pre_save
|
||||
from django.dispatch import receiver
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
|
@ -30,10 +31,19 @@ def get_domain(request):
|
|||
|
||||
raise Http404
|
||||
|
||||
|
||||
def check_carte_local(uuid):
|
||||
carte = get_object_or_404(CarteCashless, uuid=uuid)
|
||||
# on vérifie toujours que la carte vienne bien du domain et Client tenant.
|
||||
if carte.detail.origine != connection.tenant:
|
||||
logger.error(f"{timezone.now()} "
|
||||
f"check_carte_local {carte.uuid} : "
|
||||
f"carte detail origine correspond pas : {carte.detail.origine} != {connection.tenant}")
|
||||
raise Http404
|
||||
|
||||
return carte
|
||||
|
||||
|
||||
class gen_one_bisik(View):
|
||||
def get(self, request, numero_carte):
|
||||
print(numero_carte)
|
||||
|
|
@ -74,9 +84,6 @@ class index_scan(View):
|
|||
|
||||
def get(self, request, uuid):
|
||||
carte = check_carte_local(uuid)
|
||||
if carte.detail.origine != connection.tenant:
|
||||
raise Http404
|
||||
|
||||
# dette technique ...
|
||||
# pour rediriger les premières générations de qrcode
|
||||
# m.tibillet.re et raffinerie
|
||||
|
|
@ -97,21 +104,19 @@ class index_scan(View):
|
|||
reponse_server_cashless = self.check_carte_serveur_cashless(carte.uuid)
|
||||
if reponse_server_cashless.status_code == 200:
|
||||
json_reponse = json.loads(reponse_server_cashless.json())
|
||||
liste_assets = json_reponse.get('liste_assets')
|
||||
email = json_reponse.get('email')
|
||||
a_jour_cotisation = json_reponse.get('a_jour_cotisation')
|
||||
|
||||
if json_reponse.get('history') :
|
||||
for his in json_reponse.get('history') :
|
||||
if json_reponse.get('history'):
|
||||
for his in json_reponse.get('history'):
|
||||
his['date'] = datetime.fromisoformat(his['date'])
|
||||
|
||||
return render(
|
||||
request,
|
||||
self.template_name,
|
||||
{
|
||||
'tarifs_adhesion': TarifsAdhesion.objects.all(),
|
||||
'tarifs_adhesion': Article.objects.filter(categorie_article=Article.ADHESION).order_by('-prix'),
|
||||
'adhesion_obligatoire': configuration.adhesion_obligatoire,
|
||||
'assets': json_reponse.get('assets'),
|
||||
'total_monnaie': json_reponse.get('total_monnaie'),
|
||||
'history': json_reponse.get('history'),
|
||||
'carte_resto': configuration.carte_restaurant,
|
||||
'site_web': configuration.site_web,
|
||||
|
|
@ -119,8 +124,11 @@ class index_scan(View):
|
|||
'numero_carte': carte.number,
|
||||
'client_name': carte.detail.origine.name,
|
||||
'domain': sub_addr,
|
||||
'informations_carte': reponse_server_cashless.text,
|
||||
'liste_assets': liste_assets,
|
||||
# 'informations_carte': reponse_server_cashless.text,
|
||||
'total_monnaie': json_reponse.get('total_monnaie'),
|
||||
'assets': json_reponse.get('assets'),
|
||||
'a_jour_cotisation': a_jour_cotisation,
|
||||
# 'liste_assets': liste_assets,
|
||||
'email': email,
|
||||
'billetterie_bool': configuration.activer_billetterie,
|
||||
}
|
||||
|
|
@ -130,84 +138,95 @@ class index_scan(View):
|
|||
elif reponse_server_cashless.status_code == 400:
|
||||
# Carte non trouvée
|
||||
return HttpResponse('Carte inconnue', status=status.HTTP_400_BAD_REQUEST)
|
||||
elif reponse_server_cashless.status_code == 403 :
|
||||
elif reponse_server_cashless.status_code == 403:
|
||||
# Clé api HS
|
||||
logger.error(reponse_server_cashless)
|
||||
return HttpResponse('Forbidden', status=status.HTTP_403_FORBIDDEN)
|
||||
else :
|
||||
return HttpResponse(f'{reponse_server_cashless.status_code}', status=reponse_server_cashless.status_code)
|
||||
else:
|
||||
return HttpResponse("Serveur non disponible. Merci de revenir ultérieurement.",
|
||||
status=status.HTTP_503_SERVICE_UNAVAILABLE)
|
||||
|
||||
def post(self, request, uuid):
|
||||
carte = check_carte_local(uuid)
|
||||
if carte.detail.origine != connection.tenant:
|
||||
raise Http404
|
||||
|
||||
|
||||
data = request.POST
|
||||
print(data)
|
||||
# c'est une recharge
|
||||
if data.get('montant_recharge') and data.get('email'):
|
||||
montant_adhesion = data.get('montant_adhesion')
|
||||
montant_recharge = data.get('montant_recharge')
|
||||
|
||||
# c'est un paiement
|
||||
if (montant_adhesion or montant_recharge) and data.get('email'):
|
||||
# montant_recharge = data.get('montant_recharge')
|
||||
montant_recharge = float("{0:.2f}".format(float(data.get('montant_recharge'))))
|
||||
if montant_recharge > 0:
|
||||
|
||||
# reponse_server_cashless = self.check_carte_serveur_cashless(carte.uuid)
|
||||
# configuration = Configuration.get_solo()
|
||||
|
||||
ligne_articles = []
|
||||
metadata = {}
|
||||
metadata['recharge_carte_uuid'] = str(carte.uuid)
|
||||
if montant_recharge:
|
||||
art, created = Article.objects.get_or_create(
|
||||
name="Recharge Carte",
|
||||
prix=1,
|
||||
publish=False,
|
||||
categorie_article=Article.RECHARGE_CASHLESS,
|
||||
)
|
||||
|
||||
ligne_article = LigneArticle.objects.create(
|
||||
article = art,
|
||||
qty = montant_recharge,
|
||||
ligne_article_recharge = LigneArticle.objects.create(
|
||||
article=art,
|
||||
qty=montant_recharge,
|
||||
)
|
||||
ligne_articles.append(ligne_article_recharge)
|
||||
|
||||
metadata = {
|
||||
'recharge_carte_uuid': str(carte.uuid),
|
||||
'recharge_carte_montant': str(montant_recharge),
|
||||
}
|
||||
|
||||
metadata['recharge_carte_montant'] = str(montant_recharge)
|
||||
|
||||
if montant_adhesion:
|
||||
art_adhesion = Article.objects.get(pk=data.get('pk_adhesion'))
|
||||
ligne_article_recharge = LigneArticle.objects.create(
|
||||
article=art_adhesion,
|
||||
qty=1,
|
||||
)
|
||||
ligne_articles.append(ligne_article_recharge)
|
||||
metadata['pk_adhesion'] = str(art_adhesion.pk)
|
||||
|
||||
if len(ligne_articles) > 0:
|
||||
new_checkout_session = creation_checkout_stripe(
|
||||
email_paiement = data.get('email'),
|
||||
liste_ligne_article = [ligne_article,],
|
||||
metadata = metadata,
|
||||
absolute_domain = request.build_absolute_uri().partition('/qr')[0],
|
||||
email_paiement=data.get('email'),
|
||||
liste_ligne_article=ligne_articles,
|
||||
metadata=metadata,
|
||||
absolute_domain=request.build_absolute_uri().partition('/qr')[0],
|
||||
)
|
||||
|
||||
if new_checkout_session.is_valid() :
|
||||
if new_checkout_session.is_valid():
|
||||
print(new_checkout_session.checkout_session.stripe_id)
|
||||
return new_checkout_session.redirect_to_stripe()
|
||||
|
||||
# c'est la première étape de l'adhésion
|
||||
elif data.get('email') \
|
||||
and not data.get('prenom') \
|
||||
and not data.get('prenom') \
|
||||
and not data.get('tel') :
|
||||
# Email seul sans montant, c'est une adhésion
|
||||
elif data.get('email'):
|
||||
|
||||
sess = requests.Session()
|
||||
configuration = Configuration.get_solo()
|
||||
r = sess.post(
|
||||
f'{configuration.server_cashless}/api/billetterie_qrcode_adhesion',
|
||||
headers={
|
||||
'Authorization': f'Api-Key {configuration.key_cashless}'
|
||||
},
|
||||
data={
|
||||
'email': data.get('email'),
|
||||
'uuid_carte': carte.uuid,
|
||||
})
|
||||
f'{configuration.server_cashless}/api/billetterie_qrcode_adhesion',
|
||||
headers={
|
||||
'Authorization': f'Api-Key {configuration.key_cashless}'
|
||||
},
|
||||
data={
|
||||
'prenom': data.get('prenom'),
|
||||
'name': data.get('name'),
|
||||
'email': data.get('email'),
|
||||
'tel': data.get('tel'),
|
||||
'uuid_carte': carte.uuid,
|
||||
})
|
||||
|
||||
sess.close()
|
||||
|
||||
# nouveau membre crée avec uniquqment l'email on demande la suite.
|
||||
if r.status_code in (201, 204) :
|
||||
# nouveau membre crée avec uniquement l'email on demande la suite.
|
||||
# HTTP_202_ACCEPTED
|
||||
# HTTP_201_CREATED
|
||||
if r.status_code in (201, 204):
|
||||
messages.success(request, f"{data.get('email')}", extra_tags='email')
|
||||
return HttpResponseRedirect(f'#demande_nom_prenom_tel')
|
||||
|
||||
#partial information :
|
||||
# partial information :
|
||||
elif r.status_code == 206:
|
||||
partial = json.loads(r.text)
|
||||
messages.success(request, f"{data.get('email')}", extra_tags='email')
|
||||
|
|
@ -218,85 +237,73 @@ class index_scan(View):
|
|||
if partial.get('tel'):
|
||||
messages.success(request, f"Email déja connu. tel déja connu", extra_tags='tel')
|
||||
return HttpResponseRedirect(f'#demande_nom_prenom_tel')
|
||||
|
||||
# nouveau membre crée, on demande la suite.
|
||||
elif r.status_code == 202:
|
||||
messages.success(request, f"Carte liée au membre {data.get('email')}")
|
||||
return HttpResponseRedirect(f'#adhesionsuccess')
|
||||
|
||||
else:
|
||||
messages.error(request, f'Erreur {r.status_code} {r.text}')
|
||||
return HttpResponseRedirect(f'#erreur')
|
||||
|
||||
# suite de l'adhesion
|
||||
elif data.get('email') and data.get('name') and data.get('prenom') and data.get('tel'):
|
||||
sess = requests.Session()
|
||||
configuration = Configuration.get_solo()
|
||||
r = sess.post(
|
||||
f'{configuration.server_cashless}/api/billetterie_qrcode_adhesion',
|
||||
headers={
|
||||
'Authorization': f'Api-Key {configuration.key_cashless}'
|
||||
},
|
||||
data={
|
||||
'prenom': data.get('prenom'),
|
||||
'name': data.get('name'),
|
||||
'email': data.get('email'),
|
||||
'tel': data.get('tel'),
|
||||
'uuid_carte': carte.uuid,
|
||||
})
|
||||
|
||||
sess.close()
|
||||
@receiver(pre_save, sender=Paiement_stripe)
|
||||
def changement_paid_to_valid(sender, instance: Paiement_stripe, update_fields=None, **kwargs):
|
||||
# si l'instance vient d'être créé, ne rien faire :
|
||||
if instance.pk is None:
|
||||
pass
|
||||
else:
|
||||
paiementStripe = instance
|
||||
if paiementStripe.status == Paiement_stripe.PAID:
|
||||
# old_instance = Paiement_stripe.objects.get(pk=paiementStripe.pk)
|
||||
# print(f"on passe de {old_instance.status} à {paiementStripe.status}")
|
||||
# on passe de non payé -> payé
|
||||
metadata_db_json = paiementStripe.metadata_stripe
|
||||
metadata_db = json.loads(metadata_db_json)
|
||||
uuid_carte = metadata_db.get('recharge_carte_uuid')
|
||||
recharge_carte_montant = metadata_db.get('recharge_carte_montant')
|
||||
pk_adhesion = metadata_db.get('pk_adhesion')
|
||||
if recharge_carte_montant or pk_adhesion:
|
||||
carte = check_carte_local(uuid_carte)
|
||||
|
||||
# nouveau membre crée, on demande la suite.
|
||||
if r.status_code == 202 :
|
||||
messages.success(request, f"Merci ! Membre créé et carte liée.")
|
||||
data_pour_serveur_cashless = {
|
||||
'uuid': carte.uuid,
|
||||
'uuid_commande': paiementStripe.uuid,
|
||||
}
|
||||
|
||||
return HttpResponseRedirect(f'#adhesionsuccess')
|
||||
else :
|
||||
messages.error(request, f'Erreur {r.status_code} {r.text}')
|
||||
return HttpResponseRedirect(f'#erreur')
|
||||
if recharge_carte_montant:
|
||||
data_pour_serveur_cashless['recharge_qty'] = float(recharge_carte_montant)
|
||||
if pk_adhesion :
|
||||
adhesion = Article.objects.get(pk=pk_adhesion)
|
||||
data_pour_serveur_cashless['tarif_adhesion'] = adhesion.prix
|
||||
|
||||
|
||||
def postPaimentRecharge(paiementStripe: Paiement_stripe, request):
|
||||
if paiementStripe.status == Paiement_stripe.PAID:
|
||||
sess = requests.Session()
|
||||
configuration = Configuration.get_solo()
|
||||
r = sess.post(
|
||||
f'{configuration.server_cashless}/api/billetterie_endpoint',
|
||||
headers={
|
||||
'Authorization': f'Api-Key {configuration.key_cashless}'
|
||||
},
|
||||
data=data_pour_serveur_cashless,
|
||||
)
|
||||
|
||||
metadata_db_json = paiementStripe.metadata_stripe
|
||||
metadata_db = json.loads(metadata_db_json)
|
||||
uuid_carte = metadata_db.get('recharge_carte_uuid')
|
||||
total_rechargement = metadata_db.get('recharge_carte_montant')
|
||||
sess.close()
|
||||
print(
|
||||
f"{timezone.now()} demande au serveur cashless pour un rechargement. réponse : {r.status_code} ")
|
||||
|
||||
if uuid_carte and total_rechargement :
|
||||
if r.status_code == 200:
|
||||
# la commande a été envoyé au serveur cashless et validé.
|
||||
paiementStripe.status = Paiement_stripe.VALID
|
||||
|
||||
|
||||
# on vérifie toujours que la carte vienne bien du domain et Client tenant.
|
||||
carte = check_carte_local(uuid_carte)
|
||||
if carte.detail.origine != connection.tenant:
|
||||
logger.error(f"{timezone.now()} "
|
||||
f"postPaimentRecharge {uuid_carte} : "
|
||||
f"carte detail origine correspond pas : {carte.detail.origine} != {connection.tenant}")
|
||||
raise Http404
|
||||
|
||||
sess = requests.Session()
|
||||
configuration = Configuration.get_solo()
|
||||
r = sess.post(
|
||||
f'{configuration.server_cashless}/api/billetterie_endpoint',
|
||||
headers={
|
||||
'Authorization': f'Api-Key {configuration.key_cashless}'
|
||||
},
|
||||
data={
|
||||
'uuid': uuid_carte,
|
||||
'qty': float(total_rechargement),
|
||||
'uuid_commande': paiementStripe.uuid,
|
||||
})
|
||||
|
||||
sess.close()
|
||||
|
||||
logger.info(f"{timezone.now()} demande au serveur cashless pour un rechargement. réponse : {r.status_code} ")
|
||||
print (f"{timezone.now()} demande au serveur cashless pour un rechargement. réponse : {r.status_code} ")
|
||||
|
||||
if r.status_code == 200:
|
||||
# la commande a été envoyé au serveur cashless, on la met en validée
|
||||
paiementStripe.status = Paiement_stripe.VALID
|
||||
paiementStripe.save()
|
||||
|
||||
return HttpResponseRedirect(f'#success')
|
||||
|
||||
elif paiementStripe.status == Paiement_stripe.VALID:
|
||||
messages.success(request, f"Le paiement a déja été validé.")
|
||||
return HttpResponseRedirect(f'#historique')
|
||||
|
||||
return HttpResponseRedirect(f'#erreurpaiement')
|
||||
'''
|
||||
# return HttpResponseRedirect(f'#success')
|
||||
#
|
||||
# elif paiementStripe.status == Paiement_stripe.VALID:
|
||||
# messages.success(request, f"Le paiement a déja été validé.")
|
||||
# return HttpResponseRedirect(f'#historique')
|
||||
#
|
||||
# return HttpResponseRedirect(f'#erreurpaiement')
|
||||
'''
|
||||
|
|
|
|||
Loading…
Reference in New Issue