diff --git a/src/open_inwoner/accounts/views/contactmoments.py b/src/open_inwoner/accounts/views/contactmoments.py index 237b4d273e..54d7a8aacb 100644 --- a/src/open_inwoner/accounts/views/contactmoments.py +++ b/src/open_inwoner/accounts/views/contactmoments.py @@ -223,24 +223,55 @@ def get_context_data(self, **kwargs): ocm = client.retrieve_objectcontactmoment( kcm.contactmoment, "zaak", zaken_client ) - ctx["zaak"] = getattr(ocm, "object", None) + zaak = getattr(ocm, "object", None) + if zaak: + zaak_url = reverse( + "cases:case_detail", kwargs={"object_id": str(zaak.uuid)} + ) + else: + zaak_url = None + ctx["zaak"] = zaak contactmoment: KCMDict = self.get_kcm_data(kcm) ctx["contactmoment"] = contactmoment ctx["metrics"] = [ { - "label": _("Ontvangstdatum: "), + "label": _("Status: "), + "value": contactmoment["status"], + }, + { + "label": _("Ingediend op: "), "value": contactmoment["registered_date"], }, { - "label": _("Contactwijze: "), - "value": contactmoment["channel"], + "label": _("Vraag nummer: "), + "value": contactmoment["identificatie"], }, { - "label": _("Status: "), - "value": contactmoment["status"], + "label": _("Contact gehad via: "), + "value": contactmoment["channel"], }, ] + origin = self.request.headers.get("Referer") + if origin and reverse("cases:contactmoment_list") in origin: + ctx["origin"] = { + "label": _("Terug naar overzicht"), + "url": origin, + } + if zaak: + ctx["destination"] = { + "label": _("Naar aanvraag"), + "url": zaak_url, + } + else: + ctx["origin"] = { + "label": _("Terug naar aanvraag"), + "url": zaak_url, + } + ctx["destination"] = { + "label": _("Bekijk alle vragen"), + "url": reverse("cases:contactmoment_list"), + } return ctx diff --git a/src/open_inwoner/openklant/tests/test_views.py b/src/open_inwoner/openklant/tests/test_views.py index d143564c12..238964b3f1 100644 --- a/src/open_inwoner/openklant/tests/test_views.py +++ b/src/open_inwoner/openklant/tests/test_views.py @@ -299,9 +299,9 @@ def test_show_detail_for_bsn_with_zaak(self, m, mock_get_kcm_answer_mapping): }, ) - zaak_link = response.pyquery(".case-detail__link") + zaak_link = response.pyquery("#origin_link") - self.assertEqual(zaak_link.text(), _("Ga naar zaak")) + self.assertIn(_("Terug naar aanvraag"), zaak_link.text()) self.assertEqual( zaak_link.attr("href"), reverse( @@ -310,6 +310,13 @@ def test_show_detail_for_bsn_with_zaak(self, m, mock_get_kcm_answer_mapping): ), ) + contactmoment_link = response.pyquery("#destination_link") + self.assertIn(_("Bekijk alle vragen"), contactmoment_link.text()) + self.assertEqual( + contactmoment_link.attr("href"), + reverse("cases:contactmoment_list"), + ) + kcm_local = KlantContactMomentAnswer.objects.get( contactmoment_url=data.klant_contactmoment["contactmoment"] ) @@ -335,13 +342,8 @@ def test_show_detail_for_bsn_with_zaak_reformat_esuite_id( kcm = response.context["contactmoment"] cm_data = data.contactmoment - zaak_id = ( - response.pyquery.find(".case-detail__link").parent().text().split(" ")[0] - ) - self.assertIsNotNone(response.context["zaak"]) self.assertEqual(response.context["zaak"].url, data.zaak["url"]) - self.assertEqual(zaak_id, "542-2021") self.assertEqual( kcm, { @@ -358,9 +360,8 @@ def test_show_detail_for_bsn_with_zaak_reformat_esuite_id( }, ) - zaak_link = response.pyquery(".case-detail__link") - - self.assertEqual(zaak_link.text(), _("Ga naar zaak")) + zaak_link = response.pyquery("#origin_link") + self.assertIn(_("Terug naar aanvraag"), zaak_link.text()) self.assertEqual( zaak_link.attr("href"), reverse( @@ -369,6 +370,13 @@ def test_show_detail_for_bsn_with_zaak_reformat_esuite_id( ), ) + contactmoment_link = response.pyquery("#destination_link") + self.assertIn(_("Bekijk alle vragen"), contactmoment_link.text()) + self.assertEqual( + contactmoment_link.attr("href"), + reverse("cases:contactmoment_list"), + ) + def test_display_contactmoment_subject_duplicate_esuite_codes( self, m, mock_get_kcm_answer_mapping ): diff --git a/src/open_inwoner/scss/components/Contactmomenten/Contactmomenten.scss b/src/open_inwoner/scss/components/Contactmomenten/Contactmomenten.scss index 0008d2d95f..8f0fe918d2 100644 --- a/src/open_inwoner/scss/components/Contactmomenten/Contactmomenten.scss +++ b/src/open_inwoner/scss/components/Contactmomenten/Contactmomenten.scss @@ -74,46 +74,29 @@ } .contactmoment { - &__details { - // Set table width for word-break - table { - margin-top: 0; - overflow-x: auto; - table-layout: fixed; - width: 100%; - @media (min-width: 768px) { - width: var(--mobile-ms-width); - } - } - table th { - width: 100px; - white-space: nowrap; - } - table td { - width: 300px; - overflow: hidden; - word-break: break-word; - white-space: normal; - - &.table__item--status { - .table__item--wrapper { - display: flex; - justify-content: space-between; - } - } + &__heading { + margin: 0 0 var(--spacing-large) 0; + line-height: var(--font-line-height-heading-3); + font-family: var(--font-family-heading); + font-size: var(--font-size-heading-3); + font-weight: var(--font-weight-heading-3); + } - .case-detail__link { - color: var(--color-primary); - text-decoration: none; + &__text { + margin: 0 0 var(--row-height) 0; + line-height: var(--font-line-height-body); + font-family: var(--font-family-body); + font-size: var(--font-size-body); + font-weight: normal; + color: var(--font-color-body); + } - &::after { - font-family: 'Material Icons'; - content: 'arrow_forward'; - font-size: 1em; - vertical-align: middle; - } - } - } + &__actions { + font-weight: bold; + } + + .button--transparent { + padding: var(--spacing-medium) 0 0 0; } } diff --git a/src/open_inwoner/templates/pages/contactmoment/detail.html b/src/open_inwoner/templates/pages/contactmoment/detail.html index b07900b86d..85420259cd 100644 --- a/src/open_inwoner/templates/pages/contactmoment/detail.html +++ b/src/open_inwoner/templates/pages/contactmoment/detail.html @@ -1,21 +1,46 @@ {% extends 'master.html' %} -{% load i18n anchor_menu_tags card_tags file_tags grid_tags table_tags solo_tags form_tags button_tags %} +{% load i18n grid_tags table_tags button_tags icon_tags %} {% block content %} {% if contactmoment %} {% render_grid %} {% render_column span=12 %} - {# Contactmoment/dashboard. #} -
{{ contactmoment.text }}
+{{ contactmoment.antwoord }}
+ {% else %} +{% trans "Nog geen antwoord beschijkbaar" %}
+ {% endif %} +