Skip to content

Commit

Permalink
Merge pull request #1360 from digitalfabrik/bugfix/feedback_api
Browse files Browse the repository at this point in the history
Fix behaviour of imprint feedback
  • Loading branch information
ulliholtgrave authored Apr 15, 2022
2 parents 960ff0c + b83d0c2 commit f184eb0
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 11 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ UNRELEASED
* [ [#1354](https://github.com/digitalfabrik/integreat-cms/issues/1354) ] Fix order of root pages
* [ [#1353](https://github.com/digitalfabrik/integreat-cms/issues/1353) ] Add tunews setting to region model
* [ [#1328](https://github.com/digitalfabrik/integreat-cms/issues/1328) ] Fix missing entries in broken link checker
* [ [#1289](https://github.com/digitalfabrik/integreat-cms/issues/1289) ] Prevent submitting feedback for a non-existent imprint
* [ [#1359](https://github.com/digitalfabrik/integreat-cms/issues/1359) ] Cascade delete imprint feedback when imprint is deleted


2022.4.0
Expand Down
30 changes: 22 additions & 8 deletions integreat_cms/api/v3/feedback/imprint_page_feedback.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
"""
APIv3 endpoint for feedback about the imprint
"""
from django.http import JsonResponse
import logging

from django.http import JsonResponse, Http404

from ....cms.models.feedback.imprint_page_feedback import ImprintPageFeedback
from ...decorators import json_response, feedback_handler

logger = logging.getLogger(__name__)


@feedback_handler
@json_response
Expand Down Expand Up @@ -64,14 +68,24 @@ def imprint_page_feedback_internal(
:param is_technical: is feedback on content or on tech
:type is_technical: bool
:raises ~django.http.Http404: HTTP status 404 if the region has no imprint
:return: JSON object according to APIv3 imprint feedback endpoint definition
:rtype: ~django.http.JsonResponse
"""
ImprintPageFeedback.objects.create(
region=region,
language=language,
rating=rating,
comment=comment,
is_technical=is_technical,
if region.imprint:
ImprintPageFeedback.objects.create(
region=region,
language=language,
rating=rating,
comment=comment,
is_technical=is_technical,
)
return JsonResponse({"success": "Feedback successfully submitted"}, status=201)
# If the corresponding imprint does not exist, return a 404 error
logger.info(
"The imprint for region %r in the language %s does not exist and no feedback can be given.",
region,
language,
)
return JsonResponse({"success": "Feedback successfully submitted"}, status=201)
raise Http404("The imprint does not exist in this region")
19 changes: 19 additions & 0 deletions integreat_cms/cms/fixtures/test_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -2265,6 +2265,25 @@
"publishers": []
}
},
{
"model": "cms.imprintpage",
"pk": 80,
"fields": {
"created_date": "2022-02-22T16:57:08.587Z",
"region": 1
}
},
{
"model": "cms.imprintpagetranslation",
"pk": 1,
"fields": {
"page": 80,
"title": "Rechtliches",
"content": "<p>Die Inhalte werden herausgegeben durch:</p><h4><strong>Herausgeber:</strong></h4><h4>Stadt Augsburg<br>(Gebietskörperschaft des öffentlichen Rechts)<br>Rathausplatz 1<br>86150 Augsburg</h4><h4><strong>Postanschrift:</strong></h4><p>Stadt Augsburg<br>86143 Augsburg</p><h4><strong>Vertretungsberechtigt:</strong></h4><p>Oberbürgermeisterin Eva Weber</p><p>Umsatzsteueridentifikationsnummer gemäß § 27a des Umsatzsteuergesetzes: DE 127508091</p><h4><strong>Verantwortlichkeit für den Inhalt:</strong></h4><p>Dr. Margret Spohn<br>Leiterin des Büros für gesellschaftliche Integration</p><p>Maximilianstrasse 3<br>86150 Augsburg</p><p><strong>Weitere Ansprechpartnerin:</strong></p><p>Alina Dajnowicz<br>Bildungskoordinatorin für Zugewanderte</p><p><a rel='noopener' href='mailto:[email protected]'>[email protected]</a><br><a href='tel:tel:+4982132434494'>0821-32434494</a></p><h4><strong>Urheberrecht</strong></h4><p>Texte, Bilder, Grafiken sowie die Gestaltung dieser Internetseiten unterliegen dem deutschen Urheberrecht. Sie dürfen von Ihnen nur zum privaten und sonstigen eigenen Gebrauch im Rahmen des § 53 Urheberrechtsgesetz (UrhG) verwendet werden. Eine Vervielfältigung oder Verwendung dieser Seiten oder Teilen davon in anderen elektronischen oder gedruckten Publikationen und deren Veröffentlichung ist nur mit unserer Einwilligung gestattet. Diese erteilt auf Anfrage die Onlineredaktion der Stadt Augsburg unter onlineredaktion(at)augsburg.de. Weiterhin können Texte, Bilder, Grafiken und sonstige Dateien ganz oder teilweise dem Urheberrecht Dritter unterliegen. Über das Bestehen möglicher Rechte Dritter erhalten Sie nähere Auskünfte unter onlineredaktion(at)augsburg.de.</p><p>Der Nachdruck und die Auswertung von Pressemitteilungen und Reden sind mit Quellenangabe allgemein gestattet.</p><p><strong>Inhalte des Website-Angebots</strong></p><p>Alle auf dieser Internetseite bereitgestellten Informationen haben wir nach bestem Wissen und Gewissen erarbeitet und geprüft. Eine Gewähr für die jederzeitige Aktualität, Richtigkeit, Vollständigkeit und Verfügbarkeit der bereit gestellten Informationen können wir allerdings nicht übernehmen. Dies gilt nicht für Informationen, die den Anwendungsbereich der Europäischen Dienstleistungsrichtlinie (Richtlinie 2006/123/EG - DLRL) fallen. Für diese Informationen wird die Richtigkeit und Aktualität gewährleistet.</p><p>Die Stadt Augsburg ist als Dienstanbieter für eigene Informationen auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich (§ 7 I TMG). Ein Vertragsverhältnis mit den Nutzern dieses Informationsangebotes kommt nicht zustande.</p><p>Die Stadt Augsburg behält es sich ausdrücklich vor, einzelne Webseiten oder das gesamte Angebot ohne gesonderte Ankündigung zu verändern, zu ergänzen, zu löschen oder die Veröffentlichung zeitweise oder endgültig einzustellen.</p><p><strong>Links auf fremde Inhalte/Fremdeinträge</strong></p><p>Von unseren eigenen Inhalten sind die Querverweise („Links“) auf die Webseiten anderer Anbieter zu unterscheiden. Durch die Links ermöglichen wir lediglich den Zugang zur Nutzung „fremder Inhalte“. Wir haben jedoch keinen Einfluss auf den Inhalt und die Gestaltung dieser externen Websites und machen uns die Inhalte dieser verlinkten Seiten nicht zu eigen. Für deren Inhalte und Richtigkeit ist allein der jeweilige Anbieter verantwortlich.</p><p>Bei der erstmaligen Verknüpfung mit diesen Internetangeboten haben wir diese fremden Inhalte auf Rechtsverletzungen überprüft. Zum Zeitpunkt der Verknüpfung waren keine Rechtsverstöße erkennbar. Sobald die Stadt Augsburg eine Rechtsverletzung feststellt oder von anderen darauf hingewiesen wird, wird sie die Verknüpfung zu den jeweiligen Websites unverzüglich entfernen.</p><p>Ferner distanzieren wir uns von Fremdeinträgen in Social-Media-Angeboten unserer städtischen Ämter und Einrichtungen, die unter der Social Media verzeichnet sind. Diese geben nicht unsere eigene Meinung wieder, sondern die persönliche Auffassung Dritter. Soweit wir Kenntnis von strafbaren oder rechtswidrigen Inhalten erlangen, werden diese Fremdeinträge umgehend von uns gelöscht.</p><p>Für die Inhalte der werblichen Einträge auf dem Portal www.augsburg-city.de sind die jeweils eintragenden Unternehmen selbst verantwortlich.</p></div><p class='sc-dVNjXY erBAaw'>Last update: March 30, 2022</p>",
"last_updated": "2022-02-22T16:57:08.587Z",
"language": 1
}
},
{
"model": "cms.offertemplate",
"pk": 1,
Expand Down
3 changes: 2 additions & 1 deletion integreat_cms/cms/views/imprint/imprint_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from django.views.decorators.http import require_POST

from ...decorators import permission_required
from ...models import ImprintPage, ImprintPageTranslation
from ...models import ImprintPage, ImprintPageTranslation, ImprintPageFeedback

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -45,6 +45,7 @@ def delete_imprint(request, region_slug):
logger.debug("%r deleted by %r", imprint, request.user)

imprint.delete()
ImprintPageFeedback.objects.filter(region=region).delete()
messages.success(request, _("Imprint was successfully deleted"))

return redirect(
Expand Down
4 changes: 2 additions & 2 deletions integreat_cms/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-04-13 10:46+0000\n"
"POT-Creation-Date: 2022-04-15 14:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Integreat <[email protected]>\n"
"Language-Team: Integreat <[email protected]>\n"
Expand Down Expand Up @@ -6007,7 +6007,7 @@ msgstr "{} \"{}\" wurde erfolgreich gespeichert"
msgid "{} \"{}\" was successfully created"
msgstr "{} \"{}\" wurde erfolgreich erstellt"

#: cms/views/imprint/imprint_actions.py:48
#: cms/views/imprint/imprint_actions.py:49
msgid "Imprint was successfully deleted"
msgstr "Impressum wurde erfolgreich gelöscht"

Expand Down

0 comments on commit f184eb0

Please sign in to comment.