jumpserver/apps/ops/views/adhoc.py

145 lines
3.9 KiB
Python
Raw Normal View History

2016-11-16 06:20:44 +00:00
# ~*~ coding: utf-8 ~*~
2017-03-13 16:58:25 +00:00
2017-12-20 03:30:15 +00:00
from django.utils.translation import ugettext as _
2016-11-16 06:20:44 +00:00
from django.conf import settings
from django.views.generic import ListView, DetailView
2016-11-16 06:20:44 +00:00
from common.mixins import DatetimeSearchMixin
from common.permissions import AdminUserRequiredMixin
from orgs.utils import current_org
from ..models import Task, AdHoc, AdHocRunHistory
2016-11-16 06:20:44 +00:00
__all__ = [
'TaskListView', 'TaskDetailView', 'TaskHistoryView',
'TaskAdhocView', 'AdHocDetailView', 'AdHocHistoryDetailView',
'AdHocHistoryView'
]
class TaskListView(AdminUserRequiredMixin, DatetimeSearchMixin, ListView):
2018-01-12 07:43:26 +00:00
paginate_by = settings.DISPLAY_PER_PAGE
2017-12-10 16:29:25 +00:00
model = Task
ordering = ('-date_created',)
context_object_name = 'task_list'
template_name = 'ops/task_list.html'
keyword = ''
def get_queryset(self):
queryset = super().get_queryset()
if current_org.is_real():
queryset = queryset.filter(created_by=current_org.id)
else:
queryset = queryset.filter(created_by='')
self.keyword = self.request.GET.get('keyword', '')
queryset = queryset.filter(
date_created__gt=self.date_from,
date_created__lt=self.date_to
)
if self.keyword:
queryset = queryset.filter(
name__icontains=self.keyword,
)
return queryset
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
2017-12-20 03:30:15 +00:00
'action': _('Task list'),
'date_from': self.date_from,
'date_to': self.date_to,
'keyword': self.keyword,
}
kwargs.update(context)
return super().get_context_data(**kwargs)
2017-03-13 16:58:25 +00:00
class TaskDetailView(AdminUserRequiredMixin, DetailView):
2017-12-10 16:29:25 +00:00
model = Task
template_name = 'ops/task_detail.html'
def get_queryset(self):
queryset = super().get_queryset()
if current_org:
queryset = queryset.filter(created_by=current_org.id)
return queryset
2017-03-13 16:58:25 +00:00
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
'action': _('Task detail'),
2017-03-13 16:58:25 +00:00
}
kwargs.update(context)
2017-12-10 16:29:25 +00:00
return super().get_context_data(**kwargs)
class TaskAdhocView(AdminUserRequiredMixin, DetailView):
2017-12-10 16:29:25 +00:00
model = Task
template_name = 'ops/task_adhoc.html'
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
'action': _('Task versions'),
2017-12-10 16:29:25 +00:00
}
kwargs.update(context)
return super().get_context_data(**kwargs)
class TaskHistoryView(AdminUserRequiredMixin, DetailView):
2017-12-10 16:29:25 +00:00
model = Task
template_name = 'ops/task_history.html'
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
'action': _('Task run history'),
2017-12-10 16:29:25 +00:00
}
kwargs.update(context)
return super().get_context_data(**kwargs)
class AdHocDetailView(AdminUserRequiredMixin, DetailView):
2017-12-20 03:30:15 +00:00
model = AdHoc
template_name = 'ops/adhoc_detail.html'
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
2017-12-20 03:30:15 +00:00
'action': 'Task version detail',
}
kwargs.update(context)
return super().get_context_data(**kwargs)
class AdHocHistoryView(AdminUserRequiredMixin, DetailView):
2017-12-20 03:30:15 +00:00
model = AdHoc
template_name = 'ops/adhoc_history.html'
def get_context_data(self, **kwargs):
context = {
2018-01-01 07:08:33 +00:00
'app': _('Ops'),
'action': _('Version run history'),
2017-12-20 03:30:15 +00:00
}
kwargs.update(context)
return super().get_context_data(**kwargs)
class AdHocHistoryDetailView(AdminUserRequiredMixin, DetailView):
2017-12-20 03:30:15 +00:00
model = AdHocRunHistory
template_name = 'ops/adhoc_history_detail.html'
2018-03-30 14:03:43 +00:00
def get_context_data(self, **kwargs):
context = {
'app': _('Ops'),
'action': _('Run history detail'),
}
kwargs.update(context)
return super().get_context_data(**kwargs)