mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-23 16:58:51 +00:00
* [Update] 修改 success message, 添加资产组时可以添加资产 * [Update] system user form add label * [Update] set default cluster * [Update] 修改一些翻译 * [Bugfix] 修复重置密码bug * [Bugfix] 默认default cluster * [Bugfix] 用户添加报错 * 修改tab样式 * [Bugfix] 修复了一些显示上的bug * 修复全选按钮在搜索后仍然选择全部的问题 * [Bugfix] 修复以下bug 1. 查看执行历史异常 2. 用户授权资产页显示message * [Update] api 返回platform, 并增加web terminal nav * [Feature] 添加setting页面 * [Feature] 添加basic settings * [Update] 修改翻译 * [Update] 修改config * [Update] 启动加载common setting * [Bugfix] 修复cluster创建的bug * [Bugfix] 修复title显示Jumpserver * [Bugfix] setting tables not found * [Bugfix] settings add option * [Feature] 添加后端paging * [Bugfix] 资产列表选择别的页会报错 * [Update] check all 只选择当前页面 * [Bugfix] user login ip * [Bugfix] for login ip * [Bugfix] 修复资产列表显示bug * [Remove] labels * [Bugfix] task运行失败,因为tasks没有设置 * [Bugfix] 读取不到prefix * [Change] 修改部分翻译 * [Update] 启用ldap移动位置 * [Update] 修改翻译 * Update README.md
54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
# ~*~ coding: utf-8 ~*~
|
|
from common.utils import get_logger, get_object_or_none
|
|
from .models import Task, AdHoc
|
|
|
|
logger = get_logger(__file__)
|
|
|
|
|
|
def get_task_by_id(task_id):
|
|
return get_object_or_none(Task, id=task_id)
|
|
|
|
|
|
def update_or_create_ansible_task(
|
|
task_name, hosts, tasks,
|
|
interval=None, crontab=None, is_periodic=False,
|
|
callback=None, pattern='all', options=None,
|
|
run_as_admin=False, run_as="", become_info=None,
|
|
created_by=None,
|
|
):
|
|
if not hosts or not tasks or not task_name:
|
|
return
|
|
|
|
defaults = {
|
|
'name': task_name,
|
|
'interval': interval,
|
|
'crontab': crontab,
|
|
'is_periodic': is_periodic,
|
|
'callback': callback,
|
|
'created_by': created_by,
|
|
}
|
|
|
|
created = False
|
|
task, _ = Task.objects.update_or_create(
|
|
defaults=defaults, name=task_name,
|
|
)
|
|
|
|
adhoc = task.latest_adhoc
|
|
new_adhoc = AdHoc(task=task, pattern=pattern,
|
|
run_as_admin=run_as_admin,
|
|
run_as=run_as)
|
|
new_adhoc.hosts = hosts
|
|
new_adhoc.tasks = tasks
|
|
new_adhoc.options = options
|
|
new_adhoc.become = become_info
|
|
|
|
if not adhoc or adhoc != new_adhoc:
|
|
logger.debug("Task create new adhoc: {}".format(task_name))
|
|
new_adhoc.save()
|
|
task.latest_adhoc = new_adhoc
|
|
created = True
|
|
return task, created
|
|
|
|
|
|
|