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 %}
+
+
+{% 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"
},