|
10 | 10 | from django.contrib.auth.hashers import get_hasher |
11 | 11 | from django.db import transaction |
12 | 12 | from django.urls import reverse |
| 13 | +from django.utils import timezone |
13 | 14 |
|
14 | 15 | from tinymce import models as tinymce_models |
15 | 16 | from colorfield.fields import ColorField |
@@ -204,6 +205,8 @@ class Petition(models.Model): |
204 | 205 | salt = models.TextField(blank=True) |
205 | 206 | paper_signatures = models.IntegerField(default=0) |
206 | 207 | paper_signatures_enabled = models.BooleanField(default=False) |
| 208 | + creation_date = models.DateTimeField(blank=True) |
| 209 | + last_modification_date = models.DateTimeField(blank=True) |
207 | 210 |
|
208 | 211 | def transfer_to(self, user=None, org=None): |
209 | 212 | if user is None and org is None: |
@@ -411,6 +414,7 @@ def save(self, *args, **kwargs): |
411 | 414 | if not self.salt: |
412 | 415 | hasher = get_hasher() |
413 | 416 | self.salt = hasher.salt().decode('utf-8') |
| 417 | + self.last_modification_date = timezone.now() |
414 | 418 | super(Petition, self).save(*args, **kwargs) |
415 | 419 |
|
416 | 420 |
|
@@ -610,11 +614,18 @@ def create_user_profile(sender, instance, created, **kwargs): |
610 | 614 | def save_user_profile(sender, instance, **kwargs): |
611 | 615 | instance.pytitionuser.save() |
612 | 616 |
|
| 617 | +@receiver(pre_save, sender=Petition) |
| 618 | +def pre_save_petition(sender, instance, **kwargs): |
| 619 | + if not instance.creation_date: |
| 620 | + instance.creation_date = timezone.now() |
613 | 621 |
|
614 | 622 | @receiver(post_save, sender=Petition) |
615 | 623 | def save_petition(sender, instance, **kwargs): |
616 | 624 | if instance.slugmodel_set.count() == 0: |
617 | 625 | instance.slugify() |
| 626 | + if kwargs['created']: |
| 627 | + instance.creation_date = timezone.now() |
| 628 | + instance.save() |
618 | 629 |
|
619 | 630 | @receiver(post_delete, sender=PytitionUser) |
620 | 631 | def post_delete_user(sender, instance, *args, **kwargs): |
|
0 commit comments