Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#2260] Removed StatusTranslation model #1142

Merged
merged 3 commits into from
Apr 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/open_inwoner/accounts/tests/test_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ def test_has_usable_email(self):
self.assertFalse(UserFactory(email="test@localhost").has_usable_email())
self.assertFalse(User.is_usable_email("test@localhost"))

actual = list(User.objects.having_usable_email())
self.assertEqual(actual, [user_ok1, user_ok2])
actual = set(User.objects.having_usable_email())
self.assertEqual(actual, {user_ok1, user_ok2})

def test_plan_contact_new_count_methods(self):
owner = UserFactory()
Expand Down
20 changes: 8 additions & 12 deletions src/open_inwoner/cms/cases/views/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,15 @@
)
from open_inwoner.openzaak.models import (
OpenZaakConfig,
StatusTranslation,
ZaakTypeConfig,
ZaakTypeInformatieObjectTypeConfig,
ZaakTypeResultaatTypeConfig,
ZaakTypeStatusTypeConfig,
)
from open_inwoner.openzaak.utils import get_role_name_display, is_info_object_visible
from open_inwoner.userfeed import hooks
from open_inwoner.utils.glom import glom_multiple
from open_inwoner.utils.time import has_new_elements
from open_inwoner.utils.translate import TranslationLookup
from open_inwoner.utils.views import CommonPageMixin, LogMixin

from ..forms import CaseContactForm, CaseUploadForm
Expand Down Expand Up @@ -139,7 +138,6 @@ def get_context_data(self, **kwargs):
self.log_access_case_detail(self.case)

config = OpenZaakConfig.get_solo()
status_translate = StatusTranslation.objects.get_lookup()

zaken_client = build_client_openzaak("zaak")

Expand Down Expand Up @@ -194,7 +192,6 @@ def get_context_data(self, **kwargs):
end_statustype_data = self.handle_end_statustype_data(
status_types_mapping=status_types_mapping,
end_statustype=self.handle_end_statustype(statuses, statustypen),
status_translate=status_translate,
)
result_data = self.get_result_data(
self.case, self.resulttype_config_mapping, zaken_client
Expand All @@ -217,7 +214,7 @@ def get_context_data(self, **kwargs):
),
"description": self.case.zaaktype.omschrijving,
"statuses": self.get_statuses_data(
statuses, status_translate, self.statustype_config_mapping
statuses, self.statustype_config_mapping
),
"end_statustype_data": end_statustype_data,
"second_status_preview": second_status_preview,
Expand Down Expand Up @@ -371,17 +368,17 @@ def handle_end_statustype_data(
self,
status_types_mapping: dict[str, StatusType],
end_statustype: StatusType,
status_translate: StatusTranslation,
):
"""
Prepare data about end statustype for use in context/template
"""
end_statustype_data = None
if not status_types_mapping.get(end_statustype.url):
end_statustype_data = {
"label": status_translate(
(end_statustype.statustekst or end_statustype.omschrijving),
default=_("No data available"),
"label": (
end_statustype.statustekst
or end_statustype.omschrijving
or _("No data available")
),
"status_indicator": getattr(
self.statustype_config_mapping.get(end_statustype.url),
Expand Down Expand Up @@ -540,19 +537,18 @@ def get_result_data(
def get_initiator_display(case: Zaak) -> str:
if client := build_client_openzaak("zaak"):
roles = client.fetch_case_roles(case.url, RolOmschrijving.initiator)
return ", ".join([get_role_name_display(r) for r in roles])
return ", ".join(get_role_name_display(r) for r in roles)
return ""

@staticmethod
def get_statuses_data(
statuses: list[Status],
lookup: TranslationLookup,
statustype_config_mapping: dict | None = None,
) -> list[dict]:
return [
{
"date": s.datum_status_gezet,
"label": lookup.from_glom_multiple(
"label": glom_multiple(
s,
("statustype.statustekst", "statustype.omschrijving"),
default=_("No data available"),
Expand Down
30 changes: 0 additions & 30 deletions src/open_inwoner/openzaak/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,20 @@
from django.forms.models import BaseInlineFormSet
from django.utils.translation import gettext_lazy as _, ngettext

from import_export.admin import ImportExportMixin
from import_export.formats import base_formats
from solo.admin import SingletonModelAdmin

from open_inwoner.ckeditor5.widgets import CKEditorWidget

from .models import (
CatalogusConfig,
OpenZaakConfig,
StatusTranslation,
UserCaseInfoObjectNotification,
UserCaseStatusNotification,
ZaakTypeConfig,
ZaakTypeInformatieObjectTypeConfig,
ZaakTypeResultaatTypeConfig,
ZaakTypeStatusTypeConfig,
)
from .resources.import_resource import StatusTranslationImportResource


@admin.register(OpenZaakConfig)
Expand Down Expand Up @@ -449,29 +445,3 @@ class UserCaseInfoObjectNotificationAdmin(admin.ModelAdmin):

def has_change_permission(self, request, obj=None):
return False


@admin.register(StatusTranslation)
class StatusTranslationAdmin(ImportExportMixin, admin.ModelAdmin):
fields = [
"status",
"translation",
]
search_fields = [
"status",
"translation",
]
list_display = [
"id",
"status",
"translation",
]
list_editable = [
"status",
"translation",
]
ordering = ("status",)

# import-export
resource_class = StatusTranslationImportResource
formats = [base_formats.XLSX, base_formats.CSV]
9 changes: 4 additions & 5 deletions src/open_inwoner/openzaak/api_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from datetime import date, datetime
from typing import Optional, Union

from django.utils.translation import gettext as _

from dateutil.relativedelta import relativedelta
from zgw_consumers.api_models.base import Model, ZGWModel
from zgw_consumers.api_models.constants import RolOmschrijving, RolTypes
Expand Down Expand Up @@ -71,11 +73,8 @@ def process_data(self) -> dict:
"""
Prepare data for template
"""
from open_inwoner.openzaak.models import StatusTranslation

status_translate = StatusTranslation.objects.get_lookup()

status_text = status_translate.from_glom_multiple(
status_text = glom_multiple(
self,
("status.statustype.statustekst", "status.statustype.omschrijving"),
default="",
Expand All @@ -90,7 +89,7 @@ def process_data(self) -> dict:
),
default="",
)
status_text = result_text or status_text
status_text = result_text or status_text or _("No data available")

return {
"identification": self.identification,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Generated by Django 4.2.11 on 2024-04-12 07:27

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
("openzaak", "0046_alter_openzaakconfig_fetch_eherkenning_zaken_with_rsin"),
]

operations = [
migrations.DeleteModel(
name="StatusTranslation",
),
]
19 changes: 0 additions & 19 deletions src/open_inwoner/openzaak/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
from zgw_consumers.constants import APITypes

from open_inwoner.openzaak.managers import (
StatusTranslationQuerySet,
UserCaseInfoObjectNotificationManager,
UserCaseStatusNotificationManager,
ZaakTypeConfigQueryset,
Expand Down Expand Up @@ -594,21 +593,3 @@ def has_received_similar_notes_within(
return UserCaseInfoObjectNotification.objects.has_received_similar_notes_within(
self.user, self.case_uuid, period, collision_key, not_record_id=self.id
)


class StatusTranslation(models.Model):
status = models.CharField(
verbose_name=_("Status tekst"),
max_length=255,
unique=True,
)
translation = models.CharField(
verbose_name=_("Vertaling"),
max_length=255,
)

objects = StatusTranslationQuerySet.as_manager()

class Meta:
verbose_name = _("Status vertaling")
verbose_name_plural = _("Status vertalingen")
8 changes: 5 additions & 3 deletions src/open_inwoner/openzaak/notifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

from django.conf import settings
from django.urls import reverse
from django.utils.translation import gettext as _

from mail_editor.helpers import find_template
from zgw_consumers.api_models.constants import RolOmschrijving, RolTypes
Expand Down Expand Up @@ -30,7 +31,6 @@
get_zaak_type_info_object_type_config,
is_info_object_visible,
is_zaak_visible,
translate_single_status,
)
from open_inwoner.userfeed import hooks
from open_inwoner.utils.logentry import system_action as log_system_action
Expand Down Expand Up @@ -592,8 +592,10 @@ def send_case_update_email(
}
if status:
status_type = status.statustype
context["status_description"] = translate_single_status(
status_type.statustekst or status_type.omschrijving
context["status_description"] = (
status_type.statustekst
or status_type.omschrijving
or _("No data available")
)
if extra_context:
context.update(extra_context)
Expand Down
Empty file.
33 changes: 0 additions & 33 deletions src/open_inwoner/openzaak/resources/import_resource.py

This file was deleted.

9 changes: 0 additions & 9 deletions src/open_inwoner/openzaak/tests/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from open_inwoner.openzaak.api_models import Notification, Rol
from open_inwoner.openzaak.models import (
CatalogusConfig,
StatusTranslation,
UserCaseInfoObjectNotification,
UserCaseStatusNotification,
ZaakTypeConfig,
Expand Down Expand Up @@ -152,14 +151,6 @@ class Meta:
model = Notification


class StatusTranslationFactory(factory.django.DjangoModelFactory):
status = factory.Faker("pystr", max_chars=50)
translation = factory.Faker("pystr", max_chars=80)

class Meta:
model = StatusTranslation


def generate_rol(
type_: str,
identification: dict,
Expand Down
27 changes: 0 additions & 27 deletions src/open_inwoner/openzaak/tests/test_case_detail.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
from open_inwoner.openklant.tests.factories import make_contactmoment
from open_inwoner.openzaak.constants import StatusIndicators
from open_inwoner.openzaak.tests.factories import (
StatusTranslationFactory,
ZaakTypeConfigFactory,
ZaakTypeInformatieObjectTypeConfigFactory,
ZaakTypeStatusTypeConfigFactory,
Expand Down Expand Up @@ -1274,32 +1273,6 @@ def test_page_reformats_zaak_identificatie(self, m):
# once for the log, once for adding case to context
spy_format.assert_called

def test_page_translates_statuses(self, m):
trans_status_new_omschrijving = StatusTranslationFactory(
status=self.status_type_new["omschrijving"],
translation="Translated First Status Type Omschrijving",
)
trans_status_new_statustekst = StatusTranslationFactory(
status=self.status_type_new["statustekst"],
translation="Translated First Status Type Statustekst",
)
trans_status_finish_omschrijving = StatusTranslationFactory(
status=self.status_type_finish["omschrijving"],
translation="Translated Second Status Type",
)
self._setUpMocks(m)
response = self.app.get(
self.case_detail_url, user=self.user, headers={"HX-Request": "true"}
)
self.assertNotContains(response, trans_status_new_omschrijving.translation)
self.assertNotContains(response, trans_status_new_omschrijving.status)

self.assertNotContains(response, trans_status_new_statustekst.status)
self.assertContains(response, trans_status_new_statustekst.translation)

self.assertNotContains(response, trans_status_finish_omschrijving.status)
self.assertContains(response, trans_status_finish_omschrijving.translation)

def test_when_accessing_case_detail_a_timelinelog_is_created(self, m):
self._setUpMocks(m)

Expand Down
13 changes: 0 additions & 13 deletions src/open_inwoner/openzaak/tests/test_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
from .factories import (
CatalogusConfigFactory,
ServiceFactory,
StatusTranslationFactory,
ZaakTypeConfigFactory,
ZaakTypeStatusTypeConfigFactory,
)
Expand Down Expand Up @@ -761,18 +760,6 @@ def test_reformat_esuite_zaak_identificatie(self, m):
actual = Zaak._reformat_esuite_zaak_identificatie(value)
self.assertEqual(actual, expected)

def test_list_cases_translates_status(self, m):
st1 = StatusTranslationFactory(
status=self.status_type_initial["omschrijving"],
translation="Translated Status Type",
)
self._setUpMocks(m)
self.client.force_login(user=self.user)
response = self.client.get(self.inner_url, HTTP_HX_REQUEST="true")

self.assertNotContains(response, st1.status)
self.assertContains(response, st1.translation)

def test_list_cases_logs_displayed_case_ids(self, m):
self._setUpMocks(m)

Expand Down
2 changes: 1 addition & 1 deletion src/open_inwoner/openzaak/tests/test_notification_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ def __init__(self):
informeren=True,
volgnummer=2,
omschrijving="final",
statustekst="",
statustekst="status_type_final_statustekst",
isEindStatus=True,
)
self.zaak = generate_oas_component_cached(
Expand Down
Loading
Loading