From 693bd93b51b28117ff553e5932c670baef36ceee Mon Sep 17 00:00:00 2001 From: nanoy Date: Thu, 13 Dec 2018 19:26:58 +0100 Subject: [PATCH] Ajustement et fix de bugs --- README.md | 2 +- gestion/migrations/0001_initial.py | 329 ++++++++++++++++-- gestion/migrations/0002_auto_20181123_0229.py | 33 -- gestion/migrations/0003_auto_20181123_0330.py | 22 -- gestion/migrations/0004_consumption.py | 25 -- ...keg_historicalkeghistory_historicalmenu.py | 266 -------------- gestion/migrations/0006_auto_20181126_1408.py | 84 ----- gestion/migrations/0007_auto_20181127_0902.py | 23 -- gestion/migrations/0008_auto_20181130_1904.py | 21 -- gestion/migrations/0009_auto_20181202_1628.py | 87 ----- gestion/migrations/0010_auto_20181205_0142.py | 74 ---- gestion/models.py | 10 - gestion/views.py | 7 + preferences/migrations/0001_initial.py | 83 ++++- .../migrations/0002_auto_20181009_1119.py | 33 -- ...eralpreferences_historicalpaymentmethod.py | 84 ----- .../migrations/0004_auto_20181126_1408.py | 24 -- templates/footer.html | 2 +- users/migrations/0001_initial.py | 118 ++++++- users/migrations/0002_auto_20181009_1119.py | 18 - users/migrations/0003_auto_20181123_0229.py | 17 - ...oricalschool_historicalwhitelisthistory.py | 106 ------ users/migrations/0005_auto_20181202_1628.py | 45 --- users/migrations/0006_auto_20181205_0142.py | 33 -- 24 files changed, 496 insertions(+), 1050 deletions(-) delete mode 100644 gestion/migrations/0002_auto_20181123_0229.py delete mode 100644 gestion/migrations/0003_auto_20181123_0330.py delete mode 100644 gestion/migrations/0004_consumption.py delete mode 100644 gestion/migrations/0005_historicalconsumption_historicalconsumptionhistory_historicalkeg_historicalkeghistory_historicalmenu.py delete mode 100644 gestion/migrations/0006_auto_20181126_1408.py delete mode 100644 gestion/migrations/0007_auto_20181127_0902.py delete mode 100644 gestion/migrations/0008_auto_20181130_1904.py delete mode 100644 gestion/migrations/0009_auto_20181202_1628.py delete mode 100644 gestion/migrations/0010_auto_20181205_0142.py delete mode 100644 preferences/migrations/0002_auto_20181009_1119.py delete mode 100644 preferences/migrations/0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod.py delete mode 100644 preferences/migrations/0004_auto_20181126_1408.py delete mode 100644 users/migrations/0002_auto_20181009_1119.py delete mode 100644 users/migrations/0003_auto_20181123_0229.py delete mode 100644 users/migrations/0004_historicalcotisationhistory_historicalprofile_historicalschool_historicalwhitelisthistory.py delete mode 100644 users/migrations/0005_auto_20181202_1628.py delete mode 100644 users/migrations/0006_auto_20181205_0142.py diff --git a/README.md b/README.md index 39471b3..10778a6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -CoopeV3 by Nanoy +# CoopeV3 by Nanoy ## Installation Pour installer le projet : diff --git a/gestion/migrations/0001_initial.py b/gestion/migrations/0001_initial.py index d155d5f..8e10374 100644 --- a/gestion/migrations/0001_initial.py +++ b/gestion/migrations/0001_initial.py @@ -1,9 +1,11 @@ -# Generated by Django 2.1 on 2018-10-04 09:32 +# Generated by Django 2.1 on 2018-12-13 18:26 from django.conf import settings +import django.core.validators from django.db import migrations, models import django.db.models.deletion import gestion.models +import simple_history.models class Migration(migrations.Migration): @@ -16,6 +18,17 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='Consumption', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(default=0)), + ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_global_taken', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Consommation totale', + }, + ), migrations.CreateModel( name='ConsumptionHistory', fields=[ @@ -25,7 +38,211 @@ class Migration(migrations.Migration): ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=7)), ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_selled', to=settings.AUTH_USER_MODEL)), ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_taken', to=settings.AUTH_USER_MODEL)), + ('paymentMethod', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod')), + ], + options={ + 'verbose_name': 'Consommation', + }, + ), + migrations.CreateModel( + name='HistoricalConsumption', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(default=0)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Consommation totale', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalConsumptionHistory', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(default=0)), + ('date', models.DateTimeField(blank=True, editable=False)), + ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=7)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ('paymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), + ], + options={ + 'verbose_name': 'historical Consommation', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalKeg', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('name', models.CharField(db_index=True, max_length=20, verbose_name='Nom')), + ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), + ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût')), + ('capacity', models.IntegerField(default=30, verbose_name='Capacité (L)')), + ('is_active', models.BooleanField(default=False, verbose_name='Actif')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ], + options={ + 'verbose_name': 'historical Fût', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalKegHistory', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('openingDate', models.DateTimeField(blank=True, editable=False)), + ('quantitySold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), + ('amountSold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), + ('closingDate', models.DateTimeField(blank=True, null=True)), + ('isCurrentKegHistory', models.BooleanField(default=True)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Historique de fût', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalMenu', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Nom')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), + ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), + ('is_active', models.BooleanField(default=False, verbose_name='Actif')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical menu', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalMenuHistory', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(default=0)), + ('date', models.DateTimeField(blank=True, editable=False)), + ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=7)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Historique de menu', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalProduct', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('name', models.CharField(db_index=True, max_length=40, verbose_name='Nom')), + ('amount', models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix de vente')), + ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), + ('stockBar', models.IntegerField(default=0, verbose_name='Stock en bar')), + ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), + ('category', models.CharField(choices=[('PP', 'Pinte Pression'), ('DP', 'Demi Pression'), ('GP', 'Galopin pression'), ('BT', 'Bouteille'), ('SO', 'Soft'), ('FO', 'Bouffe autre que panini'), ('PA', 'Bouffe pour panini')], default='FO', max_length=2, verbose_name='Catégorie')), + ('needQuantityButton', models.BooleanField(default=False, verbose_name='Bouton quantité')), + ('is_active', models.BooleanField(default=True, verbose_name='Actif')), + ('volume', models.PositiveIntegerField(default=0)), + ('deg', models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré')), + ('adherentRequired', models.BooleanField(default=True, verbose_name='Adhérent requis')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], + options={ + 'verbose_name': 'historical Produit', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalRefund', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('date', models.DateTimeField(blank=True, editable=False)), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Remboursement', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalReload', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), + ('date', models.DateTimeField(blank=True, editable=False)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('PaymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Rechargement', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='Keg', @@ -34,29 +251,36 @@ class Migration(migrations.Migration): ('name', models.CharField(max_length=20, unique=True, verbose_name='Nom')), ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), ('barcode', models.CharField(max_length=20, unique=True, verbose_name='Code barre')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Prix du fût')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût')), ('capacity', models.IntegerField(default=30, verbose_name='Capacité (L)')), ('is_active', models.BooleanField(default=False, verbose_name='Actif')), ], + options={ + 'verbose_name': 'Fût', + 'permissions': (('open_keg', 'Peut percuter les fûts'), ('close_keg', 'Peut fermer les fûts')), + }, ), migrations.CreateModel( name='KegHistory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('openingDate', models.DateTimeField(auto_now_add=True)), - ('quantitySold', models.DecimalField(decimal_places=2, max_digits=5)), - ('amountSold', models.DecimalField(decimal_places=2, max_digits=5)), - ('closingDate', models.DateTimeField()), + ('quantitySold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), + ('amountSold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), + ('closingDate', models.DateTimeField(blank=True, null=True)), ('isCurrentKegHistory', models.BooleanField(default=True)), - ('Keg', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Keg')), + ('keg', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Keg')), ], + options={ + 'verbose_name': 'Historique de fût', + }, ), migrations.CreateModel( name='Menu', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), ('barcode', models.CharField(max_length=20, unique=True, verbose_name='Code barre')), ('is_active', models.BooleanField(default=False, verbose_name='Actif')), ], @@ -67,65 +291,62 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField(default=0)), ('date', models.DateTimeField(auto_now_add=True)), - ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('PaymentMethod', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod')), + ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=7)), ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='menu_selled', to=settings.AUTH_USER_MODEL)), ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='menu_taken', to=settings.AUTH_USER_MODEL)), ('menu', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Menu')), + ('paymentMethod', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod')), ], + options={ + 'verbose_name': 'Historique de menu', + }, ), migrations.CreateModel( name='Product', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=40, unique=True, verbose_name='Nom')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Prix de vente')), + ('amount', models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix de vente')), ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), ('stockBar', models.IntegerField(default=0, verbose_name='Stock en bar')), ('barcode', models.CharField(max_length=20, unique=True, verbose_name='Code barre')), ('category', models.CharField(choices=[('PP', 'Pinte Pression'), ('DP', 'Demi Pression'), ('GP', 'Galopin pression'), ('BT', 'Bouteille'), ('SO', 'Soft'), ('FO', 'Bouffe autre que panini'), ('PA', 'Bouffe pour panini')], default='FO', max_length=2, verbose_name='Catégorie')), ('needQuantityButton', models.BooleanField(default=False, verbose_name='Bouton quantité')), ('is_active', models.BooleanField(default=True, verbose_name='Actif')), - ('volume', models.IntegerField(default=0)), - ('deg', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Degré')), - ], - ), - migrations.CreateModel( - name='Raming', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateTimeField(auto_now_add=True)), - ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), - ('keg', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Keg')), + ('volume', models.PositiveIntegerField(default=0)), + ('deg', models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré')), + ('adherentRequired', models.BooleanField(default=True, verbose_name='Adhérent requis')), ], + options={ + 'verbose_name': 'Produit', + }, ), migrations.CreateModel( name='Refund', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(auto_now_add=True)), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='refund_realized', to=settings.AUTH_USER_MODEL)), ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='refund_taken', to=settings.AUTH_USER_MODEL, verbose_name='Client')), ], + options={ + 'verbose_name': 'Remboursement', + }, ), migrations.CreateModel( name='Reload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), + ('amount', models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), ('date', models.DateTimeField(auto_now_add=True)), ('PaymentMethod', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod', verbose_name='Moyen de paiement')), ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='reload_realized', to=settings.AUTH_USER_MODEL)), ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='reload_taken', to=settings.AUTH_USER_MODEL, verbose_name='Client')), ], - ), - migrations.CreateModel( - name='Stocking', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('date', models.DateTimeField(auto_now_add=True)), - ], + options={ + 'verbose_name': 'Rechargement', + }, ), migrations.AddField( model_name='menu', @@ -148,18 +369,58 @@ class Migration(migrations.Migration): field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='futp', to='gestion.Product', validators=[gestion.models.isPinte]), ), migrations.AddField( - model_name='consumptionhistory', + model_name='historicalmenuhistory', name='menu', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='gestion.MenuHistory'), + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Menu'), ), migrations.AddField( - model_name='consumptionhistory', + model_name='historicalmenuhistory', name='paymentMethod', - field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod'), + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod'), + ), + migrations.AddField( + model_name='historicalkeghistory', + name='keg', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Keg'), + ), + migrations.AddField( + model_name='historicalkeg', + name='demi', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product'), + ), + migrations.AddField( + model_name='historicalkeg', + name='galopin', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product'), + ), + migrations.AddField( + model_name='historicalkeg', + name='history_user', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL), + ), + migrations.AddField( + model_name='historicalkeg', + name='pinte', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product'), + ), + migrations.AddField( + model_name='historicalconsumptionhistory', + name='product', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product'), + ), + migrations.AddField( + model_name='historicalconsumption', + name='product', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product'), ), migrations.AddField( model_name='consumptionhistory', name='product', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Product'), ), + migrations.AddField( + model_name='consumption', + name='product', + field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Product'), + ), ] diff --git a/gestion/migrations/0002_auto_20181123_0229.py b/gestion/migrations/0002_auto_20181123_0229.py deleted file mode 100644 index aaaebaa..0000000 --- a/gestion/migrations/0002_auto_20181123_0229.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.1 on 2018-11-23 01:29 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0001_initial'), - ] - - operations = [ - migrations.RenameField( - model_name='keghistory', - old_name='Keg', - new_name='keg', - ), - migrations.AlterField( - model_name='keghistory', - name='amountSold', - field=models.DecimalField(decimal_places=2, default=0, max_digits=5), - ), - migrations.AlterField( - model_name='keghistory', - name='closingDate', - field=models.DateTimeField(blank=True, null=True), - ), - migrations.AlterField( - model_name='keghistory', - name='quantitySold', - field=models.DecimalField(decimal_places=2, default=0, max_digits=5), - ), - ] diff --git a/gestion/migrations/0003_auto_20181123_0330.py b/gestion/migrations/0003_auto_20181123_0330.py deleted file mode 100644 index b0e98c5..0000000 --- a/gestion/migrations/0003_auto_20181123_0330.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 2.1 on 2018-11-23 02:30 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0002_auto_20181123_0229'), - ] - - operations = [ - migrations.AlterModelOptions( - name='keg', - options={'permissions': (('open_keg', 'Peut percuter les fûts'), ('close_keg', 'Peut fermer les fûts'))}, - ), - migrations.AddField( - model_name='product', - name='adherentRequired', - field=models.BooleanField(default=True), - ), - ] diff --git a/gestion/migrations/0004_consumption.py b/gestion/migrations/0004_consumption.py deleted file mode 100644 index cbb1f18..0000000 --- a/gestion/migrations/0004_consumption.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 2.1 on 2018-11-23 13:03 - -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), - ('gestion', '0003_auto_20181123_0330'), - ] - - operations = [ - migrations.CreateModel( - name='Consumption', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('quantity', models.PositiveIntegerField(default=0)), - ('customer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_global_taken', to=settings.AUTH_USER_MODEL)), - ('product', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Product')), - ], - ), - ] diff --git a/gestion/migrations/0005_historicalconsumption_historicalconsumptionhistory_historicalkeg_historicalkeghistory_historicalmenu.py b/gestion/migrations/0005_historicalconsumption_historicalconsumptionhistory_historicalkeg_historicalkeghistory_historicalmenu.py deleted file mode 100644 index ae67db9..0000000 --- a/gestion/migrations/0005_historicalconsumption_historicalconsumptionhistory_historicalkeg_historicalkeghistory_historicalmenu.py +++ /dev/null @@ -1,266 +0,0 @@ -# Generated by Django 2.1 on 2018-11-26 07:57 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import simple_history.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('preferences', '0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('gestion', '0004_consumption'), - ] - - operations = [ - migrations.CreateModel( - name='HistoricalConsumption', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('quantity', models.PositiveIntegerField(default=0)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('product', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product')), - ], - options={ - 'verbose_name': 'historical consumption', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalConsumptionHistory', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('quantity', models.PositiveIntegerField(default=0)), - ('date', models.DateTimeField(blank=True, editable=False)), - ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=7)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('menu', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.MenuHistory')), - ('paymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), - ('product', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product')), - ], - options={ - 'verbose_name': 'historical consumption history', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalKeg', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('name', models.CharField(db_index=True, max_length=20, verbose_name='Nom')), - ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), - ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Prix du fût')), - ('capacity', models.IntegerField(default=30, verbose_name='Capacité (L)')), - ('is_active', models.BooleanField(default=False, verbose_name='Actif')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('demi', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product')), - ('galopin', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product')), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('pinte', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Product')), - ], - options={ - 'verbose_name': 'historical keg', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalKegHistory', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('openingDate', models.DateTimeField(blank=True, editable=False)), - ('quantitySold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('amountSold', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('closingDate', models.DateTimeField(blank=True, null=True)), - ('isCurrentKegHistory', models.BooleanField(default=True)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('keg', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Keg')), - ], - options={ - 'verbose_name': 'historical keg history', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalMenu', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), - ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), - ('is_active', models.BooleanField(default=False, verbose_name='Actif')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical menu', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalMenuHistory', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('quantity', models.PositiveIntegerField(default=0)), - ('date', models.DateTimeField(blank=True, editable=False)), - ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('PaymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('menu', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Menu')), - ], - options={ - 'verbose_name': 'historical menu history', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalProduct', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('name', models.CharField(db_index=True, max_length=40, verbose_name='Nom')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Prix de vente')), - ('stockHold', models.IntegerField(default=0, verbose_name='Stock en soute')), - ('stockBar', models.IntegerField(default=0, verbose_name='Stock en bar')), - ('barcode', models.CharField(db_index=True, max_length=20, verbose_name='Code barre')), - ('category', models.CharField(choices=[('PP', 'Pinte Pression'), ('DP', 'Demi Pression'), ('GP', 'Galopin pression'), ('BT', 'Bouteille'), ('SO', 'Soft'), ('FO', 'Bouffe autre que panini'), ('PA', 'Bouffe pour panini')], default='FO', max_length=2, verbose_name='Catégorie')), - ('needQuantityButton', models.BooleanField(default=False, verbose_name='Bouton quantité')), - ('is_active', models.BooleanField(default=True, verbose_name='Actif')), - ('volume', models.IntegerField(default=0)), - ('deg', models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Degré')), - ('adherentRequired', models.BooleanField(default=True)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical product', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalRaming', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('date', models.DateTimeField(blank=True, editable=False)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('keg', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Keg')), - ], - options={ - 'verbose_name': 'historical raming', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalRefund', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('date', models.DateTimeField(blank=True, editable=False)), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical refund', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalReload', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), - ('date', models.DateTimeField(blank=True, editable=False)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('PaymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('customer', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical reload', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalStocking', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('date', models.DateTimeField(blank=True, editable=False)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical stocking', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - ] diff --git a/gestion/migrations/0006_auto_20181126_1408.py b/gestion/migrations/0006_auto_20181126_1408.py deleted file mode 100644 index adf6b47..0000000 --- a/gestion/migrations/0006_auto_20181126_1408.py +++ /dev/null @@ -1,84 +0,0 @@ -# Generated by Django 2.1 on 2018-11-26 13:08 - -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0005_historicalconsumption_historicalconsumptionhistory_historicalkeg_historicalkeghistory_historicalmenu'), - ] - - operations = [ - migrations.AlterField( - model_name='historicalkeg', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût'), - ), - migrations.AlterField( - model_name='historicalmenu', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='historicalproduct', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix de vente'), - ), - migrations.AlterField( - model_name='historicalproduct', - name='deg', - field=models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré'), - ), - migrations.AlterField( - model_name='historicalproduct', - name='volume', - field=models.PositiveIntegerField(default=0), - ), - migrations.AlterField( - model_name='historicalrefund', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='historicalreload', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='keg', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût'), - ), - migrations.AlterField( - model_name='menu', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='product', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix de vente'), - ), - migrations.AlterField( - model_name='product', - name='deg', - field=models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré'), - ), - migrations.AlterField( - model_name='product', - name='volume', - field=models.PositiveIntegerField(default=0), - ), - migrations.AlterField( - model_name='refund', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='reload', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - ] diff --git a/gestion/migrations/0007_auto_20181127_0902.py b/gestion/migrations/0007_auto_20181127_0902.py deleted file mode 100644 index b4c58bb..0000000 --- a/gestion/migrations/0007_auto_20181127_0902.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 2.1 on 2018-11-27 08:02 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0006_auto_20181126_1408'), - ] - - operations = [ - migrations.RenameField( - model_name='historicalmenuhistory', - old_name='PaymentMethod', - new_name='paymentMethod', - ), - migrations.RenameField( - model_name='menuhistory', - old_name='PaymentMethod', - new_name='paymentMethod', - ), - ] diff --git a/gestion/migrations/0008_auto_20181130_1904.py b/gestion/migrations/0008_auto_20181130_1904.py deleted file mode 100644 index da35ba8..0000000 --- a/gestion/migrations/0008_auto_20181130_1904.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 2.1 on 2018-11-30 18:04 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0007_auto_20181127_0902'), - ] - - operations = [ - migrations.RemoveField( - model_name='consumptionhistory', - name='menu', - ), - migrations.RemoveField( - model_name='historicalconsumptionhistory', - name='menu', - ), - ] diff --git a/gestion/migrations/0009_auto_20181202_1628.py b/gestion/migrations/0009_auto_20181202_1628.py deleted file mode 100644 index f4ef280..0000000 --- a/gestion/migrations/0009_auto_20181202_1628.py +++ /dev/null @@ -1,87 +0,0 @@ -# Generated by Django 2.1 on 2018-12-02 15:28 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0008_auto_20181130_1904'), - ] - - operations = [ - migrations.RemoveField( - model_name='historicalstocking', - name='history_user', - ), - migrations.DeleteModel( - name='Stocking', - ), - migrations.AlterModelOptions( - name='consumption', - options={'verbose_name': 'Consommation totale'}, - ), - migrations.AlterModelOptions( - name='consumptionhistory', - options={'verbose_name': 'Consommation'}, - ), - migrations.AlterModelOptions( - name='historicalconsumption', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Consommation totale'}, - ), - migrations.AlterModelOptions( - name='historicalconsumptionhistory', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Consommation'}, - ), - migrations.AlterModelOptions( - name='historicalkeg', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Fût'}, - ), - migrations.AlterModelOptions( - name='historicalkeghistory', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Historique de fût'}, - ), - migrations.AlterModelOptions( - name='historicalmenuhistory', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Historique de menu'}, - ), - migrations.AlterModelOptions( - name='historicalproduct', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Produit'}, - ), - migrations.AlterModelOptions( - name='historicalrefund', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Remboursement'}, - ), - migrations.AlterModelOptions( - name='historicalreload', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Rechargement'}, - ), - migrations.AlterModelOptions( - name='keg', - options={'permissions': (('open_keg', 'Peut percuter les fûts'), ('close_keg', 'Peut fermer les fûts')), 'verbose_name': 'Fût'}, - ), - migrations.AlterModelOptions( - name='keghistory', - options={'verbose_name': 'Historique de fût'}, - ), - migrations.AlterModelOptions( - name='menuhistory', - options={'verbose_name': 'Historique de menu'}, - ), - migrations.AlterModelOptions( - name='product', - options={'verbose_name': 'Produit'}, - ), - migrations.AlterModelOptions( - name='refund', - options={'verbose_name': 'Remboursement'}, - ), - migrations.AlterModelOptions( - name='reload', - options={'verbose_name': 'Rechargement'}, - ), - migrations.DeleteModel( - name='HistoricalStocking', - ), - ] diff --git a/gestion/migrations/0010_auto_20181205_0142.py b/gestion/migrations/0010_auto_20181205_0142.py deleted file mode 100644 index 931e1ae..0000000 --- a/gestion/migrations/0010_auto_20181205_0142.py +++ /dev/null @@ -1,74 +0,0 @@ -# Generated by Django 2.1 on 2018-12-05 00:42 - -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('gestion', '0009_auto_20181202_1628'), - ] - - operations = [ - migrations.AlterField( - model_name='historicalkeg', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût'), - ), - migrations.AlterField( - model_name='historicalmenu', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='historicalmenuhistory', - name='amount', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - migrations.AlterField( - model_name='historicalproduct', - name='adherentRequired', - field=models.BooleanField(default=True, verbose_name='Adhérent requis'), - ), - migrations.AlterField( - model_name='historicalrefund', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='historicalreload', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='keg', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Prix du fût'), - ), - migrations.AlterField( - model_name='menu', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='menuhistory', - name='amount', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - migrations.AlterField( - model_name='product', - name='adherentRequired', - field=models.BooleanField(default=True, verbose_name='Adhérent requis'), - ), - migrations.AlterField( - model_name='refund', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='reload', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=7, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - ] diff --git a/gestion/models.py b/gestion/models.py index 95cda26..33828d6 100644 --- a/gestion/models.py +++ b/gestion/models.py @@ -135,16 +135,6 @@ class Reload(models.Model): def __str__(self): return "Rechargement effectue par {0} le {1} ({2} euros, coopeman : {3})".format(self.customer, self.date, self.amount, self.coopeman) - -class Raming(models.Model): - keg = models.ForeignKey(Keg, on_delete=models.PROTECT) - coopeman = models.ForeignKey(User, on_delete=models.PROTECT) - date = models.DateTimeField(auto_now_add=True) - history = HistoricalRecords() - - def __str__(self): - return "Percussion d'un {0} effectué par {1} le {2}".format(self.keg, self.coopeman, self.date) - class Refund(models.Model): """ Stores refunds diff --git a/gestion/views.py b/gestion/views.py index d30dc70..c2677f7 100644 --- a/gestion/views.py +++ b/gestion/views.py @@ -233,6 +233,9 @@ def cancel_consumption(request, pk): user = consumption.customer user.profile.debit -= consumption.amount user.save() + consumptionT = Consumption.objects.get(customer=user, product=consumption.product) + consumptionT.quantity -= consumption.quantity + consumptionT.save() consumption.delete() messages.success(request, "La consommation a bien été annulée") return redirect(reverse('users:profile', kwargs={'pk': user.pk})) @@ -251,6 +254,10 @@ def cancel_menu(request, pk): user = menu_history.customer user.profile.debit -= menu_history.amount user.save() + for product in manu_history.menu.articles: + consumptionT = Consumption.objects.get(customer=user, product=product) + consumptionT -= menu_history.quantity + consumptionT.save() menu_history.delete() messages.success(request, "La consommation du menu a bien été annulée") return redirect(reverse('users:profile', kwargs={'pk': user.pk})) diff --git a/preferences/migrations/0001_initial.py b/preferences/migrations/0001_initial.py index d587112..cc0e1ab 100644 --- a/preferences/migrations/0001_initial.py +++ b/preferences/migrations/0001_initial.py @@ -1,6 +1,10 @@ -# Generated by Django 2.1 on 2018-10-04 09:32 +# Generated by Django 2.1 on 2018-12-13 18:26 +from django.conf import settings +import django.core.validators from django.db import migrations, models +import django.db.models.deletion +import simple_history.models class Migration(migrations.Migration): @@ -8,6 +12,7 @@ class Migration(migrations.Migration): initial = True dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ @@ -15,7 +20,7 @@ class Migration(migrations.Migration): name='Cotisation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, null=True, verbose_name='Montant')), + ('amount', models.DecimalField(decimal_places=2, max_digits=5, null=True, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), ('duration', models.PositiveIntegerField(verbose_name='Durée de la cotisation (jours)')), ], ), @@ -34,14 +39,82 @@ class Migration(migrations.Migration): ('grocer', models.CharField(blank=True, max_length=255)), ], ), + migrations.CreateModel( + name='HistoricalCotisation', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('amount', models.DecimalField(decimal_places=2, max_digits=5, null=True, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant')), + ('duration', models.PositiveIntegerField(verbose_name='Durée de la cotisation (jours)')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical cotisation', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalGeneralPreferences', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('is_active', models.BooleanField(default=True)), + ('active_message', models.TextField(blank=True)), + ('global_message', models.TextField(blank=True)), + ('president', models.CharField(blank=True, max_length=255)), + ('vice_president', models.CharField(blank=True, max_length=255)), + ('treasurer', models.CharField(blank=True, max_length=255)), + ('secretary', models.CharField(blank=True, max_length=255)), + ('brewer', models.CharField(blank=True, max_length=255)), + ('grocer', models.CharField(blank=True, max_length=255)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical general preferences', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalPaymentMethod', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Nom')), + ('is_active', models.BooleanField(default=True, verbose_name='Actif')), + ('is_usable_in_cotisation', models.BooleanField(default=True, verbose_name='Cotisations ?')), + ('is_usable_in_reload', models.BooleanField(default=True, verbose_name='Rechargements ?')), + ('affect_balance', models.BooleanField(default=False, verbose_name='Affecte le solde')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical payment method', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), migrations.CreateModel( name='PaymentMethod', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('is_active', models.BooleanField(default=True)), - ('is_usable_in_cotisation', models.BooleanField(default=True)), - ('affect_balance', models.BooleanField(default=False)), + ('is_active', models.BooleanField(default=True, verbose_name='Actif')), + ('is_usable_in_cotisation', models.BooleanField(default=True, verbose_name='Cotisations ?')), + ('is_usable_in_reload', models.BooleanField(default=True, verbose_name='Rechargements ?')), + ('affect_balance', models.BooleanField(default=False, verbose_name='Affecte le solde')), ], ), ] diff --git a/preferences/migrations/0002_auto_20181009_1119.py b/preferences/migrations/0002_auto_20181009_1119.py deleted file mode 100644 index 8bcfa51..0000000 --- a/preferences/migrations/0002_auto_20181009_1119.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.1 on 2018-10-09 09:19 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('preferences', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='paymentmethod', - name='is_usable_in_reload', - field=models.BooleanField(default=True, verbose_name='Rechargements ?'), - ), - migrations.AlterField( - model_name='paymentmethod', - name='affect_balance', - field=models.BooleanField(default=False, verbose_name='Affecte le solde'), - ), - migrations.AlterField( - model_name='paymentmethod', - name='is_active', - field=models.BooleanField(default=True, verbose_name='Actif'), - ), - migrations.AlterField( - model_name='paymentmethod', - name='is_usable_in_cotisation', - field=models.BooleanField(default=True, verbose_name='Cotisations ?'), - ), - ] diff --git a/preferences/migrations/0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod.py b/preferences/migrations/0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod.py deleted file mode 100644 index 6fe6bbb..0000000 --- a/preferences/migrations/0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod.py +++ /dev/null @@ -1,84 +0,0 @@ -# Generated by Django 2.1 on 2018-11-26 07:57 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import simple_history.models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('preferences', '0002_auto_20181009_1119'), - ] - - operations = [ - migrations.CreateModel( - name='HistoricalCotisation', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, null=True, verbose_name='Montant')), - ('duration', models.PositiveIntegerField(verbose_name='Durée de la cotisation (jours)')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical cotisation', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalGeneralPreferences', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('is_active', models.BooleanField(default=True)), - ('active_message', models.TextField(blank=True)), - ('global_message', models.TextField(blank=True)), - ('president', models.CharField(blank=True, max_length=255)), - ('vice_president', models.CharField(blank=True, max_length=255)), - ('treasurer', models.CharField(blank=True, max_length=255)), - ('secretary', models.CharField(blank=True, max_length=255)), - ('brewer', models.CharField(blank=True, max_length=255)), - ('grocer', models.CharField(blank=True, max_length=255)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical general preferences', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalPaymentMethod', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('is_active', models.BooleanField(default=True, verbose_name='Actif')), - ('is_usable_in_cotisation', models.BooleanField(default=True, verbose_name='Cotisations ?')), - ('is_usable_in_reload', models.BooleanField(default=True, verbose_name='Rechargements ?')), - ('affect_balance', models.BooleanField(default=False, verbose_name='Affecte le solde')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical payment method', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - ] diff --git a/preferences/migrations/0004_auto_20181126_1408.py b/preferences/migrations/0004_auto_20181126_1408.py deleted file mode 100644 index 0a32328..0000000 --- a/preferences/migrations/0004_auto_20181126_1408.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.1 on 2018-11-26 13:08 - -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('preferences', '0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod'), - ] - - operations = [ - migrations.AlterField( - model_name='cotisation', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, null=True, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - migrations.AlterField( - model_name='historicalcotisation', - name='amount', - field=models.DecimalField(decimal_places=2, max_digits=5, null=True, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Montant'), - ), - ] diff --git a/templates/footer.html b/templates/footer.html index 176019f..a0ffad0 100644 --- a/templates/footer.html +++ b/templates/footer.html @@ -39,5 +39,5 @@
  • Facebook
  • - + diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py index 4cc0b68..56d50eb 100644 --- a/users/migrations/0001_initial.py +++ b/users/migrations/0001_initial.py @@ -1,8 +1,9 @@ -# Generated by Django 2.1 on 2018-10-04 09:32 +# Generated by Django 2.1 on 2018-12-13 18:26 from django.conf import settings from django.db import migrations, models import django.db.models.deletion +import simple_history.models class Migration(migrations.Migration): @@ -29,22 +30,118 @@ class Migration(migrations.Migration): ('paymentMethod', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod', verbose_name='Moyen de paiement')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Client')), ], + options={ + 'verbose_name': 'Historique cotisation', + 'permissions': (('validate_cotisationhistory', 'Peut (in)valider les cotisations'),), + }, + ), + migrations.CreateModel( + name='HistoricalCotisationHistory', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), + ('duration', models.PositiveIntegerField(verbose_name='Durée')), + ('paymentDate', models.DateTimeField(blank=True, editable=False, verbose_name='Date du paiement')), + ('endDate', models.DateTimeField(verbose_name='Fin de la cotisation')), + ('valid', models.IntegerField(choices=[(0, 'En attente de validation'), (1, 'Validée'), (2, 'Invalidée')], default=0)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('cotisation', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.Cotisation')), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ('paymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), + ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Historique cotisation', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalProfile', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('credit', models.DecimalField(decimal_places=2, default=0, max_digits=7)), + ('debit', models.DecimalField(decimal_places=2, default=0, max_digits=7)), + ('cotisationEnd', models.DateTimeField(blank=True, null=True)), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Profil', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalSchool', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Nom')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical École', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), + ), + migrations.CreateModel( + name='HistoricalWhiteListHistory', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('paymentDate', models.DateTimeField(blank=True, editable=False)), + ('endDate', models.DateTimeField()), + ('duration', models.PositiveIntegerField(help_text="Durée de l'accès gracieux en jour", verbose_name='Durée')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_change_reason', models.CharField(max_length=100, null=True)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'historical Historique accès gracieux', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('credit', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('debit', models.DecimalField(decimal_places=2, default=0, max_digits=5)), + ('credit', models.DecimalField(decimal_places=2, default=0, max_digits=7)), + ('debit', models.DecimalField(decimal_places=2, default=0, max_digits=7)), ('cotisationEnd', models.DateTimeField(blank=True, null=True)), ], + options={ + 'verbose_name': 'Profil', + }, ), migrations.CreateModel( name='School', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255)), + ('name', models.CharField(max_length=255, verbose_name='Nom')), ], + options={ + 'verbose_name': 'École', + }, ), migrations.CreateModel( name='WhiteListHistory', @@ -56,6 +153,9 @@ class Migration(migrations.Migration): ('coopeman', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='whitelist_made', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], + options={ + 'verbose_name': 'Historique accès gracieux', + }, ), migrations.AddField( model_name='profile', @@ -67,4 +167,14 @@ class Migration(migrations.Migration): name='user', field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), + migrations.AddField( + model_name='historicalprofile', + name='school', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='users.School'), + ), + migrations.AddField( + model_name='historicalprofile', + name='user', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL), + ), ] diff --git a/users/migrations/0002_auto_20181009_1119.py b/users/migrations/0002_auto_20181009_1119.py deleted file mode 100644 index 768d95e..0000000 --- a/users/migrations/0002_auto_20181009_1119.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 2.1 on 2018-10-09 09:19 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='school', - name='name', - field=models.CharField(max_length=255, verbose_name='Nom'), - ), - ] diff --git a/users/migrations/0003_auto_20181123_0229.py b/users/migrations/0003_auto_20181123_0229.py deleted file mode 100644 index 87c2837..0000000 --- a/users/migrations/0003_auto_20181123_0229.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.1 on 2018-11-23 01:29 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0002_auto_20181009_1119'), - ] - - operations = [ - migrations.AlterModelOptions( - name='cotisationhistory', - options={'permissions': (('validate_consumptionhistory', 'Peut (in)valider les cotisations'),)}, - ), - ] diff --git a/users/migrations/0004_historicalcotisationhistory_historicalprofile_historicalschool_historicalwhitelisthistory.py b/users/migrations/0004_historicalcotisationhistory_historicalprofile_historicalschool_historicalwhitelisthistory.py deleted file mode 100644 index 73df555..0000000 --- a/users/migrations/0004_historicalcotisationhistory_historicalprofile_historicalschool_historicalwhitelisthistory.py +++ /dev/null @@ -1,106 +0,0 @@ -# Generated by Django 2.1 on 2018-11-26 07:57 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import simple_history.models - - -class Migration(migrations.Migration): - - dependencies = [ - ('preferences', '0003_historicalcotisation_historicalgeneralpreferences_historicalpaymentmethod'), - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('users', '0003_auto_20181123_0229'), - ] - - operations = [ - migrations.CreateModel( - name='HistoricalCotisationHistory', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='Montant')), - ('duration', models.PositiveIntegerField(verbose_name='Durée')), - ('paymentDate', models.DateTimeField(blank=True, editable=False, verbose_name='Date du paiement')), - ('endDate', models.DateTimeField(verbose_name='Fin de la cotisation')), - ('valid', models.IntegerField(choices=[(0, 'En attente de validation'), (1, 'Validée'), (2, 'Invalidée')], default=0)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('cotisation', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.Cotisation')), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('paymentMethod', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='preferences.PaymentMethod')), - ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical cotisation history', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalProfile', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('credit', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('debit', models.DecimalField(decimal_places=2, default=0, max_digits=5)), - ('cotisationEnd', models.DateTimeField(blank=True, null=True)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('school', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='users.School')), - ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical profile', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalSchool', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Nom')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical school', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - migrations.CreateModel( - name='HistoricalWhiteListHistory', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('paymentDate', models.DateTimeField(blank=True, editable=False)), - ('endDate', models.DateTimeField()), - ('duration', models.PositiveIntegerField(help_text="Durée de l'accès gracieux en jour", verbose_name='Durée')), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_date', models.DateTimeField()), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('coopeman', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical white list history', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - bases=(simple_history.models.HistoricalChanges, models.Model), - ), - ] diff --git a/users/migrations/0005_auto_20181202_1628.py b/users/migrations/0005_auto_20181202_1628.py deleted file mode 100644 index 99a1031..0000000 --- a/users/migrations/0005_auto_20181202_1628.py +++ /dev/null @@ -1,45 +0,0 @@ -# Generated by Django 2.1 on 2018-12-02 15:28 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0004_historicalcotisationhistory_historicalprofile_historicalschool_historicalwhitelisthistory'), - ] - - operations = [ - migrations.AlterModelOptions( - name='cotisationhistory', - options={'permissions': (('validate_cotisationhistory', 'Peut (in)valider les cotisations'),), 'verbose_name': 'Historique cotisation'}, - ), - migrations.AlterModelOptions( - name='historicalcotisationhistory', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Historique cotisation'}, - ), - migrations.AlterModelOptions( - name='historicalprofile', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Profil'}, - ), - migrations.AlterModelOptions( - name='historicalschool', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical École'}, - ), - migrations.AlterModelOptions( - name='historicalwhitelisthistory', - options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Historique accès gracieux'}, - ), - migrations.AlterModelOptions( - name='profile', - options={'verbose_name': 'Profil'}, - ), - migrations.AlterModelOptions( - name='school', - options={'verbose_name': 'École'}, - ), - migrations.AlterModelOptions( - name='whitelisthistory', - options={'verbose_name': 'Historique accès gracieux'}, - ), - ] diff --git a/users/migrations/0006_auto_20181205_0142.py b/users/migrations/0006_auto_20181205_0142.py deleted file mode 100644 index 97973d6..0000000 --- a/users/migrations/0006_auto_20181205_0142.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.1 on 2018-12-05 00:42 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('users', '0005_auto_20181202_1628'), - ] - - operations = [ - migrations.AlterField( - model_name='historicalprofile', - name='credit', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - migrations.AlterField( - model_name='historicalprofile', - name='debit', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - migrations.AlterField( - model_name='profile', - name='credit', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - migrations.AlterField( - model_name='profile', - name='debit', - field=models.DecimalField(decimal_places=2, default=0, max_digits=7), - ), - ]