From 684dcc9d771c22d794d5e755fc8c10e1d99bb69c Mon Sep 17 00:00:00 2001 From: JunsongDu Date: Fri, 26 Jul 2024 17:58:30 +0200 Subject: [PATCH] fix(subscription): activation function --- .../templates/subscriptions/panel.html | 27 ++++++++++++------- app/Entirety/subscriptions/views/list.py | 1 - app/Entirety/subscriptions/views/status.py | 22 +++++---------- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/app/Entirety/subscriptions/templates/subscriptions/panel.html b/app/Entirety/subscriptions/templates/subscriptions/panel.html index 0e789bff..5b6e6f79 100644 --- a/app/Entirety/subscriptions/templates/subscriptions/panel.html +++ b/app/Entirety/subscriptions/templates/subscriptions/panel.html @@ -1,16 +1,23 @@
- - - - +
+ {% csrf_token %} + +
diff --git a/app/Entirety/subscriptions/views/list.py b/app/Entirety/subscriptions/views/list.py index 965eac41..96db6b29 100644 --- a/app/Entirety/subscriptions/views/list.py +++ b/app/Entirety/subscriptions/views/list.py @@ -48,7 +48,6 @@ def get_queryset(self): sub.description = sub_cb.description sub.status = sub_cb.status sub.project = self.project - # TODO now only support/display one entity if sub_cb.subject.entities[0].id: sub.entity_id = sub_cb.subject.entities[0].id if sub_cb.subject.entities[0].idPattern: diff --git a/app/Entirety/subscriptions/views/status.py b/app/Entirety/subscriptions/views/status.py index 98c5f42e..2cf8278a 100644 --- a/app/Entirety/subscriptions/views/status.py +++ b/app/Entirety/subscriptions/views/status.py @@ -1,11 +1,9 @@ from django.conf import settings -from django.shortcuts import render +from django.shortcuts import redirect from django.views.generic import View - from filip.clients.ngsi_v2.cb import ContextBrokerClient from filip.models import FiwareHeader from filip.models.ngsi_v2.base import Status as CBStatus - from projects.mixins import ProjectContextMixin from subscriptions.models import Subscription @@ -25,19 +23,11 @@ def post(self, request, *args, **kwargs): service_path=self.project.fiware_service_path, ), ) as cb_client: - cb_sub = cb_client.get_subscription(uuid) - cb_sub.status = ( + sub_cb = cb_client.get_subscription(uuid) + sub_cb.status = ( CBStatus.INACTIVE - if cb_sub.status is CBStatus.ACTIVE + if sub_cb.status is CBStatus.ACTIVE else CBStatus.ACTIVE ) - cb_client.update_subscription(cb_sub) - - sub.description = cb_sub.description - sub.status = cb_sub.status - - return render( - request, - "subscriptions/panel.html", - {"project": self.project, "subscription": sub}, - ) + cb_client.update_subscription(sub_cb) + return redirect("projects:subscriptions:list", project_id=self.project.uuid)