From 3e340a47b844e955d9ba9d51bcb2fabbcfac6287 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Jun 2024 04:23:24 +0930 Subject: [PATCH] refactor(access): migrate organization view to use form !21 --- app/access/forms/organization.py | 36 +++++++++++++++++++ .../templates/access/organization.html.j2 | 8 ++--- app/access/views/organization.py | 12 +++++-- 3 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 app/access/forms/organization.py diff --git a/app/access/forms/organization.py b/app/access/forms/organization.py new file mode 100644 index 00000000..9216c6b1 --- /dev/null +++ b/app/access/forms/organization.py @@ -0,0 +1,36 @@ +from django import forms +from django.db.models import Q + +from app import settings + +from access.models import Organization + + +class OrganizationForm(forms.ModelForm): + + class Meta: + model = Organization + fields = [ + 'name', + 'slug', + ] + + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.fields['created'] = forms.DateTimeField( + label="Created", + input_formats=settings.DATETIME_FORMAT, + initial=kwargs['instance'].created, + disabled=True, + required=False, + ) + + self.fields['modified'] = forms.DateTimeField( + label="Modified", + input_formats=settings.DATETIME_FORMAT, + initial=kwargs['instance'].modified, + disabled=True, + required=False, + ) diff --git a/app/access/templates/access/organization.html.j2 b/app/access/templates/access/organization.html.j2 index a2cfeac6..3f5686b3 100644 --- a/app/access/templates/access/organization.html.j2 +++ b/app/access/templates/access/organization.html.j2 @@ -4,12 +4,10 @@ {% block content %} +
+
{{ form.as_p }}
+
-
-
{{form.name}}
-
-
-
{% include 'icons/issue_link.html.j2' with issue=13 %}
diff --git a/app/access/views/organization.py b/app/access/views/organization.py index 441575e5..1e89c963 100644 --- a/app/access/views/organization.py +++ b/app/access/views/organization.py @@ -5,6 +5,8 @@ from django.views import generic from access.mixin import * from access.models import * +from access.forms.organization import OrganizationForm + class IndexView(OrganizationPermission, generic.ListView): @@ -28,13 +30,19 @@ class IndexView(OrganizationPermission, generic.ListView): class View(OrganizationPermission, generic.UpdateView): + + context_object_name = "organization" + + form_class = OrganizationForm + model = Organization + permission_required = [ 'access.view_organization', 'access.change_organization', ] + template_name = "access/organization.html.j2" - fields = ["name", 'id'] def get_success_url(self, **kwargs): @@ -48,8 +56,6 @@ class View(OrganizationPermission, generic.UpdateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - context['organization'] = Organization.objects.get(pk=self.kwargs['pk']) - context['teams'] = Team.objects.filter(organization=self.kwargs['pk']) context['model_pk'] = self.kwargs['pk']