from django.shortcuts import render from django.views.generic import ListView, CreateView, DetailView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin from .models import Service, ServiceType, IPResource from .forms import ServiceForm class ServiceMixin(PermissionRequiredMixin): model = Service permission_required = 'services.change_service' class ServiceList(ServiceMixin, ListView): pass class ServiceCreate(ServiceMixin, CreateView): #fields = ('adhesion', 'service_type', 'label', 'notes', 'active',) form_class = ServiceForm class ServiceDetail(LoginRequiredMixin, DetailView): def get_queryset(self): if self.request.user.is_superuser: return Service.objects.all() else: return Service.objects.filter(adhesion__pk__in=self.request.user.profile.adhesions.values_list('pk')) \ .order_by('-created') class ServiceUpdate(ServiceMixin, UpdateView): fields = ('label', 'notes', 'active',) class ServiceTypeMixin(PermissionRequiredMixin): model = ServiceType permission_required = 'services.change_servicetype' class ServiceTypeList(ServiceTypeMixin, ListView): pass class ServiceTypeCreate(ServiceTypeMixin, CreateView): fields = ('name',) class ServiceTypeDetail(ServiceTypeMixin, DetailView): pass class ServiceTypeUpdate(ServiceTypeMixin, UpdateView): fields = ('name',) class IPResourceMixin(PermissionRequiredMixin): model = IPResource permission_required = 'services.change_ipresource' class IPResourceList(IPResourceMixin, ListView): pass class IPResourceDetail(IPResourceMixin, DetailView): pass