From 3e626a83433e673218e7f2699099a2cbf7176553 Mon Sep 17 00:00:00 2001 From: rsk2 Date: Fri, 9 Dec 2022 17:04:24 +0530 Subject: [PATCH 1/6] issue-294: Adding new date field to store publication date --- .../0017_petition_publication_date.py | 18 ++++++++++++++++++ pytition/petition/models.py | 1 + 2 files changed, 19 insertions(+) create mode 100644 pytition/petition/migrations/0017_petition_publication_date.py diff --git a/pytition/petition/migrations/0017_petition_publication_date.py b/pytition/petition/migrations/0017_petition_publication_date.py new file mode 100644 index 00000000..545a3656 --- /dev/null +++ b/pytition/petition/migrations/0017_petition_publication_date.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.28 on 2022-12-09 11:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('petition', '0016_signature_uses_phone_number_field'), + ] + + operations = [ + migrations.AddField( + model_name='petition', + name='publication_date', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/pytition/petition/models.py b/pytition/petition/models.py index 15975ce5..e3ae2da1 100644 --- a/pytition/petition/models.py +++ b/pytition/petition/models.py @@ -215,6 +215,7 @@ class Petition(models.Model): last_modification_date = models.DateTimeField(blank=True) moderated = models.BooleanField(default=False) has_share_buttons = models.BooleanField(default=True) + publication_date = models.DateTimeField(blank=True, null=True) @property def is_moderated(self): From 25a3146ec658b18dab2d26edc4c443482943f784 Mon Sep 17 00:00:00 2001 From: Rohan Sureshkumar Date: Thu, 15 Dec 2022 21:57:09 +0530 Subject: [PATCH 2/6] Issue-294: Adding publication date to petition page --- pytition/petition/templates/petition/petition_detail.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pytition/petition/templates/petition/petition_detail.html b/pytition/petition/templates/petition/petition_detail.html index 1055ce11..6dd43aec 100644 --- a/pytition/petition/templates/petition/petition_detail.html +++ b/pytition/petition/templates/petition/petition_detail.html @@ -330,6 +330,11 @@

{% trans "This petition is moderated. You only see it be
+ {% if petition.publication_date %} +
+ Published on: {{ petition.publication_date|date:"M d, Y" }} +
+ {% endif %} {{ petition.text|html_sanitize|safe }}
From 769abce3ab260dc9cf0bb31b55f113121a8a0a27 Mon Sep 17 00:00:00 2001 From: Rohan Sureshkumar Date: Fri, 16 Dec 2022 22:42:37 +0530 Subject: [PATCH 3/6] Issue-294: Adding new field show_publication_date and setting publication date at time of publish --- .../0018_petition_show_publication_date.py | 18 ++++++++++++++++++ pytition/petition/models.py | 3 +++ .../templates/petition/petition_detail.html | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 pytition/petition/migrations/0018_petition_show_publication_date.py diff --git a/pytition/petition/migrations/0018_petition_show_publication_date.py b/pytition/petition/migrations/0018_petition_show_publication_date.py new file mode 100644 index 00000000..0806d941 --- /dev/null +++ b/pytition/petition/migrations/0018_petition_show_publication_date.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.28 on 2022-12-16 05:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('petition', '0017_petition_publication_date'), + ] + + operations = [ + migrations.AddField( + model_name='petition', + name='show_publication_date', + field=models.BooleanField(default=False), + ), + ] diff --git a/pytition/petition/models.py b/pytition/petition/models.py index e3ae2da1..31f6bc2a 100644 --- a/pytition/petition/models.py +++ b/pytition/petition/models.py @@ -216,6 +216,7 @@ class Petition(models.Model): moderated = models.BooleanField(default=False) has_share_buttons = models.BooleanField(default=True) publication_date = models.DateTimeField(blank=True, null=True) + show_publication_date = models.BooleanField(default=False) @property def is_moderated(self): @@ -315,10 +316,12 @@ def confirm_signature(self, conf_hash): def publish(self): self.published = True + self.publication_date = timezone.now() self.save() def unpublish(self): self.published = False + self.publication_date = None self.save() @property diff --git a/pytition/petition/templates/petition/petition_detail.html b/pytition/petition/templates/petition/petition_detail.html index 6dd43aec..28d8aa9e 100644 --- a/pytition/petition/templates/petition/petition_detail.html +++ b/pytition/petition/templates/petition/petition_detail.html @@ -330,7 +330,7 @@

{% trans "This petition is moderated. You only see it be
- {% if petition.publication_date %} + {% if petition.publication_date and petition.show_publication_date %}
Published on: {{ petition.publication_date|date:"M d, Y" }}
From b4fa2f4c9792e0342ba3b9fc301ec9cbbf895fe6 Mon Sep 17 00:00:00 2001 From: Rohan Sureshkumar Date: Sat, 17 Dec 2022 12:24:02 +0530 Subject: [PATCH 4/6] Issue-294: Adding publication date and show publication date to petition edition page --- pytition/petition/forms.py | 2 ++ pytition/petition/views.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pytition/petition/forms.py b/pytition/petition/forms.py index 64856f45..d2afbff2 100644 --- a/pytition/petition/forms.py +++ b/pytition/petition/forms.py @@ -92,6 +92,8 @@ class PetitionCreationStep3(forms.Form): class ContentFormGeneric(forms.Form): ### Content of a Petition ### + publication_date = forms.DateField(required=False) + show_publication_date = SwitchField(required=False, label=_("Show publication date")) text = forms.CharField(widget=TinyMCE) target = forms.IntegerField(required=False) side_text = forms.CharField(widget=TinyMCE, required=False) diff --git a/pytition/petition/views.py b/pytition/petition/views.py index d21ecb4e..6ea92395 100644 --- a/pytition/petition/views.py +++ b/pytition/petition/views.py @@ -1226,6 +1226,8 @@ def edit_petition(request, petition_id): submitted_ctx['content_form_submitted'] = True content_form = ContentFormPetition(request.POST) if content_form.is_valid(): + petition.publication_date = content_form.cleaned_data['publication_date'] + petition.show_publication_date = content_form.cleaned_data['show_publication_date'] petition.title = content_form.cleaned_data['title'] petition.target = content_form.cleaned_data['target'] petition.paper_signatures = content_form.cleaned_data['paper_signatures'] From 3f72704d451801e3770b28f2fa06eb7aab689a2b Mon Sep 17 00:00:00 2001 From: Rohan Sureshkumar Date: Wed, 15 Feb 2023 14:26:52 +0530 Subject: [PATCH 5/6] Issue-294: Changing migration order after merge --- ...on_publication_date.py => 0018_petition_publication_date.py} | 2 +- ...blication_date.py => 0019_petition_show_publication_date.py} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename pytition/petition/migrations/{0017_petition_publication_date.py => 0018_petition_publication_date.py} (83%) rename pytition/petition/migrations/{0018_petition_show_publication_date.py => 0019_petition_show_publication_date.py} (86%) diff --git a/pytition/petition/migrations/0017_petition_publication_date.py b/pytition/petition/migrations/0018_petition_publication_date.py similarity index 83% rename from pytition/petition/migrations/0017_petition_publication_date.py rename to pytition/petition/migrations/0018_petition_publication_date.py index 545a3656..71a012c3 100644 --- a/pytition/petition/migrations/0017_petition_publication_date.py +++ b/pytition/petition/migrations/0018_petition_publication_date.py @@ -6,7 +6,7 @@ class Migration(migrations.Migration): dependencies = [ - ('petition', '0016_signature_uses_phone_number_field'), + ('petition', '0017_petitiontemplate_paper_signatures_enabled'), ] operations = [ diff --git a/pytition/petition/migrations/0018_petition_show_publication_date.py b/pytition/petition/migrations/0019_petition_show_publication_date.py similarity index 86% rename from pytition/petition/migrations/0018_petition_show_publication_date.py rename to pytition/petition/migrations/0019_petition_show_publication_date.py index 0806d941..7370ade7 100644 --- a/pytition/petition/migrations/0018_petition_show_publication_date.py +++ b/pytition/petition/migrations/0019_petition_show_publication_date.py @@ -6,7 +6,7 @@ class Migration(migrations.Migration): dependencies = [ - ('petition', '0017_petition_publication_date'), + ('petition', '0018_petition_publication_date'), ] operations = [ From 28121f58a1d35e7156b934a2ba04eb6b3636af88 Mon Sep 17 00:00:00 2001 From: Rohan Sureshkumar Date: Wed, 15 Feb 2023 14:30:50 +0530 Subject: [PATCH 6/6] Issue-294: Changing publication date display per review comments --- pytition/petition/templates/petition/petition_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytition/petition/templates/petition/petition_detail.html b/pytition/petition/templates/petition/petition_detail.html index 7e0af346..b8c6143f 100644 --- a/pytition/petition/templates/petition/petition_detail.html +++ b/pytition/petition/templates/petition/petition_detail.html @@ -344,7 +344,7 @@

{% trans "This petition is moderated. You only see it be
{% if petition.publication_date and petition.show_publication_date %}
- Published on: {{ petition.publication_date|date:"M d, Y" }} + {% trans "Published on: "%} {{ petition.publication_date|date:"SHORT_DATE_FORMAT" }}
{% endif %} {{ petition.text|html_sanitize|safe }}