From 3a2973023cfa029e0140ef35370cf069438dd70e Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Tue, 29 May 2018 11:17:09 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E6=A0=91=E5=92=8C=E8=B5=84=E4=BA=A7=E5=88=97=E8=A1=A8=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=98=BE=E7=A4=BA(=E6=B8=B8=E7=A6=BB=E8=B5=84?= =?UTF-8?q?=E4=BA=A7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api/asset.py | 18 ++++++++++-------- .../templates/assets/_asset_list_modal.html | 2 +- apps/users/views/login.py | 4 +++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/apps/assets/api/asset.py b/apps/assets/api/asset.py index 78926a0f9..16ce3de59 100644 --- a/apps/assets/api/asset.py +++ b/apps/assets/api/asset.py @@ -50,16 +50,18 @@ class AssetViewSet(IDInFilterMixin, LabelFilter, BulkModelViewSet): queryset = queryset.filter(admin_user=admin_user) if node_id and show_current_asset: - queryset = queryset.filter( - Q(nodes=node_id) | Q(nodes__isnull=True) - ).distinct() + node = get_object_or_404(Node, id=node_id) + if node.is_root(): + queryset = queryset.filter( + Q(nodes=node_id) | Q(nodes__isnull=True) + ).distinct() + else: + queryset = queryset.filter(nodes=node).distinct() + if node_id and not show_current_asset: node = get_object_or_404(Node, id=node_id) - if not node.is_root(): - queryset = queryset.filter( - Q(nodes__key__regex='^{}(:[0-9]+)*$'.format(node.key)) | - Q(nodes__isnull=True), - ).distinct() + if node.is_root(): + queryset = Asset.objects.all() else: queryset = queryset.filter( nodes__key__regex='^{}(:[0-9]+)*$'.format(node.key), diff --git a/apps/assets/templates/assets/_asset_list_modal.html b/apps/assets/templates/assets/_asset_list_modal.html index faf569137..a0d96a7ef 100644 --- a/apps/assets/templates/assets/_asset_list_modal.html +++ b/apps/assets/templates/assets/_asset_list_modal.html @@ -95,7 +95,7 @@ function initTree2() { }; var zNodes = []; - $.get("{% url 'api-assets:node-list' %}", function(data, status){ + $.get("{% url 'api-assets:node-list' %}?show_current_asset=1", function(data, status){ $.each(data, function (index, value) { value["pId"] = value["parent"]; {#value["open"] = true;#} diff --git a/apps/users/views/login.py b/apps/users/views/login.py index 6ef948238..fded08f74 100644 --- a/apps/users/views/login.py +++ b/apps/users/views/login.py @@ -50,7 +50,9 @@ class UserLoginView(FormView): def get(self, request, *args, **kwargs): if request.user.is_staff: - return redirect(self.get_success_url()) + return redirect(redirect_user_first_login_or_index( + request, self.redirect_field_name) + ) request.session.set_test_cookie() return super().get(request, *args, **kwargs)