aboutsummaryrefslogtreecommitdiff
path: root/app/dispatch/views.py
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2017-10-28 10:38:02 -0400
committerMitch Riedstra <mitch@riedstra.us>2017-10-28 10:38:02 -0400
commitd1c5b666d8e55572cdceb3401222d8e4dfecdb58 (patch)
tree0c210ee51539b735834e3d23765994b8b6739300 /app/dispatch/views.py
parentc74a4e1b2251cac6adbb812d0f3a98cca89dfcc8 (diff)
downloaddispatch-tracker-d1c5b666d8e55572cdceb3401222d8e4dfecdb58.tar.gz
dispatch-tracker-d1c5b666d8e55572cdceb3401222d8e4dfecdb58.tar.xz
Ability to edit your Invoice Number. Clean up some of the forms for non-admins
Diffstat (limited to 'app/dispatch/views.py')
-rw-r--r--app/dispatch/views.py35
1 files changed, 31 insertions, 4 deletions
diff --git a/app/dispatch/views.py b/app/dispatch/views.py
index bf4c3fb..087091a 100644
--- a/app/dispatch/views.py
+++ b/app/dispatch/views.py
@@ -6,6 +6,7 @@ from django.core.urlresolvers import reverse
# import django.contrib.auth as auth
# from django.conf import settings
# Create your views here.
+from django.core.exceptions import ObjectDoesNotExist
from django.views.generic import TemplateView,ListView
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
@@ -90,6 +91,14 @@ class DriverDetail(UserPassesTestMixin, DetailView):
except:
context['ident'] = None
+ try:
+ context['invoice_number'] = \
+ UserInvoiceNumber.objects.get(user=self.get_object().pk)
+ except ObjectDoesNotExist:
+ uinv = UserInvoiceNumber(user=self.get_object())
+ uinv.save()
+ context['invoice_number'] = uinv
+
return context
@@ -132,7 +141,15 @@ class DriverUpdate(UserPassesTestMixin, UpdateView):
template_name = "dispatch/drivers/edit.html"
model = User
success_url = reverse_lazy('driver_list')
- fields = ['username', 'first_name','last_name','email','groups', 'is_active']
+ # fields = ['username', 'first_name','last_name','email','groups']
+ fields = ['username', 'first_name','last_name','email']
+
+
+ def get(self,request, *args, **kwargs):
+ if request.user.is_superuser:
+ self.fields.append('is_active')
+ self.fields.append('is_superuser')
+ return super(DriverUpdate, self).get(request)
def get_context_data(self, **kwargs):
# Shit gets fucky with super() really fast, but this seems to work
@@ -313,7 +330,7 @@ def PaperworkDownload(request, load_id, pk):
class UserInvoiceNumberUpdate(UserPassesTestMixin, UpdateView):
template_name = "dispatch/userinvoicenumber/edit.html"
- model = UserInvoiceNumber
+ model = UserInvoiceNumber
fields = ['number']
def get(self,request, *args, **kwargs):
@@ -341,7 +358,12 @@ def SetDefaultIdentity(request, user_id, pk):
class IdentityCreate(UserPassesTestMixin, CreateView):
template_name = "dispatch/identity/edit.html"
model = Identity
- fields = ['user', 'name', 'address', 'city', 'state', 'zip_code']
+ fields = ['name', 'address', 'city', 'state', 'zip_code']
+
+ def get(self, request, *args, **kwargs):
+ if request.user.is_superuser:
+ self.fields.insert(1,'user')
+ return super(IdentityCreate, self).get(request)
def test_func(self):
return self.request.user.is_superuser or \
@@ -350,7 +372,12 @@ class IdentityCreate(UserPassesTestMixin, CreateView):
class IdentityUpdate(UserPassesTestMixin, UpdateView):
template_name = "dispatch/identity/edit.html"
model = Identity
- fields = ['user', 'name', 'address', 'city', 'state', 'zip_code']
+ fields = ['name', 'address', 'city', 'state', 'zip_code']
+
+ def get(self, request, *args, **kwargs):
+ if request.user.is_superuser:
+ self.fields.insert(1,'user')
+ return super(IdentityUpdate, self).get(request)
def test_func(self):
return self.request.user.is_superuser or \