aboutsummaryrefslogtreecommitdiff
path: root/app/dispatch/views.py
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2017-10-25 00:33:14 -0400
committerMitch Riedstra <mitch@riedstra.us>2017-10-25 00:33:14 -0400
commitfae5a7e38ef7084990724df51488f54c52ec592d (patch)
treecfed616d392e686a9bd6503cddcf099a759c5b74 /app/dispatch/views.py
parent61dc16200b5ada1c16def723498e61d1bb112da3 (diff)
downloaddispatch-tracker-fae5a7e38ef7084990724df51488f54c52ec592d.tar.gz
dispatch-tracker-fae5a7e38ef7084990724df51488f54c52ec592d.tar.xz
Better driver edit page as well as pages for working with Identity
Diffstat (limited to 'app/dispatch/views.py')
-rw-r--r--app/dispatch/views.py90
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