From 205c11dfba5b4b2594cf37092a02767f40029e37 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 18 Nov 2016 12:00:23 +0800 Subject: [PATCH 01/15] Finish list paganation --- apps/assets/models.py | 4 + apps/assets/serializers.py | 2 +- .../templates/assets/admin_user_list.html | 8 -- .../templates/assets/system_user_list.html | 89 +++++++++++-------- apps/assets/views.py | 20 +---- apps/static/js/jumpserver.js | 2 +- 6 files changed, 60 insertions(+), 65 deletions(-) diff --git a/apps/assets/models.py b/apps/assets/models.py index 1b13b8621..5d6d18096 100644 --- a/apps/assets/models.py +++ b/apps/assets/models.py @@ -233,6 +233,10 @@ class SystemUser(models.Model): def assets_amount(self): return self.assets.count() + @property + def asset_group_amount(self): + return self.asset_groups.count() + class Meta: db_table = 'system_user' diff --git a/apps/assets/serializers.py b/apps/assets/serializers.py index 9613da621..e035d58e4 100644 --- a/apps/assets/serializers.py +++ b/apps/assets/serializers.py @@ -35,7 +35,7 @@ class SystemUserSerializer(serializers.ModelSerializer): def get_field_names(self, declared_fields, info): fields = super(SystemUserSerializer, self).get_field_names(declared_fields, info) - fields.append('assets_amount') + fields.extend(['assets_amount']) return fields diff --git a/apps/assets/templates/assets/admin_user_list.html b/apps/assets/templates/assets/admin_user_list.html index ea35972a0..35d6b6789 100644 --- a/apps/assets/templates/assets/admin_user_list.html +++ b/apps/assets/templates/assets/admin_user_list.html @@ -39,13 +39,6 @@ $(document).ready(function(){ var innerHtml = cellData.length > 8 ? cellData.substring(0, 24) + '...': cellData; $(td).html('' + innerHtml + ''); }}, -{# {targets: 6, createdCell: function (td, cellData) {#} -{# if (!cellData) {#} -{# $(td).html('')#} -{# } else {#} -{# $(td).html('')#} -{# }#} -{# }},#} {targets: 6, createdCell: function (td, cellData, rowData) { var script_btn = '{% trans "Script" %}'.replace('99991937', cellData); var update_btn = '{% trans "Update" %}'.replace('99991937', cellData); @@ -55,7 +48,6 @@ $(document).ready(function(){ ajax_url: '{% url "api-assets:admin-user-list" %}', columns: [{data: function(){return ""}}, {data: "name" }, {data: "username" }, {data: "assets_amount" }, {data: function () {return 'lost'} }, {data: "comment" }, {data: "id" }], - op_html: $('#actions').html() }; jumpserver.initDataTable(options); }); diff --git a/apps/assets/templates/assets/system_user_list.html b/apps/assets/templates/assets/system_user_list.html index fb1e41323..77526ff37 100644 --- a/apps/assets/templates/assets/system_user_list.html +++ b/apps/assets/templates/assets/system_user_list.html @@ -1,43 +1,60 @@ {% extends '_base_list.html' %} {% load i18n %} {% load common_tags %} -{% block content_left_head %} + +{% block table_search %} +{% endblock %} + +{% block table_container %} +
{% trans "Create system user" %} +
+ + + + + + + + + + + + + + +
+ + {% trans 'Name' %}{% trans 'Username' %}{% trans 'Asset' %}{% trans 'Unreachable' %}{% trans 'Comment' %}{% trans 'Action' %}
+{% endblock %} +{% block custom_foot_js %} + {% endblock %} -{% block table_head %} - {% trans 'ID' %} - {% trans 'Name' %} - {% trans 'Username' %} - {% trans 'Asset num' %} - {% trans 'Asset group num' %} - {% trans 'Unreachable' %} - {% trans 'Comment' %} - -{% endblock %} -{% block table_body %} - {% for system_user in system_user_list %} - - {{ system_user.id }} - - - {{ system_user.name }} - - - {{ system_user.username }} - {{ system_user.get_assets|length }} - {{ system_user.asset_groups.count }} - {{ system_user.assets.count }} - {{ system_user.comment|truncatewords:4 }} - - - {% trans 'Script' %} - - {% trans 'Refresh' %} - {% trans 'Update' %} - {% trans 'Delete' %} - - - {% endfor %} -{% endblock %} + diff --git a/apps/assets/views.py b/apps/assets/views.py index 31619621d..c8bbc3911 100644 --- a/apps/assets/views.py +++ b/apps/assets/views.py @@ -478,35 +478,17 @@ class AdminUserDeleteView(AdminUserRequiredMixin, DeleteView): success_url = reverse_lazy('assets:admin-user-list') -class SystemUserListView(AdminUserRequiredMixin, ListView): - model = SystemUser - paginate_by = settings.CONFIG.DISPLAY_PER_PAGE - context_object_name = 'system_user_list' +class SystemUserListView(AdminUserRequiredMixin, TemplateView): template_name = 'assets/system_user_list.html' def get_context_data(self, **kwargs): context = { 'app': _('Assets'), 'action': _('System user list'), - 'keyword': self.request.GET.get('keyword', '') } kwargs.update(context) return super(SystemUserListView, self).get_context_data(**kwargs) - def get_queryset(self): - # Todo: Default order by lose asset connection num - self.queryset = super(SystemUserListView, self).get_queryset() - self.keyword = keyword = self.request.GET.get('keyword', '') - self.sort = sort = self.request.GET.get('sort', '-date_created') - - if keyword: - self.queryset = self.queryset.filter(Q(name__icontains=keyword) | - Q(comment__icontains=keyword)) - - if sort: - self.queryset = self.queryset.order_by(sort) - return self.queryset - class SystemUserCreateView(AdminUserRequiredMixin, SuccessMessageMixin, CreateView): model = SystemUser diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index e107832f4..5593fec2a 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -292,7 +292,7 @@ jumpserver.initDataTable = function (options) { columnDefs = options.columnDefs ? options.columnDefs.concat(columnDefs) : columnDefs; var table = ele.DataTable({ pageLength: options.pageLength || 15, - dom: options.dom || '<"#uc.pull-left"><"html5buttons"B>flti<"row m-t"<"#op.col-md-6"><"col-md-6"p>>', + dom: options.dom || '<"#uc.pull-left">flt<"row m-t"<"col-md-8"<"#op.col-md-6"><"col-md-6 text-center"i>><"col-md-4"p>>', language: { url: options.i18n_url || "/static/js/plugins/dataTables/i18n/zh-hans.json" }, From 180af7e0bd344467e262e67ec115381f239e6b37 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 22 Nov 2016 00:59:49 +0800 Subject: [PATCH 02/15] Update csv --- .../templates/audits/command_log_list.html | 2 ++ apps/users/urls/views_urls.py | 1 + apps/users/views.py | 22 +++++++++++-------- requirements.txt | 3 ++- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/apps/audits/templates/audits/command_log_list.html b/apps/audits/templates/audits/command_log_list.html index 19a9a63e6..03b786f3f 100644 --- a/apps/audits/templates/audits/command_log_list.html +++ b/apps/audits/templates/audits/command_log_list.html @@ -4,6 +4,7 @@ {% load common_tags %} {% block content_left_head %} +