2020-01-10 00:01:06 +01:00
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
from django.shortcuts import get_object_or_404
|
2020-01-09 18:01:14 +01:00
|
|
|
from django.shortcuts import render
|
|
|
|
|
2020-01-10 00:01:06 +01:00
|
|
|
from django_tables2 import RequestConfig
|
|
|
|
|
2020-02-16 22:03:43 +01:00
|
|
|
from core.decorators import superuser_required
|
2020-01-10 00:01:06 +01:00
|
|
|
from customers.decorators import customer_view_permission
|
|
|
|
|
|
|
|
from .decorators import device_view_permission
|
2020-02-15 18:50:51 +01:00
|
|
|
from .decorators import connected_device_view_permission
|
2020-01-10 00:01:06 +01:00
|
|
|
|
2020-02-15 18:50:51 +01:00
|
|
|
from .models import ConnectedDevice
|
2020-01-10 00:01:06 +01:00
|
|
|
from .models import Device
|
2020-02-16 14:21:29 +01:00
|
|
|
from .models import Warranty
|
2020-01-10 00:01:06 +01:00
|
|
|
|
2020-02-16 22:03:43 +01:00
|
|
|
from .tables import ConnectedDevicesTable
|
|
|
|
from .tables import DevicesTable
|
|
|
|
from .tables import WarrantiesTable
|
|
|
|
|
2020-01-10 00:01:06 +01:00
|
|
|
|
|
|
|
@login_required
|
|
|
|
@device_view_permission
|
|
|
|
def device_detail_view(request, pk):
|
|
|
|
device = get_object_or_404(Device, pk=pk)
|
2020-02-16 14:21:29 +01:00
|
|
|
warranty_relations = Warranty.objects.filter(device=pk)
|
2020-01-11 17:00:42 +01:00
|
|
|
return render(request, 'devices/device_details.html',
|
2020-02-16 14:21:29 +01:00
|
|
|
{'device': device,
|
|
|
|
'warranty_relations': warranty_relations})
|
2020-01-10 00:01:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@customer_view_permission
|
|
|
|
def devices_table_view(request, pk):
|
|
|
|
table = DevicesTable(Device.objects.filter(customer=pk))
|
|
|
|
RequestConfig(request).configure(table)
|
2020-01-11 17:00:42 +01:00
|
|
|
return render(request, 'devices/device_list.html', {'devices': table})
|
2020-02-15 18:50:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@connected_device_view_permission
|
|
|
|
def connected_device_detail_view(request, pk):
|
|
|
|
device = get_object_or_404(ConnectedDevice, pk=pk)
|
2020-02-16 14:21:29 +01:00
|
|
|
warranty_relations = Warranty.objects.filter(device=pk)
|
2020-02-16 14:47:56 +01:00
|
|
|
return render(request, 'devices/device_details.html',
|
2020-02-16 14:21:29 +01:00
|
|
|
{'device': device,
|
|
|
|
'warranty_relations': warranty_relations})
|
2020-02-15 18:50:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@customer_view_permission
|
|
|
|
def connected_devices_table_view(request, pk):
|
|
|
|
table = ConnectedDevicesTable(ConnectedDevice.objects.filter(customer=pk))
|
|
|
|
RequestConfig(request).configure(table)
|
|
|
|
return render(request, 'devices/connected_device_list.html', {'devices': table})
|
2020-02-16 22:03:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
@superuser_required
|
|
|
|
def warranties_view(request):
|
2020-02-23 11:39:58 +01:00
|
|
|
table = WarrantiesTable(Warranty.objects.all())
|
2020-02-16 22:03:43 +01:00
|
|
|
RequestConfig(request).configure(table)
|
|
|
|
return render(request, 'devices/warranties_list.html', {'devices': table})
|