Skip to content

Commit 2a0483e

Browse files
committed
🎨 [#183] made internetaak serializer validate and model save method more precise in checking for status
1 parent 2199b1a commit 2a0483e

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

src/openklant/components/klantinteracties/api/serializers/internetaken.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,16 @@ class Meta:
7272

7373
def validate(self, attrs):
7474
status = attrs.get("status", None)
75-
if not status and self.instance:
75+
if status is None and self.instance is not None:
7676
status = self.instance.status
7777

7878
if attrs.get("afgehandeld_op") and status != Taakstatus.verwerkt:
7979
raise serializers.ValidationError(
8080
{
8181
"afgehandeld_op": _(
8282
"De Internetaak kan geen afgehandeld op datum bevatten "
83-
"als de status nog in '{te_verwerken}' staat."
84-
).format(te_verwerken=Taakstatus.te_verwerken.value)
83+
"als de status niet op '{verwerkt}' staat."
84+
).format(verwerkt=Taakstatus.verwerkt)
8585
}
8686
)
8787

src/openklant/components/klantinteracties/api/tests/test_internetaken.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ def test_create_internetaak_with_status_te_verwerken(self):
147147
self.assertEqual(response_data["invalidParams"][0]["name"], "afgehandeldOp")
148148
self.assertEqual(
149149
response_data["invalidParams"][0]["reason"],
150-
"De Internetaak kan geen afgehandeld op datum bevatten als de status nog in 'te_verwerken' staat.",
150+
"De Internetaak kan geen afgehandeld op datum bevatten als de status niet op 'verwerkt' staat.",
151151
)
152152

153153
def test_create_internetaak_with_afgehandeld_op_date(self):
@@ -306,7 +306,7 @@ def test_update_internetaak(self):
306306
self.assertEqual(data["invalidParams"][0]["name"], "afgehandeldOp")
307307
self.assertEqual(
308308
data["invalidParams"][0]["reason"],
309-
"De Internetaak kan geen afgehandeld op datum bevatten als de status nog in 'te_verwerken' staat.",
309+
"De Internetaak kan geen afgehandeld op datum bevatten als de status niet op 'verwerkt' staat.",
310310
)
311311

312312
def test_partial_update_internetaak(self):

src/openklant/components/klantinteracties/models/internetaken.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,12 @@ class Meta:
8888

8989
def save(self, *args, **kwargs):
9090
number_generator(self, InterneTaak)
91-
if not self.afgehandeld_op and self.status == Taakstatus.verwerkt:
92-
self.afgehandeld_op = timezone.now()
93-
if self.afgehandeld_op and self.status == Taakstatus.te_verwerken:
94-
self.afgehandeld_op = None
91+
if self.afgehandeld_op is None:
92+
if self.status == Taakstatus.verwerkt:
93+
self.afgehandeld_op = timezone.now()
94+
else:
95+
if self.status == Taakstatus.te_verwerken:
96+
self.afgehandeld_op = None
9597
return super().save(*args, **kwargs)
9698

9799
def __str__(self):

0 commit comments

Comments
 (0)