diff --git a/app/core/views/common.py b/app/core/views/common.py index f1baac20..a1350afa 100644 --- a/app/core/views/common.py +++ b/app/core/views/common.py @@ -75,6 +75,13 @@ class ChangeView(View, generic.UpdateView): external_links_query = None + if 'tab' in self.request.GET: + + context['open_tab'] = str(self.request.GET.get("tab")).lower() + + else: + context['open_tab'] = None + if self.model._meta.model_name == 'device': diff --git a/app/itim/forms/services.py b/app/itim/forms/services.py index a88dc277..e591afb4 100644 --- a/app/itim/forms/services.py +++ b/app/itim/forms/services.py @@ -1,8 +1,11 @@ from django import forms from django.forms import ValidationError +from django.urls import reverse from itim.models.services import Service +from app import settings + from core.forms.common import CommonModelForm @@ -79,3 +82,81 @@ class ServiceForm(CommonModelForm): return cleaned_data + + + +class DetailForm(ServiceForm): + + + tabs: dict = { + "details": { + "name": "Details", + "slug": "details", + "sections": [ + { + "layout": "double", + "left": [ + 'name', + 'config_key_variable', + 'template', + 'organization', + 'c_created', + 'c_modified' + ], + "right": [ + 'model_notes', + ] + } + ] + }, + "rendered_config": { + "name": "Rendered Config", + "slug": "rendered_config", + "sections": [ + { + "layout": "single", + "fields": [ + 'config_variables', + ], + "json": [ + 'config_variables' + ] + } + ] + } + } + + + def __init__(self, *args, **kwargs): + + super().__init__(*args, **kwargs) + + + self.fields['config_variables'] = forms.fields.JSONField( + widget = forms.Textarea( + attrs = { + "cols": "80", + "rows": "100" + } + ), + label = 'Rendered Configuration', + initial = self.instance.config_variables, + ) + + self.fields['c_created'] = forms.DateTimeField( + label = 'Created', + input_formats=settings.DATETIME_FORMAT, + disabled = True, + initial = self.instance.created, + ) + + self.fields['c_modified'] = forms.DateTimeField( + label = 'Modified', + input_formats=settings.DATETIME_FORMAT, + disabled = True, + initial = self.instance.modified, + ) + + self.tabs['details'].update({ + "edit_url": reverse('ITIM:_service_change', args=(self.instance.pk,)) + }) diff --git a/app/itim/templates/itim/service.html.j2 b/app/itim/templates/itim/service.html.j2 index 14bbe245..c6b48466 100644 --- a/app/itim/templates/itim/service.html.j2 +++ b/app/itim/templates/itim/service.html.j2 @@ -1,273 +1,75 @@ -{% extends 'base.html.j2' %} +{% extends 'detail.html.j2' %} {% load json %} {% load markdown %} -{% block content %} - +
Name | +Organization | +
---|---|
{{ service }} | +{{ service.organization }} | +
Nothing Found | +