Skip to content

Commit

Permalink
[#2260] Removed StatusTranslation model
Browse files Browse the repository at this point in the history
  • Loading branch information
Bart van der Schoor committed Apr 12, 2024
1 parent f36f589 commit d9c642b
Show file tree
Hide file tree
Showing 15 changed files with 50 additions and 244 deletions.
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 @@ -37,16 +37,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 @@ -138,7 +137,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 @@ -193,7 +191,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 @@ -216,7 +213,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 @@ -364,17 +361,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 @@ -533,19 +530,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]
7 changes: 3 additions & 4 deletions src/open_inwoner/openzaak/api_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
from zgw_consumers.api_models.base import Model, ZGWModel
from zgw_consumers.api_models.constants import RolOmschrijving, RolTypes

from open_inwoner.utils.glom import glom_multiple

logger = logging.getLogger(__name__)


Expand Down Expand Up @@ -69,17 +71,14 @@ def process_data(self) -> dict:
"""
Prepare data for template
"""
from open_inwoner.openzaak.models import StatusTranslation

status_translate = StatusTranslation.objects.get_lookup()

return {
"identification": self.identification,
"uuid": str(self.uuid),
"start_date": self.startdatum,
"end_date": getattr(self, "einddatum", None),
"description": self.zaaktype.omschrijving,
"current_status": status_translate.from_glom_multiple(
"current_status": glom_multiple(
self,
("status.statustype.statustekst", "status.statustype.omschrijving"),
default="",
Expand Down
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
7 changes: 1 addition & 6 deletions src/open_inwoner/openzaak/tests/test_notification_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from open_inwoner.openzaak.tests.factories import generate_rol

from ..api_models import Status, StatusType, Zaak, ZaakType
from ..models import StatusTranslation
from .test_notification_data import MockAPIData


Expand All @@ -38,10 +37,6 @@ def test_send_case_update_email(self):

case.status = status

StatusTranslation.objects.create(
status=status.statustype.omschrijving, translation="My Translated Status"
)

case_url = reverse("cases:case_detail", kwargs={"object_id": str(case.uuid)})

# mock `_format_zaak_identificatie`, but then continue with result of actual call
Expand All @@ -65,7 +60,7 @@ def test_send_case_update_email(self):
body_html = email.alternatives[0][0]
self.assertIn(case.identificatie, body_html)
self.assertIn(case.zaaktype.omschrijving, body_html)
self.assertIn("My Translated Status", body_html)
self.assertIn(status.statustype.omschrijving, body_html)
self.assertIn(case_url, body_html)
self.assertIn(config.name, body_html)

Expand Down
33 changes: 0 additions & 33 deletions src/open_inwoner/openzaak/tests/test_status_translation.py

This file was deleted.

22 changes: 1 addition & 21 deletions src/open_inwoner/openzaak/utils.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
import logging

from django.utils.translation import gettext as _

from zgw_consumers.api_models.constants import RolTypes, VertrouwelijkheidsAanduidingen

from open_inwoner.kvk.branches import get_kvk_branch_number
from open_inwoner.openzaak.api_models import InformatieObject, Rol, Zaak, ZaakType

from .models import (
OpenZaakConfig,
StatusTranslation,
ZaakTypeConfig,
ZaakTypeInformatieObjectTypeConfig,
)
from .models import OpenZaakConfig, ZaakTypeConfig, ZaakTypeInformatieObjectTypeConfig

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -133,19 +126,6 @@ def get_zaak_type_info_object_type_config(
return None


def translate_single_status(status_text: str) -> str:
if not status_text:
return _("No data available")

# in most cases try to cache with StatusTranslation.objects.get_lookup()
try:
return StatusTranslation.objects.values_list("translation", flat=True).get(
status=status_text
)
except StatusTranslation.DoesNotExist:
return status_text


def get_user_fetch_parameters(request) -> dict:
"""
Determine the parameters used to perform ZGW resource fetches
Expand Down
Loading

0 comments on commit d9c642b

Please sign in to comment.