Compare commits

..

No commits in common. "3e17e03da9f290aeed89a68343d2ca98fa2c266b" and "e4c64c4a1777c6211b5b65c204dd6af655617827" have entirely different histories.

View file

@ -233,12 +233,9 @@ The Servala Team"""
try: try:
service = Service.objects.get(osb_service_id=service_id) service = Service.objects.get(osb_service_id=service_id)
# Special handling: when plan_id is "suspend", don't lookup service_offering service_offering = ServiceOffering.objects.get(
service_offering = None osb_plan_id=plan_id, service=service
if plan_id != "suspend": )
service_offering = ServiceOffering.objects.get(
osb_plan_id=plan_id, service=service
)
except Service.DoesNotExist: except Service.DoesNotExist:
return self._error(f"Unknown service_id: {service_id}") return self._error(f"Unknown service_id: {service_id}")
except ServiceOffering.DoesNotExist: except ServiceOffering.DoesNotExist:
@ -261,7 +258,7 @@ The Servala Team"""
return self.request.build_absolute_uri(admin_path) return self.request.build_absolute_uri(admin_path)
def _create_action_helpdesk_ticket( def _create_action_helpdesk_ticket(
self, request, action, instance_id, service, service_offering=None, users=None self, request, action, instance_id, service, service_offering, users=None
): ):
""" """
Create an Odoo helpdesk ticket for offboarding or suspension actions. Create an Odoo helpdesk ticket for offboarding or suspension actions.
@ -272,12 +269,11 @@ The Servala Team"""
organization = None organization = None
try: try:
# Look for instances with this name in the service offering's context # Look for instances with this name in the service offering's context
filter_kwargs = {"name": instance_id}
if service_offering:
filter_kwargs["context__service_offering"] = service_offering
service_instance = ( service_instance = (
ServiceInstance.objects.filter(**filter_kwargs) ServiceInstance.objects.filter(
name=instance_id,
context__service_offering=service_offering,
)
.select_related("organization") .select_related("organization")
.first() .first()
) )
@ -306,14 +302,13 @@ The Servala Team"""
else: else:
description_parts.append(f"Instance: {instance_id}") description_parts.append(f"Instance: {instance_id}")
if service_offering: offering_url = self._get_admin_url(
offering_url = self._get_admin_url( "core_serviceoffering_change", service_offering.pk
"core_serviceoffering_change", service_offering.pk )
) description_parts.append(f"Service Offering: {offering_url}")
description_parts.append(f"Service Offering: {offering_url}")
if users: if users:
description_parts.append("<br/>Users:") description_parts.append("\nUsers:")
for user_data in users: for user_data in users:
email = user_data.get("email", "N/A") email = user_data.get("email", "N/A")
full_name = user_data.get("full_name", "N/A") full_name = user_data.get("full_name", "N/A")
@ -329,7 +324,7 @@ The Servala Team"""
description_parts.append(f" - {full_name} ({user_link}) - {role}") description_parts.append(f" - {full_name} ({user_link}) - {role}")
description = "<br/>".join(description_parts) description = "\n".join(description_parts)
create_helpdesk_ticket( create_helpdesk_ticket(
title=f"Exoscale OSB {action} - {service.name} - {instance_id}", title=f"Exoscale OSB {action} - {service.name} - {instance_id}",