diff options
Diffstat (limited to 'app/dispatch')
| -rw-r--r-- | app/dispatch/forms.py | 3 | ||||
| -rw-r--r-- | app/dispatch/migrations/0003_paperwork.py | 25 | ||||
| -rw-r--r-- | app/dispatch/models.py | 14 | ||||
| -rw-r--r-- | app/dispatch/templates/dispatch/loads/create.html | 11 | ||||
| -rw-r--r-- | app/dispatch/templates/dispatch/loads/edit.html | 1 | ||||
| -rw-r--r-- | app/dispatch/templates/dispatch/paperwork/add.html | 22 | ||||
| -rw-r--r-- | app/dispatch/urls.py | 3 | ||||
| -rw-r--r-- | app/dispatch/views.py | 32 |
8 files changed, 103 insertions, 8 deletions
diff --git a/app/dispatch/forms.py b/app/dispatch/forms.py new file mode 100644 index 0000000..32d64dc --- /dev/null +++ b/app/dispatch/forms.py @@ -0,0 +1,3 @@ +from django import forms + + diff --git a/app/dispatch/migrations/0003_paperwork.py b/app/dispatch/migrations/0003_paperwork.py new file mode 100644 index 0000000..72c27d3 --- /dev/null +++ b/app/dispatch/migrations/0003_paperwork.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.5 on 2017-10-11 16:15 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('dispatch', '0002_auto_20171010_0140'), + ] + + operations = [ + migrations.CreateModel( + name='Paperwork', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('description', models.CharField(max_length=256)), + ('document', models.FileField(upload_to='paperwork/')), + ('load', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='dispatch.Load')), + ], + ), + ] diff --git a/app/dispatch/models.py b/app/dispatch/models.py index dfb5273..acb13cd 100644 --- a/app/dispatch/models.py +++ b/app/dispatch/models.py @@ -25,13 +25,13 @@ class Load(models.Model): def __str__(self): return "{c}, {d} ( {a} )".format(c=self.company, d=self.description, a=self.amount) -# class Paperwork(models.Model): -# company = models.OneToOneField(Company) -# description = models.CharField(max_length=256) -# amount = models.DecimalField(max_digits=10,decimal_places=2) -# -# def __str__(self): -# return "{c}, {d} ( {a} )".format(c=self.company, d=self.description, a=self.amount) +class Paperwork(models.Model): + load = models.OneToOneField(Load) + description = models.CharField(max_length=256) + document = models.FileField(upload_to='paperwork/') + + def __str__(self): + return "%s" % Load diff --git a/app/dispatch/templates/dispatch/loads/create.html b/app/dispatch/templates/dispatch/loads/create.html index 8d84df3..cf12440 100644 --- a/app/dispatch/templates/dispatch/loads/create.html +++ b/app/dispatch/templates/dispatch/loads/create.html @@ -13,4 +13,15 @@ {{ form.as_p }} <input type="submit" class="btn green" value="Save" /> </form> + +<div class="row" style="padding-top: 50px"> + <div class="col s12"> + <div class="card steel-blue darken-2"> + <div class="card-content"> + Note: You must first save the load to attach files + </div> + </div> + </div> +</div> + {% endblock %} diff --git a/app/dispatch/templates/dispatch/loads/edit.html b/app/dispatch/templates/dispatch/loads/edit.html index 37b4bb8..f43c242 100644 --- a/app/dispatch/templates/dispatch/loads/edit.html +++ b/app/dispatch/templates/dispatch/loads/edit.html @@ -13,4 +13,5 @@ {{ form.as_p }} <input type="submit" class="btn blue" value="Update" /> </form> + {% endblock %} diff --git a/app/dispatch/templates/dispatch/paperwork/add.html b/app/dispatch/templates/dispatch/paperwork/add.html new file mode 100644 index 0000000..98c51cf --- /dev/null +++ b/app/dispatch/templates/dispatch/paperwork/add.html @@ -0,0 +1,22 @@ +{% extends 'dispatch/base.html' %} + +{% block title %}Edit - {{ object.load_number }}{% endblock %} + +{% block content %} +<div class="row"> + <div class="col s12 m6"> + <h1>{{object.name}}</h1> + </div> +</div> + +fuck + +{{load}} +{{form}} + +<form action="" method="post">{% csrf_token %} + {{ form.as_p }} + <input type="submit" class="btn blue" value="Update" /> +</form> + +{% endblock %} diff --git a/app/dispatch/urls.py b/app/dispatch/urls.py index 9ae41f8..683e91f 100644 --- a/app/dispatch/urls.py +++ b/app/dispatch/urls.py @@ -26,4 +26,7 @@ urlpatterns = [ url(r'^loads/edit/(?P<pk>\d+)$', views.LoadUpdate.as_view(), name='load_edit'), url(r'^loads/delete/(?P<pk>\d+)$', views.LoadDelete.as_view(), name='load_delete'), + + url(r'^loads/upload/(?P<load_id>\d+)$$', views.PaperworkUpload, name='paperwork_upload'), + ] diff --git a/app/dispatch/views.py b/app/dispatch/views.py index 106d20b..97756e3 100644 --- a/app/dispatch/views.py +++ b/app/dispatch/views.py @@ -9,7 +9,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 Company, Load +from dispatch.models import Company, Load, Paperwork from django.contrib.auth.models import User from django.contrib.auth.mixins import UserPassesTestMixin from django.http import HttpResponseRedirect @@ -229,3 +229,33 @@ class LoadDelete(FilteredDeleteView): template_name = "dispatch/loads/delete.html" model = Load success_url = reverse_lazy('load_list') + + +# Paperwork Uploads + +def PaperworkUpload(request, load_id): + print(request, load_id) + + ctx = {} + + l = Load.objects.get(pk=load_id) + + ctx['load'] = l + + print(l) + + if request.method == 'POST': + form = Paperwork(request.POST, request.FILES) + if form.is_valid(): + # file is saved + form.save() + return HttpResponseRedirect('/success/url/') + else: + form = Paperwork() + + + ctx['form'] = form + + # return redirect(reverse('load_edit', kwargs={'pk': load_id})) + # return render(request, 'dispatch/paperwork/add.html', {'form': form}) + return render(request, 'dispatch/paperwork/add.html', ctx) |
