From: Jörn Menne Date: Mon, 6 Jan 2025 10:02:03 +0000 (+0100) Subject: Add email-field and possibility to (de)publish reports X-Git-Url: https://git.menne-pb.de/?a=commitdiff_plain;h=21d74b0e09ad54c2d2a8c1c8fef4cc38d0d5fd13;p=pinpoint.git Add email-field and possibility to (de)publish reports --- diff --git a/README.md b/README.md index ecadcc3..e67b817 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,5 @@ planned upcoming Features: - [ ] Sending Mails - [ ] Open311 Compliance - [ ] Tests + +- [ ] Publishing and depublishing of reports diff --git a/georeport/forms.py b/georeport/forms.py index e518632..3fe7bde 100644 --- a/georeport/forms.py +++ b/georeport/forms.py @@ -6,4 +6,4 @@ from .models import Report class ReportForm(ModelForm): class Meta: model = Report - fields = ["title", "description", "latitude", "longitude", "category"] + fields = ["title", "description", "latitude", "longitude", "category", "email"] diff --git a/georeport/migrations/0004_report_email_report_published.py b/georeport/migrations/0004_report_email_report_published.py new file mode 100644 index 0000000..4a422ee --- /dev/null +++ b/georeport/migrations/0004_report_email_report_published.py @@ -0,0 +1,23 @@ +# Generated by Django 5.1.4 on 2025-01-06 09:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("georeport", "0003_category_alter_report_description_report_category"), + ] + + operations = [ + migrations.AddField( + model_name="report", + name="email", + field=models.EmailField(default="mail@pinpoint.de", max_length=254), + preserve_default=False, + ), + migrations.AddField( + model_name="report", + name="published", + field=models.BooleanField(default=True), + ), + ] diff --git a/georeport/models.py b/georeport/models.py index 507d075..0674d1a 100644 --- a/georeport/models.py +++ b/georeport/models.py @@ -35,6 +35,10 @@ class Report(models.Model): Category, on_delete=models.RESTRICT, default=get_default_related ) + published = models.BooleanField(default=True) + + email = models.EmailField() + # TODO add status # def __str__(self): diff --git a/georeport/templates/georeport/index.html b/georeport/templates/georeport/index.html index 6bb3e47..4d4d4e3 100644 --- a/georeport/templates/georeport/index.html +++ b/georeport/templates/georeport/index.html @@ -6,12 +6,15 @@

Reports

New Report diff --git a/georeport/views.py b/georeport/views.py index 0ab2942..083b39c 100644 --- a/georeport/views.py +++ b/georeport/views.py @@ -1,5 +1,5 @@ from django.shortcuts import get_object_or_404, render, redirect - +from django.http import HttpResponseForbidden # Create your views here. from .models import Category, Report @@ -18,7 +18,10 @@ def index(request): def details(request, id): report = get_object_or_404(Report, pk=id) - return render(request, "georeport/detail.html", context={"report": report}) + if report.published: + return render(request, "georeport/detail.html", context={"report": report}) + else: + return HttpResponseForbidden("The report is not published") def category_details(request, id):