diff --git a/apps/assets/models/user.py b/apps/assets/models/user.py index b0175be80..aa44a539c 100644 --- a/apps/assets/models/user.py +++ b/apps/assets/models/user.py @@ -81,7 +81,11 @@ class AssetUser(models.Model): @property def public_key(self): - return signer.unsign(self._public_key) + key = signer.unsign(self._public_key) + if key: + return key + else: + return None @property def public_key_obj(self): diff --git a/apps/assets/tasks.py b/apps/assets/tasks.py index fdd72e8b0..f06f720d9 100644 --- a/apps/assets/tasks.py +++ b/apps/assets/tasks.py @@ -25,7 +25,7 @@ disk_pattern = re.compile(r'^hd|sd|xvd') @shared_task def set_assets_hardware_info(result, **kwargs): """ - Unsing ops task run result, to update asset info + Using ops task run result, to update asset info @shared_task must be exit, because we using it as a task callback, is must be a celery task also @@ -309,6 +309,10 @@ def test_system_user_connectability_period(): #### Push system user tasks #### def get_push_system_user_tasks(system_user): + # Set root as system user is dangerous + if system_user.username == "root": + return [] + tasks = [ { 'name': 'Add user {}'.format(system_user.username), @@ -316,7 +320,7 @@ def get_push_system_user_tasks(system_user): 'module': 'user', 'args': 'name={} shell={} state=present password={}'.format( system_user.username, system_user.shell, - encrypt_password(system_user.password), + encrypt_password(system_user.password, salt="K3mIlKK"), ), } }, diff --git a/apps/assets/templates/assets/admin_user_assets.html b/apps/assets/templates/assets/admin_user_assets.html index 204ff7e82..dcaaef312 100644 --- a/apps/assets/templates/assets/admin_user_assets.html +++ b/apps/assets/templates/assets/admin_user_assets.html @@ -21,11 +21,11 @@ {% trans 'Assets list' %}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • diff --git a/apps/assets/templates/assets/admin_user_detail.html b/apps/assets/templates/assets/admin_user_detail.html index da88f919b..18464dde4 100644 --- a/apps/assets/templates/assets/admin_user_detail.html +++ b/apps/assets/templates/assets/admin_user_detail.html @@ -21,11 +21,11 @@ {% trans 'Assets list' %}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • diff --git a/apps/assets/templates/assets/asset_detail.html b/apps/assets/templates/assets/asset_detail.html index e19691628..fc2320420 100644 --- a/apps/assets/templates/assets/asset_detail.html +++ b/apps/assets/templates/assets/asset_detail.html @@ -21,11 +21,11 @@ {% if user.is_superuser %}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • {% endif %} diff --git a/apps/assets/templates/assets/asset_group_detail.html b/apps/assets/templates/assets/asset_group_detail.html index 84293ab47..9a691036b 100644 --- a/apps/assets/templates/assets/asset_group_detail.html +++ b/apps/assets/templates/assets/asset_group_detail.html @@ -15,7 +15,7 @@ diff --git a/apps/assets/templates/assets/cluster_detail.html b/apps/assets/templates/assets/cluster_detail.html index 1200fc1fb..837e36e68 100644 --- a/apps/assets/templates/assets/cluster_detail.html +++ b/apps/assets/templates/assets/cluster_detail.html @@ -22,11 +22,11 @@
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • diff --git a/apps/assets/templates/assets/system_user_asset.html b/apps/assets/templates/assets/system_user_asset.html index 4d20bbe5c..afff889f6 100644 --- a/apps/assets/templates/assets/system_user_asset.html +++ b/apps/assets/templates/assets/system_user_asset.html @@ -22,7 +22,7 @@
  • - Update + {% trans 'Update' %}
  • diff --git a/apps/assets/templates/assets/system_user_detail.html b/apps/assets/templates/assets/system_user_detail.html index c4ee49443..db9cf9670 100644 --- a/apps/assets/templates/assets/system_user_detail.html +++ b/apps/assets/templates/assets/system_user_detail.html @@ -23,7 +23,7 @@
  • - Update + {% trans 'Update' %}
  • diff --git a/apps/common/utils.py b/apps/common/utils.py index 733f91a18..753fdd541 100644 --- a/apps/common/utils.py +++ b/apps/common/utils.py @@ -287,10 +287,10 @@ def make_signature(access_key_secret, date=None): return content_md5(data) -def encrypt_password(password): +def encrypt_password(password, salt=None): from passlib.hash import sha512_crypt if password: - return sha512_crypt.using(rounds=5000).hash(password) + return sha512_crypt.using(rounds=5000).hash(password, salt=salt) return None diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 86c0b1db4..4eed75216 100644 Binary files a/apps/locale/zh/LC_MESSAGES/django.mo and b/apps/locale/zh/LC_MESSAGES/django.mo differ diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index fa184e2c7..910a4fa02 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-05 18:18+0800\n" +"POT-Creation-Date: 2018-01-08 15:58+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \n" "Language-Team: Jumpserver team\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: assets/forms.py:23 assets/forms.py:53 assets/forms.py:99 perms/forms.py:37 -#: perms/templates/perms/asset_permission_asset.html:127 users/forms.py:240 +#: perms/templates/perms/asset_permission_asset.html:116 users/forms.py:242 msgid "Select asset groups" msgstr "选择资产组" @@ -44,7 +44,7 @@ msgstr "默认使用管理用户" #: assets/forms.py:76 assets/forms.py:81 assets/forms.py:127 #: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:34 -#: perms/templates/perms/asset_permission_asset.html:99 users/forms.py:237 +#: perms/templates/perms/asset_permission_asset.html:88 users/forms.py:239 msgid "Select assets" msgstr "选择资产" @@ -56,7 +56,6 @@ msgstr "选择资产" #: assets/templates/assets/cluster_assets.html:53 #: assets/templates/assets/system_user_asset.html:54 #: assets/templates/assets/user_asset_list.html:21 -#: perms/templates/perms/asset_permission_asset.html:56 #: users/templates/users/user_group_granted_asset.html:51 msgid "Port" msgstr "端口" @@ -78,7 +77,7 @@ msgid "Asset" msgstr "资产" #: assets/forms.py:156 perms/forms.py:40 -#: perms/templates/perms/asset_permission_detail.html:144 users/forms.py:243 +#: perms/templates/perms/asset_permission_detail.html:144 users/forms.py:245 msgid "Select system users" msgstr "选择系统用户" @@ -535,7 +534,7 @@ msgstr "定期更新资产硬件信息" #: assets/tasks.py:189 msgid "Test admin user connectability period: {}" -msgstr "定期测试管理用户可以连接性: {}" +msgstr "定期测试管理用户可连接性: {}" #: assets/tasks.py:203 msgid "Test admin user connectability: {}" @@ -551,15 +550,15 @@ msgstr "测试系统用户可连接性: {}" #: assets/tasks.py:295 msgid "Test system user connectability period: {}" -msgstr "测试系统用户可连接性: {}" +msgstr "定期测试系统用户可连接性: {}" #: assets/tasks.py:372 msgid "Push system user to cluster assets: {}" msgstr "推送系统用户到资产: {}" #: assets/tasks.py:393 -msgid "Push system user to cluster assets period: {}->{}" -msgstr "定期推送系统用户到资产: {}->{}" +msgid "Push cluster system users to assets period: {}" +msgstr "定期推送集群系统用户到资产: {}" #: assets/templates/assets/_asset_group_bulk_update_modal.html:5 msgid "Update asset group" @@ -658,7 +657,7 @@ msgstr "其它" #: assets/templates/assets/admin_user_create_update.html:45 #: assets/templates/assets/asset_bulk_update.html:23 #: assets/templates/assets/asset_create.html:40 -#: assets/templates/assets/asset_update.html:56 +#: assets/templates/assets/asset_update.html:55 #: assets/templates/assets/cluster_create_update.html:54 #: perms/templates/perms/asset_permission_create_update.html:67 #: terminal/templates/terminal/terminal_update.html:45 @@ -677,7 +676,7 @@ msgstr "重置" #: assets/templates/assets/asset_bulk_update.html:24 #: assets/templates/assets/asset_create.html:41 #: assets/templates/assets/asset_list.html:55 -#: assets/templates/assets/asset_update.html:57 +#: assets/templates/assets/asset_update.html:56 #: assets/templates/assets/cluster_create_update.html:55 #: perms/templates/perms/asset_permission_create_update.html:68 #: terminal/templates/terminal/terminal_update.html:46 @@ -771,7 +770,7 @@ msgstr "使用集群管理用户" #: assets/templates/assets/admin_user_detail.html:101 #: assets/templates/assets/asset_detail.html:230 -#: assets/templates/assets/asset_group_list.html:87 +#: assets/templates/assets/asset_group_list.html:85 #: assets/templates/assets/asset_list.html:202 #: assets/templates/assets/cluster_assets.html:104 #: assets/templates/assets/cluster_list.html:89 @@ -885,6 +884,7 @@ msgstr "快速修改" #: assets/templates/assets/asset_list.html:37 #: assets/templates/assets/user_asset_list.html:25 perms/models.py:20 #: perms/templates/perms/asset_permission_create_update.html:47 +#: perms/templates/perms/asset_permission_detail.html:116 #: terminal/templates/terminal/terminal_list.html:34 #: users/templates/users/_select_user_modal.html:18 #: users/templates/users/user_detail.html:127 @@ -925,10 +925,10 @@ msgid "Add assets to this group" msgstr "添加资产到该组" #: assets/templates/assets/asset_group_detail.html:79 -#: perms/templates/perms/asset_permission_asset.html:108 +#: perms/templates/perms/asset_permission_asset.html:97 #: perms/templates/perms/asset_permission_detail.html:153 -#: perms/templates/perms/asset_permission_user.html:108 -#: perms/templates/perms/asset_permission_user.html:136 +#: perms/templates/perms/asset_permission_user.html:97 +#: perms/templates/perms/asset_permission_user.html:125 #: users/templates/users/user_group_detail.html:95 msgid "Add" msgstr "添加" @@ -942,7 +942,7 @@ msgstr "移除" msgid "Create asset group" msgstr "创建资产组" -#: assets/templates/assets/asset_group_list.html:82 +#: assets/templates/assets/asset_group_list.html:80 #: assets/templates/assets/asset_list.html:197 #: assets/templates/assets/cluster_list.html:84 #: assets/templates/assets/system_user_list.html:129 @@ -953,29 +953,29 @@ msgstr "创建资产组" msgid "Are you sure?" msgstr "你确认吗?" -#: assets/templates/assets/asset_group_list.html:83 +#: assets/templates/assets/asset_group_list.html:81 #: users/templates/users/user_group_list.html:78 msgid "This will delete the selected groups !!!" msgstr "删除选择组" -#: assets/templates/assets/asset_group_list.html:91 +#: assets/templates/assets/asset_group_list.html:89 msgid "Group deleted" msgstr "组已被删除" -#: assets/templates/assets/asset_group_list.html:92 -#: assets/templates/assets/asset_group_list.html:97 +#: assets/templates/assets/asset_group_list.html:90 +#: assets/templates/assets/asset_group_list.html:95 msgid "Group Delete" msgstr "删除" -#: assets/templates/assets/asset_group_list.html:96 +#: assets/templates/assets/asset_group_list.html:94 msgid "Group deleting failed." msgstr "删除失败" -#: assets/templates/assets/asset_group_list.html:159 +#: assets/templates/assets/asset_group_list.html:157 msgid "The selected asset groups has been updated successfully." msgstr "更新成功" -#: assets/templates/assets/asset_group_list.html:160 +#: assets/templates/assets/asset_group_list.html:158 msgid "AssetGroup Updated" msgstr "资产组更新" @@ -1176,7 +1176,7 @@ msgstr "系统用户删除失败" msgid "Connective" msgstr "连接性" -#: assets/templates/assets/user_asset_list.html:66 +#: assets/templates/assets/user_asset_list.html:65 msgid "Connect" msgstr "连接" @@ -1362,7 +1362,7 @@ msgid "Version detail" msgstr "版本详情" #: ops/templates/ops/adhoc_detail.html:22 -#: ops/templates/ops/adhoc_history.html:22 ops/views.py:104 +#: ops/templates/ops/adhoc_history.html:22 ops/views.py:105 msgid "Version run history" msgstr "执行历史" @@ -1434,7 +1434,7 @@ msgstr "失败/成功/总" msgid "Version" msgstr "版本" -#: ops/templates/ops/adhoc_history_detail.html:19 ops/views.py:117 +#: ops/templates/ops/adhoc_history_detail.html:19 ops/views.py:118 msgid "Run history detail" msgstr "执行历史详情" @@ -1460,12 +1460,12 @@ msgid "Success assets" msgstr "成功资产" #: ops/templates/ops/task_adhoc.html:19 ops/templates/ops/task_detail.html:19 -#: ops/templates/ops/task_history.html:19 ops/views.py:52 +#: ops/templates/ops/task_history.html:19 ops/views.py:53 msgid "Task detail" msgstr "任务详情" #: ops/templates/ops/task_adhoc.html:22 ops/templates/ops/task_detail.html:22 -#: ops/templates/ops/task_history.html:22 ops/views.py:65 +#: ops/templates/ops/task_history.html:22 ops/views.py:66 msgid "Task versions" msgstr "任务各版本" @@ -1517,21 +1517,21 @@ msgstr "成功" msgid "Date" msgstr "日期" -#: ops/views.py:35 ops/views.py:51 ops/views.py:64 ops/views.py:77 -#: ops/views.py:90 ops/views.py:103 ops/views.py:116 +#: ops/views.py:36 ops/views.py:52 ops/views.py:65 ops/views.py:78 +#: ops/views.py:91 ops/views.py:104 ops/views.py:117 msgid "Ops" msgstr "作业中心" -#: ops/views.py:36 +#: ops/views.py:37 msgid "Task list" msgstr "任务列表" -#: ops/views.py:78 +#: ops/views.py:79 msgid "Task run history" msgstr "执行历史" #: perms/forms.py:16 users/forms.py:144 users/forms.py:149 users/forms.py:161 -#: users/forms.py:190 +#: users/forms.py:191 msgid "Select users" msgstr "选择用户" @@ -1542,12 +1542,13 @@ msgstr "选择用户" #: terminal/templates/terminal/command_list.html:32 #: terminal/templates/terminal/command_list.html:72 #: terminal/templates/terminal/session_list.html:33 -#: terminal/templates/terminal/session_list.html:71 users/models/user.py:31 -#: users/templates/users/user_group_detail.html:78 users/views/user.py:348 +#: terminal/templates/terminal/session_list.html:71 users/forms.py:187 +#: users/models/user.py:31 users/templates/users/user_group_detail.html:78 +#: users/views/user.py:348 msgid "User" msgstr "用户" -#: perms/forms.py:31 perms/templates/perms/asset_permission_user.html:127 +#: perms/forms.py:31 perms/templates/perms/asset_permission_user.html:116 msgid "Select user groups" msgstr "选择用户组" @@ -1594,21 +1595,15 @@ msgstr "用户或用户组" msgid "Assets and asset groups" msgstr "资产或资产组" -#: perms/templates/perms/asset_permission_asset.html:57 -#: perms/templates/perms/asset_permission_list.html:31 -#: perms/templates/perms/asset_permission_user.html:57 -msgid "Is valid" -msgstr "有效" - -#: perms/templates/perms/asset_permission_asset.html:91 +#: perms/templates/perms/asset_permission_asset.html:80 msgid "Add asset to this permission" msgstr "添加资产" -#: perms/templates/perms/asset_permission_asset.html:119 +#: perms/templates/perms/asset_permission_asset.html:108 msgid "Add asset group to this permission" msgstr "添加资产组" -#: perms/templates/perms/asset_permission_asset.html:136 +#: perms/templates/perms/asset_permission_asset.html:125 #: users/templates/users/user_detail.html:195 msgid "Join" msgstr "加入" @@ -1642,26 +1637,24 @@ msgstr "系统用户数量" msgid "Create permission" msgstr "创建授权规则" +#: perms/templates/perms/asset_permission_list.html:31 +msgid "Is valid" +msgstr "有效" + #: perms/templates/perms/asset_permission_user.html:35 msgid "User list of " msgstr "用户列表" -#: perms/templates/perms/asset_permission_user.html:56 users/models/user.py:37 -#: users/templates/users/user_detail.html:70 -#: users/templates/users/user_profile.html:59 -msgid "Email" -msgstr "邮件" - -#: perms/templates/perms/asset_permission_user.html:91 +#: perms/templates/perms/asset_permission_user.html:80 msgid "Add user to asset permission" msgstr "添加用户" -#: perms/templates/perms/asset_permission_user.html:99 +#: perms/templates/perms/asset_permission_user.html:88 #: users/templates/users/login_log_list.html:28 msgid "Select user" msgstr "选择用户" -#: perms/templates/perms/asset_permission_user.html:119 +#: perms/templates/perms/asset_permission_user.html:108 msgid "Add user group to asset permission" msgstr "添加用户组" @@ -1782,8 +1775,8 @@ msgstr "" msgid "Close" msgstr "关闭" -#: templates/_nav.html:9 users/views/group.py:30 users/views/group.py:46 -#: users/views/group.py:72 users/views/group.py:89 users/views/login.py:193 +#: templates/_nav.html:9 users/views/group.py:30 users/views/group.py:48 +#: users/views/group.py:74 users/views/group.py:91 users/views/login.py:193 #: users/views/login.py:242 users/views/user.py:55 users/views/user.py:70 #: users/views/user.py:95 users/views/user.py:151 users/views/user.py:308 #: users/views/user.py:322 users/views/user.py:366 users/views/user.py:388 @@ -1905,6 +1898,7 @@ msgid "Boot Time" msgstr "运行时间" #: terminal/models.py:96 terminal/templates/terminal/session_list.html:74 +#: terminal/templates/terminal/terminal_detail.html:47 msgid "Remote addr" msgstr "远端地址" @@ -2166,6 +2160,11 @@ msgstr "管理员" msgid "Application" msgstr "应用程序" +#: users/models/user.py:37 users/templates/users/user_detail.html:70 +#: users/templates/users/user_profile.html:59 +msgid "Email" +msgstr "邮件" + #: users/models/user.py:39 users/templates/users/_select_user_modal.html:15 #: users/templates/users/user_detail.html:86 #: users/templates/users/user_list.html:25 @@ -2384,7 +2383,7 @@ msgstr "授权资产组" msgid "Cancel" msgstr "取消" -#: users/templates/users/user_group_detail.html:22 users/views/group.py:90 +#: users/templates/users/user_group_detail.html:22 users/views/group.py:92 msgid "User group detail" msgstr "资产组详情" @@ -2396,7 +2395,7 @@ msgstr "添加用户" msgid "Valid" msgstr "可用" -#: users/templates/users/user_group_list.html:5 users/views/group.py:47 +#: users/templates/users/user_group_list.html:5 users/views/group.py:49 msgid "Create user group" msgstr "创建用户组" @@ -2597,7 +2596,13 @@ msgstr "密码或秘钥不合法" msgid "User group list" msgstr "用户组列表" -#: users/views/group.py:73 +#: users/views/group.py:43 +#, fuzzy, python-brace-format +#| msgid "Create user {name} successfully." +msgid "User group {name} was created successfully" +msgstr "创建用户 {name} 成功" + +#: users/views/group.py:75 msgid "Update user group" msgstr "编辑用户组" @@ -2683,14 +2688,4 @@ msgstr "密码更新" msgid "Public key update" msgstr "秘钥更新" -#~ msgid "Visit us" -#~ msgstr "访问官网" -#~ msgid "Audits" -#~ msgstr "审计中心" - -#~ msgid "Proxy log list" -#~ msgstr "Session列表" - -#~ msgid "If also set private key, use that first" -#~ msgstr "如果设置私钥,则优先使用密钥" diff --git a/apps/ops/api.py b/apps/ops/api.py index 2ecf2238a..09f5e67e7 100644 --- a/apps/ops/api.py +++ b/apps/ops/api.py @@ -2,11 +2,13 @@ from django.shortcuts import get_object_or_404 -from rest_framework import viewsets +from rest_framework import viewsets, generics +from rest_framework.views import Response from .hands import IsSuperUser from .models import Task, AdHoc, AdHocRunHistory from .serializers import TaskSerializer, AdHocSerializer, AdHocRunHistorySerializer +from .tasks import run_ansible_task class TaskViewSet(viewsets.ModelViewSet): @@ -15,6 +17,17 @@ class TaskViewSet(viewsets.ModelViewSet): permission_classes = (IsSuperUser,) +class TaskRun(generics.RetrieveAPIView): + queryset = Task.objects.all() + serializer_class = TaskViewSet + permission_classes = (IsSuperUser,) + + def retrieve(self, request, *args, **kwargs): + task = self.get_object() + run_ansible_task.delay(str(task.id)) + return Response({"msg": "start"}) + + class AdHocViewSet(viewsets.ModelViewSet): queryset = AdHoc.objects.all() serializer_class = AdHocSerializer diff --git a/apps/ops/templates/ops/task_detail.html b/apps/ops/templates/ops/task_detail.html index 40d7be1f5..4da7e0f58 100644 --- a/apps/ops/templates/ops/task_detail.html +++ b/apps/ops/templates/ops/task_detail.html @@ -89,7 +89,7 @@ {% for task in object.latest_adhoc.tasks %} - {{ forloop.counter }}. {{ task.name }} : {{ task.action.module }}
    + {{ forloop.counter }}. {{ task.name }} ::: {{ task.action.module }}
    {% endfor %}
    diff --git a/apps/ops/templates/ops/task_list.html b/apps/ops/templates/ops/task_list.html index a127a0ff6..e564eec73 100644 --- a/apps/ops/templates/ops/task_list.html +++ b/apps/ops/templates/ops/task_list.html @@ -67,6 +67,7 @@ {% endif %} + {% trans "Run" %} {% trans "Delete" %} @@ -98,10 +99,32 @@ $(document).ready(function() { }).on('click', '.btn-del', function () { var $this = $(this); - var name = $(this).closest("tr").find(":nth-child(2)").children('a').html(); + var name = $this.closest("tr").find(":nth-child(2)").children('a').html(); var uid = $this.data('uid'); var the_url = '{% url "api-ops:task-detail" pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', uid); objectDelete($this, name, the_url); +}).on('click', '.btn-run', function () { + var $this = $(this); + var name = $this.closest("tr").find(":nth-child(2)").children('a').html(); + var uid = $this.data('uid'); + var the_url = '{% url "api-ops:task-run" pk=DEFAULT_PK %}'.replace('{{ DEFAULT_PK }}', uid); + var error = function (data) { + alert(data) + }; + var success = function () { + setTimeout(function () { + console.log("ok") + }, 1000); + window.location = "{% url 'ops:task-detail' pk=DEFAULT_PK %}".replace('{{ DEFAULT_PK }}', uid); + }; + APIUpdateAttr({ + url: the_url, + error: error, + method: 'GET', + success: success, + success_message: "{% trans 'Task start: ' %}" + " " + name + }); + }) {% endblock %} diff --git a/apps/ops/urls/api_urls.py b/apps/ops/urls/api_urls.py index 545487f00..ab007c383 100644 --- a/apps/ops/urls/api_urls.py +++ b/apps/ops/urls/api_urls.py @@ -1,6 +1,7 @@ # ~*~ coding: utf-8 ~*~ from __future__ import unicode_literals +from django.conf.urls import url from rest_framework.routers import DefaultRouter from .. import api @@ -12,6 +13,8 @@ router.register(r'v1/tasks', api.TaskViewSet, 'task') router.register(r'v1/adhoc', api.AdHocViewSet, 'adhoc') router.register(r'v1/history', api.AdHocRunHistorySet, 'history') -urlpatterns = [] +urlpatterns = [ + url(r'^v1/tasks/(?P[0-9a-zA-Z\-]{36})/run/$', api.TaskRun.as_view(), name='task-run'), +] urlpatterns += router.urls diff --git a/apps/perms/templates/perms/asset_permission_detail.html b/apps/perms/templates/perms/asset_permission_detail.html index 30d425e82..942013852 100644 --- a/apps/perms/templates/perms/asset_permission_detail.html +++ b/apps/perms/templates/perms/asset_permission_detail.html @@ -27,11 +27,11 @@ {% trans 'Assets and asset groups' %}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • diff --git a/apps/terminal/templates/terminal/terminal_detail.html b/apps/terminal/templates/terminal/terminal_detail.html index 0da9d015a..ea0ba6614 100644 --- a/apps/terminal/templates/terminal/terminal_detail.html +++ b/apps/terminal/templates/terminal/terminal_detail.html @@ -13,7 +13,7 @@ {% trans 'Terminal detail' %}
  • - Update + {% trans 'Update' %}
  • diff --git a/apps/users/templates/users/user_detail.html b/apps/users/templates/users/user_detail.html index 3feb7d2f6..78c5ac542 100644 --- a/apps/users/templates/users/user_detail.html +++ b/apps/users/templates/users/user_detail.html @@ -22,11 +22,11 @@ {% trans 'Asset granted' %}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}
  • diff --git a/apps/users/templates/users/user_group_detail.html b/apps/users/templates/users/user_group_detail.html index 5d5fe5022..bb10398a5 100644 --- a/apps/users/templates/users/user_group_detail.html +++ b/apps/users/templates/users/user_group_detail.html @@ -25,11 +25,11 @@ {# {% trans 'Asset granted' %}#} {# #}
  • - Update + {% trans 'Update' %}
  • - Delete + {% trans 'Delete' %}