diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py index 331930c3a8dff71301d77781a770c3edcd9f2d3e..b8d434dc64dc3f45633baf65bb480e055d3f1c56 100644 --- a/apps/jumpserver/urls.py +++ b/apps/jumpserver/urls.py @@ -31,6 +31,7 @@ api_v2 = [ app_view_patterns = [ path('auth/', include('authentication.urls.view_urls'), name='auth'), + path('ops/', include('ops.urls.view_urls'), name='ops') ] diff --git a/apps/ops/templates/ops/celery_task_log.html b/apps/ops/templates/ops/celery_task_log.html new file mode 100644 index 0000000000000000000000000000000000000000..c79ff42b2ddc3cb06b3137aa0f91028545f99d65 --- /dev/null +++ b/apps/ops/templates/ops/celery_task_log.html @@ -0,0 +1,91 @@ +{% load static %} +{% load i18n %} + + {% trans 'Task log' %} + + + + + + + +
+
+ + \ No newline at end of file diff --git a/apps/ops/urls/view_urls.py b/apps/ops/urls/view_urls.py index fb52a3e077ed404b873b7325a27ed941d65369e6..21bc4cc41e54b503672f051fe8bcb8a02e64631e 100644 --- a/apps/ops/urls/view_urls.py +++ b/apps/ops/urls/view_urls.py @@ -1,9 +1,14 @@ # ~*~ coding: utf-8 ~*~ from __future__ import unicode_literals +from django.urls import path + +from .. import views __all__ = ["urlpatterns"] app_name = "ops" urlpatterns = [ -] + # Resource Task url + path('celery/task//log/', views.CeleryTaskLogView.as_view(), name='celery-task-log'), +] \ No newline at end of file diff --git a/apps/ops/views.py b/apps/ops/views.py new file mode 100644 index 0000000000000000000000000000000000000000..9ae2d975581ee56d1f7b9413492e8748de8c10a4 --- /dev/null +++ b/apps/ops/views.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# +from django.views.generic import TemplateView +from django.conf import settings + +from common.permissions import PermissionsMixin, IsOrgAdmin, IsOrgAuditor + + +__all__ = ['CeleryTaskLogView'] + + +class CeleryTaskLogView(PermissionsMixin, TemplateView): + template_name = 'ops/celery_task_log.html' + permission_classes = [IsOrgAdmin | IsOrgAuditor] + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({ + 'task_id': self.kwargs.get('pk'), + 'ws_port': settings.WS_LISTEN_PORT + }) + return context