Skip to content

Commit

Permalink
✨ [#1821] Add visibility flags for Category model
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenbal committed Nov 6, 2023
1 parent 74068e1 commit 23807d8
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/open_inwoner/pdc/admin/category.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
from django.forms import BaseModelFormSet
from django.utils.translation import gettext as _

from django_better_admin_arrayfield.admin.mixins import DynamicArrayMixin
from django_better_admin_arrayfield.forms.widgets import DynamicArrayWidget
from import_export.admin import ImportExportMixin
from import_export.formats import base_formats
from ordered_model.admin import OrderedInlineModelAdminMixin, OrderedTabularInline
Expand All @@ -28,11 +30,11 @@ class CategoryProductInline(OrderedTabularInline):
extra = 1


class CategoryAdminForm(movenodeform_factory(Category)):
class CategoryAdminForm(DynamicArrayMixin, movenodeform_factory(Category)):
class Meta:
model = Category
fields = "__all__"
widgets = {"description": CKEditorWidget}
widgets = {"description": CKEditorWidget, "zaaktypen": DynamicArrayWidget}

def clean(self, *args, **kwargs):
cleaned_data = super().clean(*args, **kwargs)
Expand Down
72 changes: 72 additions & 0 deletions src/open_inwoner/pdc/migrations/0061_auto_20231106_1207.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Generated by Django 3.2.20 on 2023-11-06 11:07

import django.contrib.postgres.fields
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("pdc", "0060_content_collapsable"),
]

operations = [
migrations.AddField(
model_name="category",
name="relevante_zaakperiode",
field=models.PositiveIntegerField(
blank=True,
help_text="Aantal maanden dat teruggekeken moet worden naar Zaken van deze zaaktypes.",
null=True,
verbose_name="Relevante zaakperiode",
),
),
migrations.AddField(
model_name="category",
name="visible_for_anonymous",
field=models.BooleanField(
default=True,
help_text="Of het onderwerp zichtbaar moet zijn op het anonieme deel (zonder inloggen).",
verbose_name="Anonieme deel",
),
),
migrations.AddField(
model_name="category",
name="visible_for_authenticated",
field=models.BooleanField(
default=True,
help_text="Of het onderwerp zichtbaar moet zijn op het beveiligde deel (achter inloggen).",
verbose_name="Beveiligde deel",
),
),
migrations.AddField(
model_name="category",
name="visible_for_citizens",
field=models.BooleanField(
default=True,
help_text="Of het onderwerp zichtbaar moet zijn wanneer iemand aangeeft een inwoner te zijn (of is ingelogd met BSN).",
verbose_name="Inwoner content",
),
),
migrations.AddField(
model_name="category",
name="visible_for_companies",
field=models.BooleanField(
default=True,
help_text="Of het onderwerp zichtbaar moet zijn wanneer iemand aangeeft een bedrijf te zijn (of is ingelogd met KvK).",
verbose_name="Bedrijven content",
),
),
migrations.AddField(
model_name="category",
name="zaaktypen",
field=django.contrib.postgres.fields.ArrayField(
base_field=models.CharField(blank=True, max_length=1000),
blank=True,
default=list,
help_text="Zaaktypen waarvoor bij aanwezigheid dit onderwerp getoond moet worden.",
size=None,
verbose_name="Zaaktypen",
),
),
]
46 changes: 46 additions & 0 deletions src/open_inwoner/pdc/models/category.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from django.contrib.postgres.fields import ArrayField
from django.db import models
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
Expand Down Expand Up @@ -34,6 +35,51 @@ class Category(MP_Node):
default=False,
help_text=_("Whether the category should be published or not."),
)
visible_for_anonymous = models.BooleanField(
verbose_name=_("Anonieme deel"),
default=True,
help_text=_(
"Of het onderwerp zichtbaar moet zijn op het anonieme deel (zonder inloggen)."
),
)
visible_for_authenticated = models.BooleanField(
verbose_name=_("Beveiligde deel"),
default=True,
help_text=_(
"Of het onderwerp zichtbaar moet zijn op het beveiligde deel (achter inloggen)."
),
)
visible_for_companies = models.BooleanField(
verbose_name=_("Bedrijven content"),
default=True,
help_text=_(
"Of het onderwerp zichtbaar moet zijn wanneer iemand aangeeft een bedrijf te zijn (of is ingelogd met KvK)."
),
)
visible_for_citizens = models.BooleanField(
verbose_name=_("Inwoner content"),
default=True,
help_text=_(
"Of het onderwerp zichtbaar moet zijn wanneer iemand aangeeft een inwoner te zijn (of is ingelogd met BSN)."
),
)
zaaktypen = ArrayField(
models.CharField(max_length=1000, blank=True),
verbose_name=_("Zaaktypen"),
default=list,
blank=True,
help_text=_(
"Zaaktypen waarvoor bij aanwezigheid dit onderwerp getoond moet worden."
),
)
relevante_zaakperiode = models.PositiveIntegerField(
verbose_name=_("Relevante zaakperiode"),
blank=True,
null=True,
help_text=_(
"Aantal maanden dat teruggekeken moet worden naar Zaken van deze zaaktypes."
),
)
highlighted = models.BooleanField(
verbose_name=_("Highlighted"),
default=False,
Expand Down

0 comments on commit 23807d8

Please sign in to comment.