remove the get_objects util

This commit is contained in:
Andreas Zweili 2021-12-24 13:12:07 +01:00
parent 436434cc86
commit 20524c20d4
4 changed files with 5 additions and 38 deletions

View File

@ -91,7 +91,8 @@ class ComputersFilterView(LoginRequiredMixin, SingleTableMixin, FilterView):
filterset_class = ComputerFilter
def get_queryset(self):
return utils.get_objects("Computer", self.request.user)
return utils.get_all_objects_for_alLowed_customers(Computer,
self.request.user)
class ComputerCreateFromCustomerView(LoginRequiredMixin, CreateView):

View File

@ -4,9 +4,3 @@ import pytest
from core import utils
pytestmark = pytest.mark.django_db
def test_get_objects_raises_404(create_admin_user):
fixture = create_admin_user()
with pytest.raises(Http404):
utils.get_objects("WrongModelName", fixture['admin'])

View File

@ -1,4 +1,3 @@
from django.apps import apps
from django.http import Http404
from django.shortcuts import get_object_or_404
from guardian.shortcuts import get_objects_for_user
@ -40,34 +39,6 @@ def _get_customers(user):
klass=Customer)
def get_objects(model_name, user):
"""
Returns a queryset of a given model name the user is allowed to view.
model_name: string
user : django.contrib.auth.models.User
"""
model_name = model_name.lower()
customers = _get_customers(user)
app_names = [
'backups',
'computers',
'core',
'customers',
'devices',
'licenses',
'nets',
'softwares',
'users',
]
for name in app_names:
app = apps.get_app_config(name)
if model_name in app.models:
model = app.models[model_name]
return model.objects.filter(customer__in=customers)
raise Http404("Model ", model_name, " not found.")
def get_object_with_view_permission(model, user=None, pk=None):
requested_object = get_object_or_404(model, id=pk)
permission = "customers.view_customer"

View File

@ -12,7 +12,7 @@ from django_tables2 import RequestConfig
from customers.decorators import customer_view_permission
from customers.models import Customer
from core.utils import get_objects
from core import utils
from .decorators import device_view_permission
@ -59,7 +59,8 @@ def devices_table_view(request, pk):
@login_required
def warranties_view(request):
table = WarrantiesTable(get_objects("Warranty", request.user))
table = WarrantiesTable(
utils.get_all_objects_for_alLowed_customers(Warranty, request.user))
RequestConfig(request).configure(table)
return render(request,
'devices/warranties_list.html',