Improve error on viewing remotely-deleted instance
This commit is contained in:
parent
857105b01f
commit
51bcd620e1
3 changed files with 17 additions and 1 deletions
|
@ -50,6 +50,11 @@ urlpatterns = [
|
|||
views.ServiceInstanceDetailView.as_view(),
|
||||
name="organization.instance",
|
||||
),
|
||||
path(
|
||||
"instances/<slug:slug>/update/",
|
||||
views.ServiceInstanceUpdateView.as_view(),
|
||||
name="organization.instance.update",
|
||||
),
|
||||
]
|
||||
),
|
||||
),
|
||||
|
|
|
@ -9,6 +9,7 @@ from .service import (
|
|||
ServiceDetailView,
|
||||
ServiceInstanceDetailView,
|
||||
ServiceInstanceListView,
|
||||
ServiceInstanceUpdateView,
|
||||
ServiceListView,
|
||||
ServiceOfferingDetailView,
|
||||
)
|
||||
|
@ -22,6 +23,7 @@ __all__ = [
|
|||
"ServiceDetailView",
|
||||
"ServiceInstanceDetailView",
|
||||
"ServiceInstanceListView",
|
||||
"ServiceInstanceUpdateView",
|
||||
"ServiceListView",
|
||||
"ServiceOfferingDetailView",
|
||||
"ProfileView",
|
||||
|
|
|
@ -2,6 +2,7 @@ from django.contrib import messages
|
|||
from django.core.exceptions import ValidationError
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic import DetailView, ListView
|
||||
|
||||
from servala.core.crd import deslugify
|
||||
|
@ -105,6 +106,8 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
|
|||
).first()
|
||||
|
||||
def get_instance_form(self):
|
||||
if not self.context_object:
|
||||
return None
|
||||
return self.context_object.model_form_class(
|
||||
data=self.request.POST if self.request.method == "POST" else None,
|
||||
initial={
|
||||
|
@ -130,6 +133,10 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
|
|||
return self.render_to_response(context)
|
||||
|
||||
form = self.get_instance_form()
|
||||
if not form: # Should not happen if context_object is valid, but as a safeguard
|
||||
messages.error(self.request, _("Could not initialize service form."))
|
||||
return self.render_to_response(context)
|
||||
|
||||
if form.is_valid():
|
||||
try:
|
||||
service_instance = ServiceInstance.create_instance(
|
||||
|
@ -143,7 +150,9 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
|
|||
except ValidationError as e:
|
||||
messages.error(self.request, e.message or str(e))
|
||||
except Exception as e:
|
||||
messages.error(self.request, str(e))
|
||||
messages.error(
|
||||
self.request, _("Error creating instance: {}").format(str(e))
|
||||
)
|
||||
|
||||
# If the form is not valid or if the service creation failed, we render it again
|
||||
context["service_form"] = form
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue