diff --git a/apps/assets/api.py b/apps/assets/api.py index ac7466e4e..e5c5a44ff 100644 --- a/apps/assets/api.py +++ b/apps/assets/api.py @@ -40,15 +40,10 @@ class AssetViewSet(IDInFilterMixin, BulkModelViewSet): """ queryset = Asset.objects.all() serializer_class = serializers.AssetSerializer - permission_classes = (IsValidUser,) + permission_classes = (IsSuperUserOrAppUser,) def get_queryset(self): - if self.request.user.is_superuser or self.request.user.is_app: - queryset = super().get_queryset() - else: - assets_granted = get_user_granted_assets(self.request.user) - queryset = self.queryset.filter(id__in=[asset.id for asset in assets_granted]) - + queryset = super().get_queryset() cluster_id = self.request.query_params.get('cluster_id') asset_group_id = self.request.query_params.get('asset_group_id') admin_user_id = self.request.query_params.get('admin_user_id') @@ -70,6 +65,19 @@ class AssetViewSet(IDInFilterMixin, BulkModelViewSet): return queryset +class UserAssetListView(generics.ListAPIView): + queryset = Asset.objects.all() + serializer_class = serializers.AssetSerializer + permission_classes = (IsValidUser,) + + def get_queryset(self): + assets_granted = get_user_granted_assets(self.request.user) + queryset = self.queryset.filter( + id__in=[asset.id for asset in assets_granted] + ) + return queryset + + class AssetGroupViewSet(IDInFilterMixin, BulkModelViewSet): """ Asset group api set, for add,delete,update,list,retrieve resource diff --git a/apps/assets/templates/assets/admin_user_detail.html b/apps/assets/templates/assets/admin_user_detail.html index b7fca5f7a..da88f919b 100644 --- a/apps/assets/templates/assets/admin_user_detail.html +++ b/apps/assets/templates/assets/admin_user_detail.html @@ -133,7 +133,6 @@ function bindToCluster(clusters) { $('.select2-selection__rendered').empty(); $('#cluster_selected').val(''); $.map(jumpserver.cluster_selected, function(cluster_name, index) { - console.log(index); $('#opt_' + index).remove(); // change tr html of user groups. $('#table-clusters tbody').append( diff --git a/apps/assets/templates/assets/asset_group_detail.html b/apps/assets/templates/assets/asset_group_detail.html index ab44200c4..84293ab47 100644 --- a/apps/assets/templates/assets/asset_group_detail.html +++ b/apps/assets/templates/assets/asset_group_detail.html @@ -223,7 +223,6 @@ $(document).ready(function () { }); var delete_asset_id = $(this).data('aid'); assets.remove(delete_asset_id); - console.log(assets); var data = {"assets": assets}; leaveGroup($this, name, the_url, data); }) diff --git a/apps/assets/templates/assets/asset_group_list.html b/apps/assets/templates/assets/asset_group_list.html index 83fcacd1a..e27d78867 100644 --- a/apps/assets/templates/assets/asset_group_list.html +++ b/apps/assets/templates/assets/asset_group_list.html @@ -75,8 +75,6 @@ $(document).ready(function(){ return false; } var the_url = '{% url "api-assets:asset-group-list" %}'; - console.log(plain_id_list); - console.log(the_url); function doDelete() { swal({ title: "{% trans 'Are you sure?' %}", diff --git a/apps/assets/templates/assets/user_asset_list.html b/apps/assets/templates/assets/user_asset_list.html index 100e09525..20c7d4d50 100644 --- a/apps/assets/templates/assets/user_asset_list.html +++ b/apps/assets/templates/assets/user_asset_list.html @@ -42,7 +42,6 @@ function initTable() { columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { {% url 'assets:asset-detail' pk=DEFAULT_PK as the_url %} - console.log('{{ the_url }}'); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, @@ -67,7 +66,7 @@ function initTable() { $(td).html(conn_btn) }} ], - ajax_url: '{% url "api-assets:asset-list" %}', + ajax_url: '{% url "api-assets:user-asset-list" %}', columns: [ {data: "id"}, {data: "hostname" }, {data: "ip" }, {data: "port" }, {data: "get_type_display" }, {data: "get_env_display"}, {data: "hardware_info"}, diff --git a/apps/assets/urls/api_urls.py b/apps/assets/urls/api_urls.py index 9ad0861af..503464b31 100644 --- a/apps/assets/urls/api_urls.py +++ b/apps/assets/urls/api_urls.py @@ -21,6 +21,8 @@ urlpatterns = [ api.AssetRefreshHardwareApi.as_view(), name='asset-refresh'), url(r'^v1/assets/(?P[0-9a-zA-Z\-]{36})/alive/$', api.AssetAdminUserTestApi.as_view(), name='asset-alive-test'), + url(r'^v1/assets/user-assets/$', + api.UserAssetListView.as_view(), name='user-asset-list'), # update the asset group, which add or delete the asset to the group url(r'^v1/groups/(?P[0-9a-zA-Z\-]{36})/assets/$', api.GroupUpdateAssetsApi.as_view(), name='group-update-assets'), diff --git a/apps/perms/templates/perms/asset_permission_asset.html b/apps/perms/templates/perms/asset_permission_asset.html index 5e9472099..5cfc44c05 100644 --- a/apps/perms/templates/perms/asset_permission_asset.html +++ b/apps/perms/templates/perms/asset_permission_asset.html @@ -53,8 +53,6 @@ {% trans 'Hostname' %} {% trans 'IP' %} - {% trans 'Port' %} - {% trans 'Is valid' %} @@ -63,15 +61,6 @@ {{ asset.hostname }} {{ asset.ip }} - {{ user.port }} - - {% if asset.is_active %} - - {% else %} - - {% endif %} - - diff --git a/apps/perms/templates/perms/asset_permission_detail.html b/apps/perms/templates/perms/asset_permission_detail.html index b4bcc92a5..30d425e82 100644 --- a/apps/perms/templates/perms/asset_permission_detail.html +++ b/apps/perms/templates/perms/asset_permission_detail.html @@ -113,7 +113,7 @@ - +
Active:{% trans 'Active' %} :
@@ -139,8 +139,8 @@ - - + - - + {% for system_user in system_users %} - + - - @@ -63,15 +61,6 @@ - - - @@ -231,7 +220,6 @@ $(document).ready(function () { $.map(jumpserver.users_selected, function(value, index) { users_id.push(index); }); - console.log(users_id); addUsers(users_id); }).on('click', '.btn-remove-user', function () { var user_id = $(this).data("gid"); diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index d8db987ad..a76c44187 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -61,7 +61,6 @@ function GetTableDataBox() { id_list.push(i); } } - console.log(id_list); for (i in id_list) { console.log(tabProduct); tableData.push(GetRowData(tabProduct.rows[id_list[i]])); @@ -358,7 +357,6 @@ function setCookie(key, value) { var expires = new Date(); expires.setTime(expires.getTime() + (24 * 60 * 60 * 1000)); document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/'; - console.log("Cookie: " + document.cookie) } diff --git a/apps/templates/_user_profile.html b/apps/templates/_user_profile.html index 4fa3ef24f..1fd07b5c6 100644 --- a/apps/templates/_user_profile.html +++ b/apps/templates/_user_profile.html @@ -28,7 +28,6 @@ $(document).ready(function () { .on('click', '#switch_user', function () { var cookieName = "IN_ADMIN_PAGE"; setTimeout(function () { - console.log("Set to No"); delCookie(cookieName); setCookie(cookieName, "No"); window.location = "/" diff --git a/apps/terminal/templates/terminal/terminal_list.html b/apps/terminal/templates/terminal/terminal_list.html index 314ed6c9a..f040f92ee 100644 --- a/apps/terminal/templates/terminal/terminal_list.html +++ b/apps/terminal/templates/terminal/terminal_list.html @@ -136,7 +136,6 @@ $(document).ready(function(){ }).on('click', '.btn-connect', function () { var $this = $(this); var id = $this.data('id'); - console.log(id) }) {% endblock %} diff --git a/apps/users/forms.py b/apps/users/forms.py index 48021ec74..c4f008663 100644 --- a/apps/users/forms.py +++ b/apps/users/forms.py @@ -184,12 +184,14 @@ class UserBulkUpdateForm(forms.ModelForm): class UserGroupForm(forms.ModelForm): users = forms.ModelMultipleChoiceField( queryset=User.objects.all(), + label=_("User"), widget=forms.SelectMultiple( attrs={ 'class': 'select2', 'data-placeholder': _('Select users') } - ) + ), + required=False, ) def __init__(self, **kwargs): diff --git a/apps/users/templates/users/user_group_detail.html b/apps/users/templates/users/user_group_detail.html index da461ec6b..5d5fe5022 100644 --- a/apps/users/templates/users/user_group_detail.html +++ b/apps/users/templates/users/user_group_detail.html @@ -171,7 +171,6 @@ $(document).ready(function () { var users = $('.bdg_user').map(function() { return $(this).data('uid'); }).get(); - console.log(users); updateGroupMember(users) }).on('click', '#btn_add_user', function() { if (Object.keys(jumpserver.users_selected).length === 0) { diff --git a/apps/users/templates/users/user_list.html b/apps/users/templates/users/user_list.html index 978532639..ab9bcf3c7 100644 --- a/apps/users/templates/users/user_list.html +++ b/apps/users/templates/users/user_list.html @@ -223,7 +223,7 @@ $(document).ready(function(){ var $this = $(this); var name = $this.data('name'); var uid = $this.data('uid'); - var the_url = '{% url "api-users:user-detail" pk="{{ DEFAULT_PK }}" %}'.replace("{{ DEFAULT_PK }}", uid); + var the_url = '{% url "api-users:user-detail" pk=DEFAULT_PK %}'.replace("{{ DEFAULT_PK }}", uid); objectDelete($this, name, the_url); }) diff --git a/apps/users/views/group.py b/apps/users/views/group.py index f1658a116..a26cfcaec 100644 --- a/apps/users/views/group.py +++ b/apps/users/views/group.py @@ -39,7 +39,9 @@ class UserGroupCreateView(AdminUserRequiredMixin, SuccessMessageMixin, CreateVie form_class = forms.UserGroupForm template_name = 'users/user_group_create_update.html' success_url = reverse_lazy('users:user-group-list') - success_message = ' {name} was created successfully' + success_message = _( + 'User group {name} was created successfully' + ) def get_context_data(self, **kwargs): context = {
+
+
{{ system_user.name }} diff --git a/apps/perms/templates/perms/asset_permission_user.html b/apps/perms/templates/perms/asset_permission_user.html index f694bf4fd..2e64368aa 100644 --- a/apps/perms/templates/perms/asset_permission_user.html +++ b/apps/perms/templates/perms/asset_permission_user.html @@ -53,8 +53,6 @@
{% trans 'Name' %} {% trans 'Username' %}{% trans 'Email' %}{% trans 'Is valid' %}
{{ user.name }} {{ user.username }}{{ user.email }} - {% if user.is_expired and user.is_active %} - - {% else %} - - {% endif %} -