diff options
Diffstat (limited to 'app/dispatch/views.py')
| -rw-r--r-- | app/dispatch/views.py | 90 |
1 files changed, 57 insertions, 33 deletions
diff --git a/app/dispatch/views.py b/app/dispatch/views.py index 32be26c..ac399f6 100644 --- a/app/dispatch/views.py +++ b/app/dispatch/views.py @@ -10,7 +10,7 @@ from django.views.generic import TemplateView,ListView from django.views.generic.detail import DetailView from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.core.urlresolvers import reverse_lazy -from dispatch.models import Customer, Load, Paperwork, Invoice, Settings +from dispatch.models import Customer, Load, Paperwork, Invoice, Settings, Identity from dispatch.forms import AddPaperworkForm from django.contrib.auth.models import User from django.contrib.auth.mixins import UserPassesTestMixin @@ -72,7 +72,7 @@ class DriverList(UserPassesTestMixin, ListView): def test_func(self): return self.request.user.is_superuser -class DriverDetail(UserPassesTestMixin, LoadDateSort): +class DriverDetail(UserPassesTestMixin, DetailView): template_name = "dispatch/drivers/detail.html" model = User @@ -85,6 +85,27 @@ class DriverDetail(UserPassesTestMixin, LoadDateSort): # Shit gets fucky with super() really fast, but this seems to work context = super(DriverDetail, self).get_context_data(**kwargs) + try: + context['ident'] = Identity.objects.get(user=self.get_object().pk) + except: + context['ident'] = None + + return context + + +class DriverSummary(UserPassesTestMixin, LoadDateSort): + template_name = "dispatch/drivers/summary.html" + model = User + + def test_func(self): + # Seems a little hacky at first but it works! + return self.request.user.is_superuser or \ + self.get_object().pk is self.request.user.id + + def get_context_data(self, **kwargs): + # Shit gets fucky with super() really fast, but this seems to work + context = super(DriverSummary, self).get_context_data(**kwargs) + stats = {}; stats['count'], stats['average'], stats['sum'] = (0,0,0) stats['incomplete_loads'] = 0 @@ -113,6 +134,13 @@ class DriverUpdate(UserPassesTestMixin, UpdateView): success_url = reverse_lazy('driver_list') fields = ['username', 'first_name','last_name','email','groups', 'is_active'] + def get_context_data(self, **kwargs): + # Shit gets fucky with super() really fast, but this seems to work + context = super(DriverUpdate, self).get_context_data(**kwargs) + + + return context + def test_func(self): # Seems a little hacky at first but it works! return self.request.user.is_superuser or \ @@ -279,6 +307,33 @@ def PaperworkDownload(request, load_id, pk): except Exception as e: print(e) +# Identity +class IdentityDetail(DetailView): + template_name = "dispatch/identity/detail.html" + model = Identity + +def SetDefaultIdentity(request, pk): + ident = Ident.objects.get(pk=pk) + ident.set_default() + return redirect(reverse('identity_detail', kwargs={'pk': pk})) + +class IdentityCreate(UserPassesTestMixin, CreateView): + template_name = "dispatch/identity/edit.html" + model = Identity + fields = ['user', 'name', 'address', 'city', 'state', 'zip_code'] + + def test_func(self): + return self.request.user.is_superuser or \ + self.get_object().user.pk is self.request.user.pk + +class IdentityUpdate(UserPassesTestMixin, UpdateView): + template_name = "dispatch/identity/edit.html" + model = Identity + fields = ['user', 'name', 'address', 'city', 'state', 'zip_code'] + + def test_func(self): + return self.request.user.is_superuser or \ + self.get_object().user.pk is self.request.user.pk # Invoice @@ -309,42 +364,11 @@ def InvoiceGenerateForDates(request, pk): return redirect(reverse('invoice_list')) - - - -# class InvoiceEdit(UserPassesTestMixin, UpdateView): -# template_name = "dispatch/invoice/edit.html" -# model = Invoice -# fields = ['invoice_date','due_date'] -# -# def test_func(self): -# # Seems a little hacky at first but it works! -# return self.request.user.is_superuser or \ -# self.get_object().user.pk is self.request.user.pk -# -# class InvoiceCreate(CreateView): -# template_name = "dispatch/invoice/create.html" -# model = Invoice -# fields = ['invoice_date', 'due_date'] -# -# def get(self,request): -# if request.user.is_superuser: -# self.fields.insert(1,'user') -# return super(LoadCreate, self).get(request) -# -# def form_valid(self, form): -# if not self.request.user.is_superuser: -# load = form.save(commit=False) -# load.user = self.request.user -# return super(LoadCreate, self).form_valid(form) - class InvoiceDelete(UserPassesTestMixin, DeleteView): template_name = "dispatch/invoice/list.html" model = Invoice success_url = reverse_lazy('invoice_list') def test_func(self): - print (self.request.user.is_superuser) - print(self.get_object().user.pk is self.request.user.pk) return self.request.user.is_superuser or \ self.get_object().user.pk is self.request.user.pk |
