2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-01 04:56:45 +00:00

PEP style fixes

This commit is contained in:
Oliver 2021-10-30 12:57:49 +11:00
parent 8e1d9c281a
commit c2a8cfd183
3 changed files with 1 additions and 87 deletions

View File

@ -41,8 +41,6 @@ from .forms import DeleteForm, EditUserForm, SetPasswordForm
from .forms import SettingCategorySelectForm from .forms import SettingCategorySelectForm
from .helpers import str2bool from .helpers import str2bool
from rest_framework import views
def auth_request(request): def auth_request(request):
""" """
@ -57,84 +55,6 @@ def auth_request(request):
return HttpResponse(status=403) return HttpResponse(status=403)
class TreeSerializer(views.APIView):
""" JSON View for serializing a Tree object.
Turns a 'tree' model into a JSON object compatible with bootstrap-treview.
Ref: https://github.com/jonmiles/bootstrap-treeview
"""
@property
def root_url(self):
""" Return the root URL for the tree. Implementation is class dependent.
Default implementation returns #
"""
return '#'
def itemToJson(self, item):
data = {
'pk': item.id,
'text': item.name,
'href': item.get_absolute_url(),
'tags': [item.item_count],
}
if item.has_children:
nodes = []
for child in item.children.all().order_by('name'):
nodes.append(self.itemToJson(child))
data['nodes'] = nodes
return data
def get_items(self):
return self.model.objects.all()
def generate_tree(self):
nodes = []
items = self.get_items()
# Construct the top-level items
top_items = [i for i in items if i.parent is None]
top_count = 0
# Construct the top-level items
top_items = [i for i in items if i.parent is None]
for item in top_items:
nodes.append(self.itemToJson(item))
top_count += item.item_count
self.tree = {
'pk': None,
'text': self.title,
'href': self.root_url,
'nodes': nodes,
'tags': [top_count],
}
def get(self, request, *args, **kwargs):
""" Respond to a GET request for the Tree """
self.generate_tree()
response = {
'tree': [self.tree]
}
return JsonResponse(response, safe=False)
class InvenTreeRoleMixin(PermissionRequiredMixin): class InvenTreeRoleMixin(PermissionRequiredMixin):
""" """
Permission class based on user roles, not user 'permissions'. Permission class based on user roles, not user 'permissions'.

View File

@ -6,7 +6,6 @@ Provides a JSON API for the Part app
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf.urls import url, include from django.conf.urls import url, include
from django.urls import reverse
from django.http import JsonResponse from django.http import JsonResponse
from django.db.models import Q, F, Count, Min, Max, Avg from django.db.models import Q, F, Count, Min, Max, Avg
from django.db import transaction from django.db import transaction
@ -43,7 +42,6 @@ from build.models import Build
from . import serializers as part_serializers from . import serializers as part_serializers
from InvenTree.views import TreeSerializer
from InvenTree.helpers import str2bool, isNull from InvenTree.helpers import str2bool, isNull
from InvenTree.api import AttachmentMixin from InvenTree.api import AttachmentMixin

View File

@ -7,17 +7,14 @@ from __future__ import unicode_literals
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.utils.translation import ugettext_lazy as _
from django.conf.urls import url, include from django.conf.urls import url, include
from django.urls import reverse
from django.http import JsonResponse from django.http import JsonResponse
from django.db.models import Q from django.db.models import Q
from rest_framework import status from rest_framework import status
from rest_framework.serializers import ValidationError from rest_framework.serializers import ValidationError
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework import generics, filters, permissions from rest_framework import generics, filters
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from django_filters import rest_framework as rest_filters from django_filters import rest_framework as rest_filters
@ -42,7 +39,6 @@ import common.models
import stock.serializers as StockSerializers import stock.serializers as StockSerializers
from InvenTree.views import TreeSerializer
from InvenTree.helpers import str2bool, isNull from InvenTree.helpers import str2bool, isNull
from InvenTree.api import AttachmentMixin from InvenTree.api import AttachmentMixin
from InvenTree.filters import InvenTreeOrderingFilter from InvenTree.filters import InvenTreeOrderingFilter