From 85857638742d1666c0c72969b6510b797000b517 Mon Sep 17 00:00:00 2001
From: fmareuil <fabien.mareuil@pasteur.fr>
Date: Fri, 7 Jun 2024 13:42:50 +0200
Subject: [PATCH] add cache for tmap

---
 ippisite/ippidb/views/targetcentric.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/ippisite/ippidb/views/targetcentric.py b/ippisite/ippidb/views/targetcentric.py
index 419b06ff..00628c13 100644
--- a/ippisite/ippidb/views/targetcentric.py
+++ b/ippisite/ippidb/views/targetcentric.py
@@ -9,6 +9,8 @@ from django.views.generic import ListView, DetailView, TemplateView
 from django.db.models import Case, When, Value, IntegerField, F, Q
 from django.shortcuts import redirect
 from django.contrib import messages
+from django.core.cache import cache
+from django.http import HttpResponse
 from rest_framework import viewsets
 from rest_framework.decorators import action, api_view, permission_classes
 from ippidb.models import (
@@ -538,6 +540,17 @@ class NetworkView(TemplateView):
 
     template_name = "targetcentric_networks.html"
 
+    def get(self, request, *args, **kwargs):
+        cache_key = "network_view"
+        # Use default caches, LocMemCache
+        response = cache.get(cache_key)
+        if not response:
+            response = render(request, self.template_name)
+            cache.set(cache_key, response.content, timeout=None)  # Never expire
+        else:
+            response = HttpResponse(response)
+        return response
+
 
 class NearCavitiesHTMLFragmentView(DetailView):
     model = Cavity
-- 
GitLab