diff --git a/apps/terminal/serializers.py b/apps/terminal/serializers.py index 48a9d2a5b..7abab05b7 100644 --- a/apps/terminal/serializers.py +++ b/apps/terminal/serializers.py @@ -9,17 +9,17 @@ from .hands import ProxyLog class TerminalSerializer(serializers.ModelSerializer): - session_connected = serializers.SerializerMethodField() + session_online = serializers.SerializerMethodField() is_alive = serializers.SerializerMethodField() class Meta: model = Terminal fields = ['id', 'name', 'remote_addr', 'http_port', 'ssh_port', - 'comment', 'is_accepted', 'session_connected', 'is_alive'] + 'comment', 'is_accepted', 'session_online', 'is_alive'] @staticmethod - def get_session_connected(obj): - return Session.objects.filter(terminal=obj.id, is_finished=False) + def get_session_online(obj): + return Session.objects.filter(terminal=obj.id, is_finished=False).count() @staticmethod def get_is_alive(obj): diff --git a/apps/terminal/templates/terminal/terminal_list.html b/apps/terminal/templates/terminal/terminal_list.html index 0cb09d54b..9d427a775 100644 --- a/apps/terminal/templates/terminal/terminal_list.html +++ b/apps/terminal/templates/terminal/terminal_list.html @@ -96,7 +96,7 @@ $(document).ready(function(){ ], ajax_url: '{% url "api-terminal:terminal-list" %}', columns: [{data: function(){return ""}}, {data: "name" }, {data: "remote_addr" }, {data: "ssh_port"}, {data: "http_port"}, - {data: "session_connected"}, {data: "is_accepted" }, {data: 'is_alive'}, {data: "id"}], + {data: "session_online"}, {data: "is_accepted" }, {data: 'is_alive'}, {data: "id"}], op_html: $('#actions').html() }; jumpserver.initDataTable(options); diff --git a/apps/terminal/templates/terminal/terminal_modal_accept.html b/apps/terminal/templates/terminal/terminal_modal_accept.html index b5fc9bfdb..58a103402 100644 --- a/apps/terminal/templates/terminal/terminal_modal_accept.html +++ b/apps/terminal/templates/terminal/terminal_modal_accept.html @@ -5,7 +5,7 @@ {% block modal_title%}{% trans "Accept terminal registration" %}{% endblock %} {% block modal_body %} {% load bootstrap3 %} -
+ {% csrf_token %} {% bootstrap_field form.name layout="horizontal" %} diff --git a/apps/terminal/urls/views_urls.py b/apps/terminal/urls/views_urls.py index 3525e944d..8792f55aa 100644 --- a/apps/terminal/urls/views_urls.py +++ b/apps/terminal/urls/views_urls.py @@ -14,8 +14,8 @@ urlpatterns = [ name='terminal-detail'), url(r'^terminal/(?P[0-9a-zA-Z\-]+)/connect/$', views.TerminalConnectView.as_view(), name='terminal-connect'), - url(r'^terminal/(?P[0-9a-zA-Z\-]+)/update$', views.TerminalUpdateView.as_view(), + url(r'^terminal/(?P[0-9a-zA-Z\-]+)/update/$', views.TerminalUpdateView.as_view(), name='terminal-update'), - url(r'^terminal/(?P[0-9a-zA-Z\-]+)/modal/accept$', views.TerminalModelAccept.as_view(), - name='terminal-modal-accept'), + url(r'^(?P[0-9a-zA-Z\-]+)/accept/$', views.TerminalAccept.as_view(), + name='terminal-accept'), ] diff --git a/apps/terminal/views.py b/apps/terminal/views.py index fbef30912..357521d1b 100644 --- a/apps/terminal/views.py +++ b/apps/terminal/views.py @@ -60,7 +60,7 @@ class TerminalDeleteView(AdminUserRequiredMixin, DeleteView): success_url = reverse_lazy('terminal:terminal-list') -class TerminalModelAccept(AdminUserRequiredMixin, JSONResponseMixin, UpdateView): +class TerminalAccept(AdminUserRequiredMixin, JSONResponseMixin, UpdateView): model = Terminal form_class = TerminalForm template_name = 'Terminal/terminal_modal_test.html'