mirror of https://github.com/nanoy42/coope
9 changed files with 617 additions and 60 deletions
@ -0,0 +1,165 @@ |
|||||
|
# Generated by Django 2.1 on 2019-02-27 07:59 |
||||
|
|
||||
|
from django.conf import settings |
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('gestion', '0005_auto_20190106_0018'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='consumption', |
||||
|
name='customer', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_global_taken', to=settings.AUTH_USER_MODEL, verbose_name='Client'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumption', |
||||
|
name='product', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Product', verbose_name='Produit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumption', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumptionhistory', |
||||
|
name='amount', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Montant'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumptionhistory', |
||||
|
name='customer', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='consumption_taken', to=settings.AUTH_USER_MODEL, verbose_name='Client'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumptionhistory', |
||||
|
name='paymentMethod', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod', verbose_name='Moyen de paiement'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumptionhistory', |
||||
|
name='product', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Product', verbose_name='Produit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='consumptionhistory', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalconsumption', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalconsumptionhistory', |
||||
|
name='amount', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Montant'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalconsumptionhistory', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalkeghistory', |
||||
|
name='amountSold', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Somme vendue'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalkeghistory', |
||||
|
name='closingDate', |
||||
|
field=models.DateTimeField(blank=True, null=True, verbose_name='Date fermeture'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalkeghistory', |
||||
|
name='isCurrentKegHistory', |
||||
|
field=models.BooleanField(default=True, verbose_name='Actuel'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalkeghistory', |
||||
|
name='openingDate', |
||||
|
field=models.DateTimeField(blank=True, editable=False, verbose_name='Date ouverture'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalkeghistory', |
||||
|
name='quantitySold', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Quantité vendue'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalmenuhistory', |
||||
|
name='amount', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Montant'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalmenuhistory', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalproduct', |
||||
|
name='category', |
||||
|
field=models.CharField(choices=[('PP', 'Pinte Pression'), ('DP', 'Demi Pression'), ('GP', 'Galopin pression'), ('BT', 'Bouteille'), ('SO', 'Soft'), ('FO', 'En-cas'), ('PA', 'Ingredients panini')], default='FO', max_length=2, verbose_name='Catégorie'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='amountSold', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Somme vendue'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='closingDate', |
||||
|
field=models.DateTimeField(blank=True, null=True, verbose_name='Date fermeture'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='isCurrentKegHistory', |
||||
|
field=models.BooleanField(default=True, verbose_name='Actuel'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='keg', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Keg', verbose_name='Fût'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='openingDate', |
||||
|
field=models.DateTimeField(auto_now_add=True, verbose_name='Date ouverture'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='keghistory', |
||||
|
name='quantitySold', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, verbose_name='Quantité vendue'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='menuhistory', |
||||
|
name='amount', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Montant'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='menuhistory', |
||||
|
name='customer', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='menu_taken', to=settings.AUTH_USER_MODEL, verbose_name='Client'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='menuhistory', |
||||
|
name='paymentMethod', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='preferences.PaymentMethod', verbose_name='Moyen de paiement'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='menuhistory', |
||||
|
name='quantity', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Quantité'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='product', |
||||
|
name='category', |
||||
|
field=models.CharField(choices=[('PP', 'Pinte Pression'), ('DP', 'Demi Pression'), ('GP', 'Galopin pression'), ('BT', 'Bouteille'), ('SO', 'Soft'), ('FO', 'En-cas'), ('PA', 'Ingredients panini')], default='FO', max_length=2, verbose_name='Catégorie'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,199 @@ |
|||||
|
# Generated by Django 2.1 on 2019-02-27 07:59 |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('preferences', '0008_auto_20190218_1802'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterModelOptions( |
||||
|
name='generalpreferences', |
||||
|
options={'verbose_name': 'Préférences générales', 'verbose_name_plural': 'Préférences générales'}, |
||||
|
), |
||||
|
migrations.AlterModelOptions( |
||||
|
name='historicalgeneralpreferences', |
||||
|
options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Préférences générales'}, |
||||
|
), |
||||
|
migrations.AlterModelOptions( |
||||
|
name='historicalpaymentmethod', |
||||
|
options={'get_latest_by': 'history_date', 'ordering': ('-history_date', '-history_id'), 'verbose_name': 'historical Moyen de paiement'}, |
||||
|
), |
||||
|
migrations.AlterModelOptions( |
||||
|
name='paymentmethod', |
||||
|
options={'verbose_name': 'Moyen de paiement', 'verbose_name_plural': 'Moyens de paiement'}, |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='active_message', |
||||
|
field=models.TextField(blank=True, verbose_name='Message non actif'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='automatic_logout_time', |
||||
|
field=models.PositiveIntegerField(null=True, verbose_name='Temps de déconnexion automatique'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='brewer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Maître Brasseur'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='floating_buttons', |
||||
|
field=models.BooleanField(default=False, verbose_name='Boutons flottants'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='global_message', |
||||
|
field=models.TextField(blank=True, verbose_name='Message global'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='grocer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Épic Épicier'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='home_text', |
||||
|
field=models.TextField(blank=True, verbose_name="Message d'accueil"), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='is_active', |
||||
|
field=models.BooleanField(default=True, verbose_name='Site actif'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='lost_pintes_allowed', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Nombre de pintes perdus admises'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='menu', |
||||
|
field=models.FileField(blank=True, null=True, upload_to='', verbose_name='Menu'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='president', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Président'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='rules', |
||||
|
field=models.FileField(blank=True, null=True, upload_to='', verbose_name='Règlement intérieur'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='secretary', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Secrétaire'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='statutes', |
||||
|
field=models.FileField(blank=True, null=True, upload_to='', verbose_name='Statuts'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='treasurer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Trésorier'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='use_pinte_monitoring', |
||||
|
field=models.BooleanField(default=False, verbose_name='Suivi de pintes'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='generalpreferences', |
||||
|
name='vice_president', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Vice Président'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='active_message', |
||||
|
field=models.TextField(blank=True, verbose_name='Message non actif'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='automatic_logout_time', |
||||
|
field=models.PositiveIntegerField(null=True, verbose_name='Temps de déconnexion automatique'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='brewer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Maître Brasseur'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='floating_buttons', |
||||
|
field=models.BooleanField(default=False, verbose_name='Boutons flottants'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='global_message', |
||||
|
field=models.TextField(blank=True, verbose_name='Message global'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='grocer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Épic Épicier'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='home_text', |
||||
|
field=models.TextField(blank=True, verbose_name="Message d'accueil"), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='is_active', |
||||
|
field=models.BooleanField(default=True, verbose_name='Site actif'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='lost_pintes_allowed', |
||||
|
field=models.PositiveIntegerField(default=0, verbose_name='Nombre de pintes perdus admises'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='menu', |
||||
|
field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Menu'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='president', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Président'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='rules', |
||||
|
field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Règlement intérieur'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='secretary', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Secrétaire'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='statutes', |
||||
|
field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Statuts'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='treasurer', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Trésorier'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='use_pinte_monitoring', |
||||
|
field=models.BooleanField(default=False, verbose_name='Suivi de pintes'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalgeneralpreferences', |
||||
|
name='vice_president', |
||||
|
field=models.CharField(blank=True, max_length=255, verbose_name='Vice Président'), |
||||
|
), |
||||
|
] |
||||
@ -1,13 +1,49 @@ |
|||||
from django.contrib import admin |
from django.contrib import admin |
||||
from django.contrib.auth.models import Permission |
from django.contrib.auth.models import Permission |
||||
from simple_history.admin import SimpleHistoryAdmin |
from simple_history.admin import SimpleHistoryAdmin |
||||
|
from django.db.models import F |
||||
|
|
||||
|
from .models import School, Profile, CotisationHistory, WhiteListHistory |
||||
|
|
||||
|
class CotisationHistoryAdmin(SimpleHistoryAdmin): |
||||
|
list_display = ('user', 'amount', 'duration', 'paymentDate', 'endDate', 'paymentMethod') |
||||
|
ordering = ('user', 'amount', 'duration', 'paymentDate', 'endDate') |
||||
|
search_fields = ('user',) |
||||
|
list_filter = ('paymentMethod', ) |
||||
|
|
||||
|
class BalanceFilter(admin.SimpleListFilter): |
||||
|
title = 'Solde' |
||||
|
parameter_name = 'solde' |
||||
|
|
||||
|
def lookups(self, request, model_admin): |
||||
|
return ( |
||||
|
('po', '>0'), |
||||
|
('nu', '=0'), |
||||
|
('ne', '<0'), |
||||
|
) |
||||
|
|
||||
|
def queryset(self, request, queryset): |
||||
|
if self.value() == 'po': |
||||
|
return queryset.filter(credit__gt=F('debit')) |
||||
|
elif self.value() == 'nu': |
||||
|
return queryset.filter(credit=F('debit')) |
||||
|
elif self.value() == 'ne': |
||||
|
return queryset.filter(credit__lt=F('debit')) |
||||
|
|
||||
from .models import School, Profile, CotisationHistory |
|
||||
|
|
||||
class ProfileAdmin(SimpleHistoryAdmin): |
class ProfileAdmin(SimpleHistoryAdmin): |
||||
search_fields = ('user__username', 'user__first_name', 'user__last_name') |
list_display = ('user', 'credit', 'debit', 'balance', 'school', 'cotisationEnd', 'is_adherent') |
||||
|
ordering = ('user', '-credit', '-debit') |
||||
|
search_fields = ('user',) |
||||
|
list_filter = ('school', BalanceFilter) |
||||
|
|
||||
|
class WhiteListHistoryAdmin(SimpleHistoryAdmin): |
||||
|
list_display = ('user', 'paymentDate', 'endDate', 'duration') |
||||
|
ordering = ('user', 'duration', 'paymentDate', 'endDate') |
||||
|
search_fields = ('user',) |
||||
|
|
||||
admin.site.register(Permission, SimpleHistoryAdmin) |
admin.site.register(Permission, SimpleHistoryAdmin) |
||||
admin.site.register(School, SimpleHistoryAdmin) |
admin.site.register(School, SimpleHistoryAdmin) |
||||
|
admin.site.register(WhiteListHistory, WhiteListHistoryAdmin) |
||||
admin.site.register(Profile, ProfileAdmin) |
admin.site.register(Profile, ProfileAdmin) |
||||
admin.site.register(CotisationHistory, SimpleHistoryAdmin) |
admin.site.register(CotisationHistory, CotisationHistoryAdmin) |
||||
@ -0,0 +1,84 @@ |
|||||
|
# Generated by Django 2.1 on 2019-02-27 07:59 |
||||
|
|
||||
|
from django.conf import settings |
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('users', '0004_auto_20190226_2313'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterModelOptions( |
||||
|
name='whitelisthistory', |
||||
|
options={'verbose_name': 'Historique accès gracieux', 'verbose_name_plural': 'Historique accès gracieux'}, |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalprofile', |
||||
|
name='cotisationEnd', |
||||
|
field=models.DateTimeField(blank=True, null=True, verbose_name='Fin de cotisation'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalprofile', |
||||
|
name='credit', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Crédit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalprofile', |
||||
|
name='debit', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Débit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalwhitelisthistory', |
||||
|
name='endDate', |
||||
|
field=models.DateTimeField(verbose_name='Date de fin'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='historicalwhitelisthistory', |
||||
|
name='paymentDate', |
||||
|
field=models.DateTimeField(blank=True, editable=False, verbose_name='Date de début'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='profile', |
||||
|
name='cotisationEnd', |
||||
|
field=models.DateTimeField(blank=True, null=True, verbose_name='Fin de cotisation'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='profile', |
||||
|
name='credit', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Crédit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='profile', |
||||
|
name='debit', |
||||
|
field=models.DecimalField(decimal_places=2, default=0, max_digits=7, verbose_name='Débit'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='profile', |
||||
|
name='school', |
||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='users.School', verbose_name='École'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='profile', |
||||
|
name='user', |
||||
|
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Utilisateur'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='whitelisthistory', |
||||
|
name='endDate', |
||||
|
field=models.DateTimeField(verbose_name='Date de fin'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='whitelisthistory', |
||||
|
name='paymentDate', |
||||
|
field=models.DateTimeField(auto_now_add=True, verbose_name='Date de début'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='whitelisthistory', |
||||
|
name='user', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Client'), |
||||
|
), |
||||
|
] |
||||
Loading…
Reference in new issue