From 08945f0a1952972ba37f95a6c02b71b1f075a298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=B9=BF?= Date: Thu, 20 Dec 2018 11:42:00 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E5=A4=8Dadhoc=20=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=9F=A5=E7=9C=8B=E7=9A=84bug,=20=E4=BF=AE=E6=94=B9co?= =?UTF-8?q?nfig=20example=20(#2230)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/models/adhoc.py | 5 +- apps/ops/templates/ops/adhoc_detail.html | 15 ++- .../templates/ops/adhoc_history_detail.html | 12 +- apps/ops/templates/ops/task_adhoc.html | 104 ++++++++++-------- apps/ops/templates/ops/task_detail.html | 17 ++- apps/ops/templates/ops/task_history.html | 10 +- config_example.py | 2 +- 7 files changed, 111 insertions(+), 54 deletions(-) diff --git a/apps/ops/models/adhoc.py b/apps/ops/models/adhoc.py index 3e119c98f..cedbbb4ff 100644 --- a/apps/ops/models/adhoc.py +++ b/apps/ops/models/adhoc.py @@ -168,7 +168,10 @@ class AdHoc(models.Model): @property def tasks(self): - return json.loads(self._tasks) + try: + return json.loads(self._tasks) + except: + return [] @tasks.setter def tasks(self, item): diff --git a/apps/ops/templates/ops/adhoc_detail.html b/apps/ops/templates/ops/adhoc_detail.html index abbb16c04..8b340b808 100644 --- a/apps/ops/templates/ops/adhoc_detail.html +++ b/apps/ops/templates/ops/adhoc_detail.html @@ -186,6 +186,19 @@ - {% include 'users/_user_update_pk_modal.html' %} +{% endblock %} +{% block custom_foot_js %} + {% endblock %} diff --git a/apps/ops/templates/ops/adhoc_history_detail.html b/apps/ops/templates/ops/adhoc_history_detail.html index b8a48d4e5..5091470d5 100644 --- a/apps/ops/templates/ops/adhoc_history_detail.html +++ b/apps/ops/templates/ops/adhoc_history_detail.html @@ -19,7 +19,7 @@ {% trans 'Run history detail' %}
  • - {% trans 'Output' %} + {% trans 'Output' %}
  • @@ -141,4 +141,14 @@ {% include 'users/_user_update_pk_modal.html' %} {% endblock %} +{% block custom_foot_js %} + +{% endblock %} diff --git a/apps/ops/templates/ops/task_adhoc.html b/apps/ops/templates/ops/task_adhoc.html index 82c25e667..34e0797e6 100644 --- a/apps/ops/templates/ops/task_adhoc.html +++ b/apps/ops/templates/ops/task_adhoc.html @@ -25,7 +25,7 @@ {% trans 'Run history' %}
  • - {% trans 'Last run output' %} + {% trans 'Last run output' %}
  • @@ -78,52 +78,60 @@ {% endblock %} {% block custom_foot_js %} - + $(td).html(cellData); + }}, + {targets: 2, createdCell: function (td, cellData, rowData) { + var dataLength = cellData.length; + $(td).html(dataLength); + }}, + {targets: 4, createdCell: function (td, cellData) { + if (!cellData) { + $(td).html("Admin") + } else { + $(td).html(cellData) + } + }}, + {targets: 5, createdCell: function (td, cellData, rowData) { + if (!cellData) { + $(td).html("") + } else { + $(td).html(cellData.user) + } + }}, + {targets: 6, createdCell: function (td, cellData) { + var d = new Date(cellData); + $(td).html(d.toLocaleString()) + }}, + {targets: 7, createdCell: function (td, cellData, rowData) { + var detail_btn = '{% trans "Detail" %}'.replace('{{ DEFAULT_PK }}', cellData); + if (cellData) { + $(td).html(detail_btn); + } + }} + ], + ajax_url: '{% url "api-ops:adhoc-list" %}?task={{ object.pk }}', + columns: [{data: function(){return ""}}, {data: "short_id" }, {data: "hosts"}, {data: "pattern"}, + {data: "run_as"}, {data: "become"}, {data: "date_created"}, {data: "id"}] + }; + jumpserver.initDataTable(options); +}).on('click', '.celery-task-log', function () { + var history_pk = "{{ object.latest_history.pk }}"; + if (!history_pk) { + alert("没有运行历史"); + return + } + var url = '{% url 'ops:celery-task-log' pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', history_pk); + window.open(url, '', 'width=800,height=600,left=400,top=400') +}) + {% endblock %} diff --git a/apps/ops/templates/ops/task_detail.html b/apps/ops/templates/ops/task_detail.html index d8f9520be..bbeaad660 100644 --- a/apps/ops/templates/ops/task_detail.html +++ b/apps/ops/templates/ops/task_detail.html @@ -26,7 +26,7 @@ {% trans 'Run history' %}
  • - {% trans 'Last run output' %} + {% trans 'Last run output' %}
  • @@ -165,4 +165,19 @@ {% endblock %} +{% block custom_foot_js %} + +{% endblock %} diff --git a/apps/ops/templates/ops/task_history.html b/apps/ops/templates/ops/task_history.html index 184987766..9a63acc6a 100644 --- a/apps/ops/templates/ops/task_history.html +++ b/apps/ops/templates/ops/task_history.html @@ -25,7 +25,7 @@ {% trans 'Run history' %}
  • - {% trans 'Last run output' %} + {% trans 'Last run output' %}
  • @@ -148,6 +148,14 @@ function initTable() { $(document).ready(function () { initTable(); +}).on('click', '.celery-task-log', function () { + var history_pk = "{{ object.latest_history.pk }}"; + if (!history_pk) { + alert("没有运行历史"); + return + } + var url = '{% url 'ops:celery-task-log' pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', history_pk); + window.open(url, '', 'width=800,height=600,left=400,top=400') }) diff --git a/config_example.py b/config_example.py index e37df23b0..5f5301f0e 100644 --- a/config_example.py +++ b/config_example.py @@ -78,7 +78,7 @@ class Config: REDIS_HOST = '127.0.0.1' REDIS_PORT = 6379 # REDIS_PASSWORD = '' - # REDIS_DB_CELERY_BROKER = 3 + # REDIS_DB_CELERY = 3 # REDIS_DB_CACHE = 4 # Use OpenID authorization