8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-26 06:32:26 +00:00

Fix suppression machines + factures

This commit is contained in:
detraz 2018-10-13 15:32:27 +02:00
parent d93dccb9f8
commit 355e5d5a5e
3 changed files with 29 additions and 4 deletions

View file

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2018-10-13 12:17
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('machines', '0095_auto_20180919_2225'),
]
operations = [
migrations.AlterField(
model_name='machine',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

View file

@ -55,7 +55,7 @@ from re2o.mixins import AclMixin, RevMixin
class Machine(RevMixin, FieldPermissionModelMixin, models.Model): class Machine(RevMixin, FieldPermissionModelMixin, models.Model):
""" Class définissant une machine, object parent user, objets fils """ Class définissant une machine, object parent user, objets fils
interfaces""" interfaces"""
user = models.ForeignKey('users.User', on_delete=models.PROTECT) user = models.ForeignKey('users.User', on_delete=models.CASCADE)
name = models.CharField( name = models.CharField(
max_length=255, max_length=255,
help_text=_("Optional"), help_text=_("Optional"),

View file

@ -19,6 +19,7 @@
from django.core.management.base import BaseCommand, CommandError from django.core.management.base import BaseCommand, CommandError
from users.models import User from users.models import User
from cotisations.models import Facture
from preferences.models import OptionalUser from preferences.models import OptionalUser
from datetime import timedelta from datetime import timedelta
@ -28,7 +29,9 @@ class Command(BaseCommand):
help = "Delete non members users (not yet active)" help = "Delete non members users (not yet active)"
def handle(self, *args, **options): def handle(self, *args, **options):
"""First deleting invalid invoices, and then deleting the users"""
days = OptionalUser.get_cached_value('delete_notyetactive') days = OptionalUser.get_cached_value('delete_notyetactive')
users = User.objects.filter(state=User.STATE_NOT_YET_ACTIVE).filter(registered__lte=timezone.now() - timedelta(days=days)) users_to_delete = User.objects.filter(state=User.STATE_NOT_YET_ACTIVE).filter(registered__lte=timezone.now() - timedelta(days=days)).exclude(facture__valid=True).distinct()
print("Deleting " + str(users.count()) + " users") print("Deleting " + str(users_to_delete.count()) + " users")
users.delete() Facture.objects.filter(user__in=users_to_delete).delete()
users_to_delete.delete()