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)