From 0e08e9aaff6743f4a2eb50e05de5ab0dcabfcc55 Mon Sep 17 00:00:00 2001
From: Nico Vermaas <vermaas@astron.nl>
Date: Thu, 12 Aug 2021 16:48:07 +0200
Subject: [PATCH] remove staging app

---
 esap/esap/esap_accounts_config.sqlite3    | Bin 249856 -> 249856 bytes
 esap/esap/esap_config.sqlite3             | Bin 450560 -> 450560 bytes
 esap/esap/esap_staging_config.sqlite3     | Bin 20480 -> 0 bytes
 esap/esap/settings/base.py                |   1 -
 esap/esap/settings/dev.py                 |   4 --
 esap/esap/settings/docker.py              |   4 --
 esap/esap/urls.py                         |   1 -
 esap/query/database_router.py             |   2 +-
 esap/query/templates/query/index.html     |   2 +-
 esap/rucio/database_router.py             |  10 ++---
 esap/staging/__init__.py                  |   0
 esap/staging/admin.py                     |  32 --------------
 esap/staging/api/__init__.py              |   0
 esap/staging/api/serializers.py           |  10 -----
 esap/staging/api/urls.py                  |  18 --------
 esap/staging/api/views.py                 |  42 ------------------
 esap/staging/apps.py                      |   5 ---
 esap/staging/database_router.py           |  37 ----------------
 esap/staging/models.py                    |   5 ---
 esap/staging/templates/staging/base.html  |  51 ----------------------
 esap/staging/templates/staging/index.html |  50 ---------------------
 esap/staging/tests.py                     |   3 --
 22 files changed, 7 insertions(+), 270 deletions(-)
 delete mode 100644 esap/esap/esap_staging_config.sqlite3
 delete mode 100644 esap/staging/__init__.py
 delete mode 100644 esap/staging/admin.py
 delete mode 100644 esap/staging/api/__init__.py
 delete mode 100644 esap/staging/api/serializers.py
 delete mode 100644 esap/staging/api/urls.py
 delete mode 100644 esap/staging/api/views.py
 delete mode 100644 esap/staging/apps.py
 delete mode 100644 esap/staging/database_router.py
 delete mode 100644 esap/staging/models.py
 delete mode 100644 esap/staging/templates/staging/base.html
 delete mode 100644 esap/staging/templates/staging/index.html
 delete mode 100644 esap/staging/tests.py

diff --git a/esap/esap/esap_accounts_config.sqlite3 b/esap/esap/esap_accounts_config.sqlite3
index bb8afe2e1ed720013c528548ea4431b630736eff..a8c9f299ae7a3481353942144cb07ff083c2187b 100644
GIT binary patch
delta 1103
zcmZozz~8Wde}Xh)??f4A#@>wyU-Z~&3|W~oIj0{KWz^r?sb8(YEW=m6nLQwx&ynvc
zgJW50QEp;lF>@ggvosToQ-jQ@M&?u@b1EmVjx%E{n*1nko>K*~L^(3244G4k%qc<U
z6mLEhuW*R5bh?2RW5D!ZmW)Q6t)*?ntPI`p(%UDxFui2rhB~h$u&rqOdRs<grs)nG
zOyb+us58!EVk`k^Y~FrOi_w;qQF1$v0popsPT96f1_lP<w$kli>=^|dxR}{5Gw^)n
zN@2gevGFK7ODk_%&Gd|2j7zpx?_hkx$XLBSV;AEDCblY8h8||=$%>Jt)9b>Sc(*(3
zWjw&NZ2}{U!FHAgMnfjHN>+yMVz7ek1x<`6nAj@dI=0t^GaX}^uGh-Q&e9&)R=)j}
zA>(akrna)}iam_?nRyr>K#qZd!DKqm1;%n#69xtb$?Y8%7`G~Fr-T=nh2`d#r{wu%
zM7f4}2WA^)1{tPgCS^sH2f3OCC+4|Dg&LTKCx!S<_xEEA=1e#CtI9U=tMZ(F<P)P#
zq_Mw?W2IkJV6kUzPDYBer<rd^WTn4Lvax?iq_LlKd1hi>P=RMwex`4Tqp5#LP_DmA
za*3aNppjpufq`FmpoveoYgLrHZ;79aYlUx>Q?9RzQ?{Q`RPJ=o&y1S&Za&75<%MYh
z=_T$Z#zBT=l|B&`*~TI9p(UO<1%8nQp<c$}J`o`%<vB&=N!}Lu=83wxAr}5lCf@l~
z{svhdl~wVjrtYa(>B)Jasfm&Pmd=h<=4l22DalcOCPCpr7I}qHWtnEdL6%wRi6wd7
zRe`QXekEqfu7>Fu<;9UYB~|5_m2M`MUWH!XY1uguY2{UZKII<X`G%#I0q#XbQI6$C
zZjm|0=7nL7)A#o>8&41T!f4L{4Wq#68<#LvM*F)YoA_3F8v9n3XC{Wb8F*&pSNLUl
zn)p>EoBCxX8~8YT6{fgnXZmM)<@krY8u*7KSNR1S82GyQ8vBF<<wj;Dmqdm*W%y+p
zRQcwHWk!a(8u+<;W&68?P8W=1_Nb3AF7tQx$xZW3)(uEbO{_}Mwah9F%gnGSatsX*
zv`7nejxZ0dD$OZ1bMg(-O*M8Z%Sx+sF>tnU&34PmDhx|5C<-ksFwHXcGjS;{C<-q1
zvkVRP4fGH4t}JvfDv!+d3C(q?$O*3Sj7(0=G0#ZyG^#R>H}g$$^hhpoDX}kd^iEE8
zFG%t7c5$qVH!v@C^foJxDh<p?j<+m#3k@#H^mPlU2y^o=&vZ00Ff!CNu+TL$QZO{J
UGO@5SG-xmU#<;!k8&m&H03IS|=l}o!

delta 1144
zcmZozz~8Wde}Xh)!9*En#)6FrU-Z}t4Oy8pIj0{KWz^r?sb8(YEX$X*nLQwx&yj~&
znyD<cC^s>&n7I&{Q-I9LN9N=qb8;uIjx%FSoBSwlo>LC8L^d)f3z?IN%*jCJq;EbH
zuW*PlbGm^QW5D!ZmW)Q6t)*@0tPI`p(%UDxFui2rhPt&Suq|!-dRs<grs)nGOyb+u
zs58!EV$1+(Y~FrOi_w;q(PTT10popsPRX`h1_lP<w#@Bc>=^|dwzC{yG-P7SWo76t
zmY%E_X}Z1O5aS6Zwj5T59%hI@T{zP*rs;Y|8QEFdBipjKzcOUJ&CJx6wO#QH<9+6B
z6Bt<xwzF(tJi^G93fDBfE}V&XyTB&K!%S=`aI>cu9Ae~|?z@$dXSz=>quh3vt&EeH
z7?Y=GbTKa3Ufsd?hLJI8dqx-I1SYmbG@~4P84ob=FhGDD0|SHXbe;>0<*c#{3=AgQ
zJ1#J8Rn(3OFDVK%@QO%v^UL#dHFQah@HFtvH82P<sBj503=0f4h{{b4aVku4kDTuB
z#~93+Zr~r{XyRKHIQ_^cMx96l{}5MWUzhA+&)l4h6lYH}-;l^kf0sa0-w@Yw|KRe>
z#Jr#a&#e5+sH{)}Uw2m%|M0+)D3@%L$VvkPzwl6FpK!12sNB$!$gDskUl&J1zp79Z
zUl&KC>7Jh%HS5z{v%}L<OM~3Zva^cvjB+b-jWdd>0(}khvb}RG4T6lyUCYBlGYp(6
z@{PkR4c)xljEzIfit|&=LxOU0vZ8X*B0|F|O&n8FeT<^YGlDXVjE$l^e4;|rON$Ld
zBLj^i-Q)9(EsV-5<3mC+97}!8jFa6%J;VK-!^?CHleJ5N%kq4T@+^$JlCmmG3Ve%`
ziw!J%Qccaw<1+)xGa~&x%%URm!cDzgJ*V&MWj2`}@P*Ny0~9C~zAo9*H!fkUj0S~<
zpGz_%G{W5sJhSpE{IWbv{9Ljtd_x>feVn}tQ{1yN{WCqQBCC8WeXAl3{3;DIeZ##n
zeL?~&BSTzEB14j^A}b9{{c>Ha{6nI0eBFI3{X>$c3q~?~)F--xl<H=?rv>DB`le<2
z__(CFni&TBMOIZsnmZXJ6&B>jXPc#YgnLw(nne1S=^BSrmgJOXB^4wZ`4u}>I93>B
zMtX&%=6NIqrMp#yl%)kZMtGVThdG8sMr4GU<`!pWq<Fbxq?!5{`j@x`rI$Ko7e|_v
z7?(zt=$aN-+6QEs8AiEycv^bo1Sh(OIQfQ^6nHy@<^`L1g(aJtdYXCUnnaXVh8cMK
jCmR_U8R{BX=o(lm7?@cZTUeP`wikY5++O&NssAPbPeyIL

diff --git a/esap/esap/esap_config.sqlite3 b/esap/esap/esap_config.sqlite3
index fecce1f4247b9ffdab677adebb004c9e352a5f5c..1ccf85820adc833bef82599de736849dac28cbf3 100644
GIT binary patch
delta 1832
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
J=PkDHtN_XuTVMbH

delta 1806
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
YG)jzjL{wM;py~*@#@fz#i|sor05AVig#Z8m

diff --git a/esap/esap/esap_staging_config.sqlite3 b/esap/esap/esap_staging_config.sqlite3
deleted file mode 100644
index ae12217d8e863c7b57d7317dc634f761ff5b351e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20480
zcmWFz^vNtqRY=P(%1ta$FlG>7U}R))P*7lCU|?rpU|?lnU|?ZjU|>XIGe7}I49dhw
zu`}p?+`-Ghz`)EW$-u9|cZpAuw*aT=QHjwI7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z
z5Exb=z?dX%YRcH8TauWRlbV-W9v@#^l9-;Emky(`iLp8dxjKfpDug&X`M4@5VN;@{
zprMqRqNI?SSCX2ZTBP9TAEMwF>f@sj5aj9W7!;}C?HZ}z7#ia5>E|5e>g(zkqNAWx
zT9m1zP?lJfoRL_hVPc@kz`$@A>^$X0GZuDnZEeOTWw1lh+=#|Sa~_&3Ra^%5kB)*;
zaY<rHX)%h!;nJD`Ol%-`M?#!kn3GwO8eg1RSelxboLY>^Wkv~AG)axT#N1S!;?zRT
z#z;nXaeaNprbMurDOrhm>G|=wndwD|C7Jno#TWuiDCR0*$deTyi3J4+9~+sPYQnv&
zqo4$GD{k4uf`XjP)D$I!l*E$MlFZyxxK>S2-<*kmA_M;!{)xjXn~i#AGz3ONU^E0q
zLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n26G5lGO;p98#_XWPz($Vj9}wJAiAWq*vP=h
zK-a)r*T_V{(8S8X%*x0@&&<Hc+{D<3k(EJO6-ldMd}dx|NoHaWnjS+dV<SB?V+#`_
z177}X3{3p{8Tj|}zvkaNm;+|iZKEMD8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*
zAuwV?K$MYLpAlny0TTlQgD59-2mv%~09szcAk56H&4?xlQV9+`{s&-clo$<x(GVC7
zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7=j@n$H>g!oKaFzV5P5LT9l((lCPVn
z3mpW|&B{-Ltp9(&!2fP^1Yih8@2HbULtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU
u1V(rWs4=oII7?@g@G!A3hzn=sC&e4(rIrgYvM`8CgLsAosd*`xdFcTEwkmJ{

diff --git a/esap/esap/settings/base.py b/esap/esap/settings/base.py
index d16701f9..36d41c37 100644
--- a/esap/esap/settings/base.py
+++ b/esap/esap/settings/base.py
@@ -35,7 +35,6 @@ USE_X_FORWARDED_HOST = True
 
 INSTALLED_APPS = [
     'query.apps.MyAppConfig',
-    'staging',
     'accounts',
     'rucio',
     'ida',
diff --git a/esap/esap/settings/dev.py b/esap/esap/settings/dev.py
index 24f821ee..d229bf10 100644
--- a/esap/esap/settings/dev.py
+++ b/esap/esap/settings/dev.py
@@ -37,10 +37,6 @@ DATABASES = {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'esap_accounts_config.sqlite3'),
     },
-    'staging': {
-        'ENGINE': 'django.db.backends.sqlite3',
-        'NAME': os.path.join(BASE_DIR, 'esap_staging_config.sqlite3'),
-    },
     'ida': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'esap_ida_config.sqlite3'),
diff --git a/esap/esap/settings/docker.py b/esap/esap/settings/docker.py
index 272f9f72..6adbf83a 100644
--- a/esap/esap/settings/docker.py
+++ b/esap/esap/settings/docker.py
@@ -38,10 +38,6 @@ DATABASES = {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': '/shared/esap_accounts_config.sqlite3',
     },
-    'staging': {
-        'ENGINE': 'django.db.backends.sqlite3',
-        'NAME': '/shared/esap_staging_config.sqlite3',
-    },
     'ida': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': '/shared/esap_ida_config.sqlite3',
diff --git a/esap/esap/urls.py b/esap/esap/urls.py
index da942e8e..7c498e3d 100644
--- a/esap/esap/urls.py
+++ b/esap/esap/urls.py
@@ -18,7 +18,6 @@ from django.urls import include, path, re_path
 
 urlpatterns = [
     path('esap-api/query/', include('query.api.urls')),
-    path('esap-api/staging/', include('staging.api.urls')),
     path('esap-api/rucio/', include('rucio.api.urls')),
     path('esap-api/accounts/', include('accounts.api.urls')),
     path('esap-api/ida/', include('ida.api.urls')),
diff --git a/esap/query/database_router.py b/esap/query/database_router.py
index de3ffd27..cfeded5a 100644
--- a/esap/query/database_router.py
+++ b/esap/query/database_router.py
@@ -1,7 +1,7 @@
 class QueryRouter:
 
     route_app_labels = {'query', 'auth', 'contenttypes', 'sessions', 'admin'}
-    custom_router_app_labels = {'ida', 'rucio', 'accounts', 'staging'}
+    custom_router_app_labels = {'ida', 'rucio', 'accounts'}
 
     def db_for_read(self, model, **hints):
         
diff --git a/esap/query/templates/query/index.html b/esap/query/templates/query/index.html
index 83850492..6eadad0f 100644
--- a/esap/query/templates/query/index.html
+++ b/esap/query/templates/query/index.html
@@ -70,7 +70,7 @@
 </div>
 
 
-<p class="footer" small>ASTRON - version 12 aug 2021</p>
+<p class="footer" small>ASTRON - version 12 aug 2021 - 17:00</p>
 
 {% endblock %}
 
diff --git a/esap/rucio/database_router.py b/esap/rucio/database_router.py
index c1f7290c..2894bc69 100644
--- a/esap/rucio/database_router.py
+++ b/esap/rucio/database_router.py
@@ -4,20 +4,20 @@ class RucioRouter:
 
     def db_for_read(self, model, **hints):
         """
-        Attempts to read staging models go to staging database.
+        Attempts to read rucio models go to rucio database.
         """
         if model._meta.app_label in self.route_app_labels:
             return 'rucio'
 
     def db_for_write(self, model, **hints):
         """
-        Writes always go to staging.
+        Writes always go to rucio.
         """
         return 'rucio'
 
     def allow_relation(self, obj1, obj2, **hints):
         """
-        Allow relations if a model in the staging apps is
+        Allow relations if a model in the rucio apps is
         involved.
         """
         if (
@@ -29,8 +29,8 @@ class RucioRouter:
 
     def allow_migrate(self, db, app_label, model_name=None, **hints):
         """
-        Make sure the staging apps only appear in the
-        'staging' database.
+        Make sure the rucio apps only appear in the
+        'rucio' database.
         """
         if app_label in self.route_app_labels:
             return db == 'rucio'
diff --git a/esap/staging/__init__.py b/esap/staging/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/esap/staging/admin.py b/esap/staging/admin.py
deleted file mode 100644
index 0e4f109a..00000000
--- a/esap/staging/admin.py
+++ /dev/null
@@ -1,32 +0,0 @@
-from django.contrib import admin
-from .models import Staging
-
-admin.site.register(Staging)
-
-
-
-class MultiDBModelAdmin(admin.ModelAdmin):
-    # A handy constant for the name of the alternate database.
-    using = 'staging'
-
-    def save_model(self, request, obj, form, change):
-        # Tell Django to save objects to the 'other' database.
-        obj.save(using=self.using)
-
-    def delete_model(self, request, obj):
-        # Tell Django to delete objects from the 'other' database
-        obj.delete(using=self.using)
-
-    def get_queryset(self, request):
-        # Tell Django to look for objects on the 'other' database.
-        return super().get_queryset(request).using(self.using)
-
-    def formfield_for_foreignkey(self, db_field, request, **kwargs):
-        # Tell Django to populate ForeignKey widgets using a query
-        # on the 'other' database.
-        return super().formfield_for_foreignkey(db_field, request, using=self.using, **kwargs)
-
-    def formfield_for_manytomany(self, db_field, request, **kwargs):
-        # Tell Django to populate ManyToMany widgets using a query
-        # on the 'other' database.
-        return super().formfield_for_manytomany(db_field, request, using=self.using, **kwargs)
\ No newline at end of file
diff --git a/esap/staging/api/__init__.py b/esap/staging/api/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/esap/staging/api/serializers.py b/esap/staging/api/serializers.py
deleted file mode 100644
index ac5c493a..00000000
--- a/esap/staging/api/serializers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from rest_framework import serializers
-from ..models import Staging
-import logging
-
-logger = logging.getLogger(__name__)
-
-class StagingSerializer(serializers.ModelSerializer):
-    class Meta():
-        model = Staging
-        fields = "__all__"
\ No newline at end of file
diff --git a/esap/staging/api/urls.py b/esap/staging/api/urls.py
deleted file mode 100644
index 8b03957d..00000000
--- a/esap/staging/api/urls.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from django.urls import path
-from django.contrib import admin
-from rest_framework import routers
-
-from .views import StagingViewSet
-from . import views
-
-router = routers.DefaultRouter()
-router.register('staging', StagingViewSet, 'staging')
-
-urlpatterns = router.urls
-
-urlpatterns = [
-    # path('admin', admin.site.urls, name='admin-view'),
-    path('', views.IndexView.as_view(), name='index-view'),
-    path('staging', views.StagingListViewAPI.as_view(), name='staging-view'),
-]
-
diff --git a/esap/staging/api/views.py b/esap/staging/api/views.py
deleted file mode 100644
index 8f8f4b8f..00000000
--- a/esap/staging/api/views.py
+++ /dev/null
@@ -1,42 +0,0 @@
-from django.views.generic import ListView
-from django_filters import rest_framework as filters
-from rest_framework import viewsets, permissions
-
-from staging.models import Staging
-from rest_framework import generics
-
-from .serializers import StagingSerializer
-
-
-class StagingViewSet(viewsets.ModelViewSet):
-    serializer_class = StagingSerializer
-    permission_classes = [permissions.IsAuthenticated]
-
-    def get_queryset(self):
-        return self.request.user.staging.all()
-    
-    def perform_create(self, serializer):
-        serializer.save(owner=self.request.user)
-
-# example: /esap/staging/
-class IndexView(ListView):
-    queryset = Staging.objects.all()
-    serializer_class = StagingSerializer
-    template_name = 'staging/index.html'
-
-    # by default this returns the list in an object called object_list, so use 'object_list' in the html page.
-    # but if 'context_object_name' is defined, then this returned list is named and can be accessed that way in html.
-    context_object_name = 'my_staging'
-
-# example: /esap-api/staging/staging/
-class StagingListViewAPI(generics.ListCreateAPIView):
-    """
-    A list of Archives
-    """
-    model = Staging
-    queryset = Staging.objects.all()
-    serializer_class = StagingSerializer
-
-    # using the Django Filter Backend - https://django-filter.readthedocs.io/en/latest/index.html
-    # filter_backends = (filters.DjangoFilterBackend,)
-    # filter_class = StagingFilter
\ No newline at end of file
diff --git a/esap/staging/apps.py b/esap/staging/apps.py
deleted file mode 100644
index cb00000e..00000000
--- a/esap/staging/apps.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from django.apps import AppConfig
-
-
-class StagingConfig(AppConfig):
-    name = 'staging'
diff --git a/esap/staging/database_router.py b/esap/staging/database_router.py
deleted file mode 100644
index b976b35d..00000000
--- a/esap/staging/database_router.py
+++ /dev/null
@@ -1,37 +0,0 @@
-class StagingRouter:
-
-    route_app_labels = {'staging'}
-
-    def db_for_read(self, model, **hints):
-        """
-        Attempts to read staging models go to staging database.
-        """
-        if model._meta.app_label in self.route_app_labels:
-            return 'staging'
-
-    def db_for_write(self, model, **hints):
-        """
-        Writes always go to staging.
-        """
-        return 'staging'
-
-    def allow_relation(self, obj1, obj2, **hints):
-        """
-        Allow relations if a model in the staging apps is
-        involved.
-        """
-        if (
-            obj1._meta.app_label in self.route_app_labels or
-            obj2._meta.app_label in self.route_app_labels
-        ):
-           return True
-        return None
-
-    def allow_migrate(self, db, app_label, model_name=None, **hints):
-        """
-        Make sure the staging apps only appear in the
-        'staging' database.
-        """
-        if app_label in self.route_app_labels:
-            return db == 'staging'
-        return None
\ No newline at end of file
diff --git a/esap/staging/models.py b/esap/staging/models.py
deleted file mode 100644
index 376d1bc4..00000000
--- a/esap/staging/models.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from django.db import models
-
-class Staging(models.Model):
-    uri = models.CharField(max_length=40, null=False)
-    status = models.CharField(max_length=40, null=False)
\ No newline at end of file
diff --git a/esap/staging/templates/staging/base.html b/esap/staging/templates/staging/base.html
deleted file mode 100644
index 65791a94..00000000
--- a/esap/staging/templates/staging/base.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-<!DOCTYPE html>
-{% load static %}
-<html lang="en">
-<head>
-
-    <!-- Required meta tags -->
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-
-    <title>{% block myBlockTitle %}ESAP API - Staging{% endblock %}</title>
-
-    <!-- loads the path to static files -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
-
-   <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
-   <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
-   <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
-
-    <link rel="stylesheet" type="text/css" href="{% static 'query/style.css' %}"/>
-    <link href='https://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
-   <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css" integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous">
-
-    <link rel="icon" href="http://uilennest.net/static/esap_icon.jpg">
-
-    {% block extra_js %}{% endblock %}
-
-</head>
-<body>
-    <nav class="navbar navbar-expand-lg navbar-light bg-light">
-        <div class="container-fluid">
-
-            <!-- Header -->
-            <div class="navbar-header">
-                <a class="navbar-brand mb-0 h1">
-                    <h2>
-                    <img src="{% static 'query/esap_logo.png' %}"   alt="">
-                    ESAP API Gateway - Staging
-                    </h2>
-                </a>
-            </div>
-
-        </div>
-    </nav>
-
-    <!-- to add blocks of code -->
-    {% block myBlock %}
-    {% endblock %}
-
-</body>
-</html>
\ No newline at end of file
diff --git a/esap/staging/templates/staging/index.html b/esap/staging/templates/staging/index.html
deleted file mode 100644
index 90677793..00000000
--- a/esap/staging/templates/staging/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-{% extends 'query/base.html' %}
-{% load static %}
-{% block myBlock %}
-
-<div class="container-fluid details-container">
-    <div class="row">
-        <div class="col-sm-12 col-md-12 col-lg-12">
-            <div class="panel panel-success">
-
-            <div class="panel-body">
-                   &nbsp;
-                <h4>API resources</h4>
-                <table class="table table-striped table-bordered table-sm">
-                    <thead>
-                        <tr>
-                            <th>Function</th>
-                            <th>URL</th>
-                        </tr>
-                    </thead>
-                    <tbody>
-
-                    <div class="row">
-                        <tr>
-                            <td>
-                                Staging
-                            </td>
-                            <td>
-                                <a href="{% url 'staging-view' %}">{% url 'staging-view' %}</a>
-                            </td>
-
-                        </tr>
-
-                    </div>
-
-                    </tbody>
-                </table>
-
-            </div>
-        </div>
-       </div>
-
-    </div>
-
-</div>
-
-
-<p class="footer" small>ASTRON 24 jul 2020</p>
-
-{% endblock %}
-
diff --git a/esap/staging/tests.py b/esap/staging/tests.py
deleted file mode 100644
index 7ce503c2..00000000
--- a/esap/staging/tests.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from django.test import TestCase
-
-# Create your tests here.
-- 
GitLab