diff options
| author | Mitch Riedstra <mitch@riedstra.us> | 2017-10-28 10:38:02 -0400 |
|---|---|---|
| committer | Mitch Riedstra <mitch@riedstra.us> | 2017-10-28 10:38:02 -0400 |
| commit | d1c5b666d8e55572cdceb3401222d8e4dfecdb58 (patch) | |
| tree | 0c210ee51539b735834e3d23765994b8b6739300 /app/dispatch/views.py | |
| parent | c74a4e1b2251cac6adbb812d0f3a98cca89dfcc8 (diff) | |
| download | dispatch-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.py | 35 |
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 \ |
