Skip to content

Commit

Permalink
open-zaken opstarten
Browse files Browse the repository at this point in the history
  • Loading branch information
mguikema committed May 11, 2022
1 parent 8b72064 commit a6eb42f
Show file tree
Hide file tree
Showing 8 changed files with 99 additions and 29 deletions.
4 changes: 0 additions & 4 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,4 @@ DEFAULT_PASS=rabbit_zaken_password
OPENZAAK_ENABLED=True
OPENZAAK_CATALOGI_URL=http://172.17.0.1:8000/catalogi/api/v1/catalogussen/c135a500-beac-4774-bc0d-b582630e605d
OPENZAAK_DEFAULT_INFORMATIEOBJECTTYPE=http://172.17.0.1:8000/catalogi/api/v1/informatieobjecttypen/b96d14b0-03ad-421a-bc7c-b501652a04b2
OPENZAAK_CASETYPEURL_TOEZICHT=https://localhost:8000/catalogi/api/v1/statustypen/a5628108-456f-4459-9c9c-4be8c9f67f13
OPENZAAK_CASETYPEURL_HANDHAVING=https://localhost:8000/catalogi/api/v1/statustypen/a5628108-456f-4459-9c9c-4be8c9f67f14
OPENZAAK_CASETYPEURL_AFGESLOTEN=https://localhost:8000/catalogi/api/v1/statustypen/a5628108-456f-4459-9c9c-4be8c9f67f15
OPENZAAK_CASETYPEURL_DEFAULT=https://localhost:8000/catalogi/api/v1/statustypen/a5628108-456f-4459-9c9c-4be8c9f67f13
HOST=http://172.17.0.1:8080
3 changes: 2 additions & 1 deletion app/apps/cases/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ class CaseAdmin(admin.ModelAdmin):
"address",
"legacy_bwv_case_id",
"is_legacy_bwv",
"is_legacy_camunda",
"case_url",
"author",
)
list_filter = (
Expand Down Expand Up @@ -123,6 +123,7 @@ class CaseStateAdmin(admin.ModelAdmin):
"case",
"status",
"created",
"set_in_open_zaak",
)
list_filter = ("status",)
search_fields = ("case__id",)
Expand Down
14 changes: 14 additions & 0 deletions app/apps/cases/serializers/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from apps.cases.models import (
Advertisement,
Case,
CaseDocument,
CaseProject,
CaseReason,
CaseTheme,
Expand Down Expand Up @@ -181,3 +182,16 @@ class Meta:
"last_updated",
"created",
)


class CaseDocumentSerializer(serializers.ModelSerializer):
class Meta:
model = CaseDocument
fields = "__all__"


class CaseDocumentUploadSerializer(serializers.Serializer):
file_uploaded = serializers.FileField()

class Meta:
fields = ["file_uploaded"]
43 changes: 43 additions & 0 deletions app/apps/cases/views/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
from apps.cases.models import Case, CaseProject, CaseReason, CaseStateType
from apps.cases.serializers import (
AdvertisementSerializer,
CaseDocumentSerializer,
CaseDocumentUploadSerializer,
CaseSerializer,
CitizenReportSerializer,
SubjectSerializer,
)
from apps.events.mixins import CaseEventsMixin
from apps.main.filters import RelatedOrderingFilter
from apps.main.pagination import EmptyPagination
from apps.openzaak.helpers import create_document
from apps.schedules.models import DaySegment, Priority, Schedule, WeekSegment
from apps.users.permissions import (
CanAccessSensitiveCases,
Expand Down Expand Up @@ -469,3 +472,43 @@ def advertisements(self, request, pk):
context = paginator.paginate_queryset(query_set, request)
serializer = AdvertisementSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)

@extend_schema(
description="Gets the CaseDocument instances associated with this case",
responses={status.HTTP_200_OK: CaseDocumentSerializer(many=True)},
)
@action(
detail=True,
url_path="documents",
methods=["get"],
)
def documents(self, request, pk):
paginator = LimitOffsetPagination()
case = self.get_object()
query_set = case.casedocument_set.all()
context = paginator.paginate_queryset(query_set, request)
serializer = CaseDocumentSerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)

@extend_schema(
description="Add CaseDocument instances and associate it with this case",
responses={status.HTTP_200_OK: CaseDocumentSerializer()},
request=CaseDocumentUploadSerializer(),
)
@action(
detail=True,
url_path="documents",
methods=["post"],
)
def add_document(self, request, pk):
case = self.get_object()
print(request.FILES.get("file_uploaded"))
file_uploaded = request.FILES.get("file_uploaded")
content_type = file_uploaded.content_type
print(content_type)
response = create_document(case, file_uploaded, "Mijn docje")
print(response)
serialized = CaseDocumentSerializer(response)
print(serialized)
print(serialized.data)
return Response(serialized.data)
30 changes: 10 additions & 20 deletions app/apps/openzaak/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import hashlib
from datetime import date, datetime

from apps.cases.models import CaseDocument, CaseState
from apps.cases.models import CaseDocument
from django.conf import settings
from django.utils import timezone
from django.utils.translation import ugettext as _
Expand All @@ -31,10 +31,13 @@ def _parse_date(date):

def _build_zaak_body(instance):
today = date.today()
casetheme_url = settings.OPENZAAK_CASETHEME_URLS.get(
instance.theme.id, settings.OPENZAAK_CASETHEME_URL_DEFAULT
)
return {
"identificatie": f"{instance.id}{instance.identification}",
"toelichting": instance.description or "Zaak aangemaakt via AZA",
"zaaktype": instance.theme.case_type_url,
"zaaktype": casetheme_url,
"bronorganisatie": settings.DEFAULT_RSIN,
"verantwoordelijkeOrganisatie": settings.DEFAULT_RSIN,
"registratiedatum": _parse_date(today),
Expand All @@ -46,7 +49,7 @@ def _build_zaak_body(instance):
def _build_document_body(file, title, language, lock=None):
file.seek(0)
content = file.read()
string_content = content.decode("utf-8")
string_content = content.decode("utf-8", errors="ignore")

document_body = {
"bronorganisatie": settings.DEFAULT_RSIN,
Expand Down Expand Up @@ -135,26 +138,13 @@ def create_open_zaak_case_state(instance):
now = timezone.now()
with_time = datetime.combine(instance.created, now.time())

state_type_url = settings.OPENZAAK_CASETYPEURL_DEFAULT
if (
instance.status == CaseState.CaseStateChoice.TOEZICHT
and settings.OPENZAAK_CASETYPEURL_TOEZICHT
):
state_type_url = settings.OPENZAAK_CASETYPEURL_TOEZICHT
if (
instance.status == CaseState.CaseStateChoice.HANDHAVING
and settings.OPENZAAK_CASETYPEURL_HANDHAVING
):
state_type_url = settings.OPENZAAK_CASETYPEURL_HANDHAVING
if (
instance.status == CaseState.CaseStateChoice.AFGESLOTEN
and settings.OPENZAAK_CASETYPEURL_AFGESLOTEN
):
state_type_url = settings.OPENZAAK_CASETYPEURL_AFGESLOTEN
state_url = settings.OPENZAAK_CASESTATE_URLS.get(
instance.status, settings.OPENZAAK_CASESTATE_URL_DEFAULT
)

status_body = {
"zaak": instance.case.case_url,
"statustype": state_type_url,
"statustype": state_url,
"datumStatusGezet": with_time.isoformat(),
"statustoelichting": _("Status aangepast in AZA"),
}
Expand Down
24 changes: 24 additions & 0 deletions app/config/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,30 @@
OPENZAAK_CASETYPEURL_HANDHAVING = os.getenv("OPENZAAK_CASETYPE_HANDHAVING")
OPENZAAK_CASETYPEURL_AFGESLOTEN = os.getenv("OPENZAAK_CASETYPE_AFGESLOTEN")
OPENZAAK_CASETYPEURL_DEFAULT = os.getenv("OPENZAAK_CASETYPE_DEFAULT")

OPENZAAK_CASESTATE_URL_DEFAULT = os.getenv("OPENZAAK_CASESTATE_URL_DEFAULT")
OPENZAAK_CASESTATE_URLS = {
"TOEZICHT": os.getenv(
"OPENZAAK_CASESTATE_URL_TOEZICHT", OPENZAAK_CASESTATE_URL_DEFAULT
),
"HANDHAVING": os.getenv(
"OPENZAAK_CASESTATE_URL_TOEZICHT", OPENZAAK_CASESTATE_URL_DEFAULT
),
"AFGESLOTEN": os.getenv(
"OPENZAAK_CASESTATE_URL_TOEZICHT", OPENZAAK_CASESTATE_URL_DEFAULT
),
}
OPENZAAK_CASETHEME_URL_DEFAULT = os.getenv("OPENZAAK_CASETHEME_URL_DEFAULT")
OPENZAAK_CASETHEME_URLS = {
2: os.getenv(
"OPENZAAK_CASETHEME_URL_VAKANTIEVERHUUR", OPENZAAK_CASETHEME_URL_DEFAULT
),
3: os.getenv("OPENZAAK_CASETHEME_URL_KAMERVERHUUR", OPENZAAK_CASETHEME_URL_DEFAULT),
4: os.getenv("OPENZAAK_CASETHEME_URL_ONDERMIJNING", OPENZAAK_CASETHEME_URL_DEFAULT),
5: os.getenv("OPENZAAK_CASETHEME_URL_LEEGSTAND", OPENZAAK_CASETHEME_URL_DEFAULT),
6: os.getenv("OPENZAAK_CASETHEME_URL_ONDERHUUR", OPENZAAK_CASETHEME_URL_DEFAULT),
}

HOST = os.getenv("HOST")

DEFAULT_WORKFLOW_TYPE = os.getenv("DEFAULT_WORKFLOW_TYPE", "director")
Expand Down
8 changes: 5 additions & 3 deletions open-zaak/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ services:
redis:
image: redis
ports:
- 6379:6379
- 6380:6379
networks:
- open_zaken_network
- zaken_network
Expand All @@ -32,7 +32,7 @@ services:
networks:
- open_zaken_network

openzaak_local:
open-zaak.local:
image: openzaak/open-zaak:1.6.0
networks:
- open_zaken_network
Expand Down Expand Up @@ -70,6 +70,8 @@ services:

open_notificaties_celery:
image: openzaak/open-notificaties:1.3.0
ports:
- 8808:8000
command: /celery_worker.sh
env_file:
- open-notificaties/.env
Expand All @@ -91,7 +93,7 @@ services:
- redis
- rabbitmq

open_notificaties:
open-notificaties.local:
image: openzaak/open-notificaties:1.3.0
ports:
- 8888:8000
Expand Down
2 changes: 1 addition & 1 deletion open-zaak/open-zaak/.env
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
DJANGO_SETTINGS_MODULE=openzaak.conf.docker
SECRET_KEY=!FIX_THIS_AND_REPLACE_THIS
ALLOWED_HOSTS=localhost,127.0.0.1,open-zaak.gemeente.local
ALLOWED_HOSTS=localhost,127.0.0.1,open-zaak.gemeente.local,open-zaak.local
LOG_STDOUT=1

DB_HOST=db
Expand Down

0 comments on commit a6eb42f

Please sign in to comment.