aboutsummaryrefslogtreecommitdiff
path: root/app/dispatch
diff options
context:
space:
mode:
Diffstat (limited to 'app/dispatch')
-rw-r--r--app/dispatch/forms.py9
-rw-r--r--app/dispatch/management/commands/insert_fake_data.py39
-rw-r--r--app/dispatch/management/commands/insert_test_data.py50
-rw-r--r--app/dispatch/models.py10
-rw-r--r--app/dispatch/templates/dispatch/generic_load_listing.html15
-rw-r--r--app/dispatch/templates/dispatch/loads/detail.html9
-rw-r--r--app/dispatch/templates/dispatch/loads/edit.html2
-rw-r--r--app/dispatch/templates/dispatch/paperwork/add.html2
-rw-r--r--app/dispatch/views.py17
9 files changed, 45 insertions, 108 deletions
diff --git a/app/dispatch/forms.py b/app/dispatch/forms.py
index f3059ee..6333486 100644
--- a/app/dispatch/forms.py
+++ b/app/dispatch/forms.py
@@ -1,7 +1,7 @@
from django import forms
-from dispatch.models import Paperwork, Load
+from dispatch.models import Paperwork
+# from django.conf import settings
-from django.conf import settings
class AddPaperworkForm(forms.ModelForm):
class Meta:
@@ -10,8 +10,3 @@ class AddPaperworkForm(forms.ModelForm):
# fields = ('load', 'description', 'document')
fields = ('description', 'document')
# exclude = ('load',)
-
-class EditLoadForm(forms.ModelForm):
- class Meta:
- model = Load
- fields = ('date', 'user', 'company', 'load_number', 'description', 'amount')
diff --git a/app/dispatch/management/commands/insert_fake_data.py b/app/dispatch/management/commands/insert_fake_data.py
index 81c7b66..0919181 100644
--- a/app/dispatch/management/commands/insert_fake_data.py
+++ b/app/dispatch/management/commands/insert_fake_data.py
@@ -2,26 +2,24 @@ from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth import get_user_model
from dispatch.models import Company, Load
from faker import Faker
-from datetime import date, timedelta
import random
-# So we can check if a user already exists
-from django.core.exceptions import ObjectDoesNotExist
from django.db.utils import IntegrityError
# import yaml
User = get_user_model()
+
class Command(BaseCommand):
help = """Generate fake data.\n
Example usage: \n
- ./manage.py insert_fake_data --companies 4 --users 3 --loads 800 --start-date='-16w' --end-date '+16w'
- """
+ ./manage.py insert_fake_data --companies 4 --users 3 --loads 800
+ --start-date='-16w' --end-date '+16w' """
fake = Faker()
- end_date=""
- start_date=""
+ end_date = ""
+ start_date = ""
def add_arguments(self, parser):
# parser.add_argument('--file', type=str, dest='filename')
@@ -34,8 +32,8 @@ class Command(BaseCommand):
def handle(self, *args, **options):
- self.end_date=options['enddate']
- self.start_date=options['startdate']
+ self.end_date = options['enddate']
+ self.start_date = options['startdate']
company_ids = []
user_ids = []
@@ -61,24 +59,28 @@ class Command(BaseCommand):
l = self.fake_load(u, co)
-
def fake_company(self):
new_company = Company(
- name = self.fake.company(),
- address = self.fake.address(),
- phone_number = self.fake.msisdn(),
- email_address = self.fake.company_email(),
- contact_name = self.fake.name(),
+ name=self.fake.company(),
+ address=self.fake.address(),
+ phone_number=self.fake.msisdn(),
+ email_address=self.fake.company_email(),
+ contact_name=self.fake.name(),
)
new_company.save()
return new_company
def fake_load(self, usr, co):
+ fake_description = "{}-{} {} {}K".format(
+ self.fake.month(), self.fake.day_of_month(),
+ self.fake.license_plate(), random.randint(5, 50))
+ print(fake_description)
new_load = Load(
user=usr,
# Because that's going to be random enough
- load_number=self.fake.license_plate(),
- description=self.fake.sentence(nb_words=6),
+ # load_number=self.fake.license_plate(),
+ # description=self.fake.sentence(nb_words=6),
+ description=fake_description,
company=co,
amount=random.randint(150,2500),
delivered_to=self.fake.city(),
@@ -95,7 +97,7 @@ class Command(BaseCommand):
funame = ffname[0] + flname
funame = '%s.%s' % (ffname, flname)
- try:
+ try:
new_user = User(
first_name=ffname,
last_name=flname,
@@ -109,4 +111,3 @@ class Command(BaseCommand):
except IntegrityError:
# Around and around we go until we get something new
return self.fake_user()
-
diff --git a/app/dispatch/management/commands/insert_test_data.py b/app/dispatch/management/commands/insert_test_data.py
deleted file mode 100644
index 8ca9a33..0000000
--- a/app/dispatch/management/commands/insert_test_data.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from django.core.management.base import BaseCommand, CommandError
-from django.contrib.auth import get_user_model
-from dispatch.models import Company, Contact, Load
-
-import yaml
-
-User = get_user_model()
-
-class Command(BaseCommand):
- help = "Import Objects from a YML file"
-
- def add_arguments(self, parser):
- parser.add_argument('--file', type=str, dest='filename')
-
-
- def handle(self, *args, **options):
-
- yml_data = open(options['filename']).read()
- parsed = yaml.load(yml_data)
-
- self.parse_users(parsed['users'])
- self.parse_loads(parsed['loads'])
-
- def parse_loads(self, loads):
- for l in loads:
- try:
- new_user = Load(
- load_number=u['load_number'],
- date=u['date'],
- user=u['user_email'],
- user=u['user'],
- )
- new_user.save()
- except:
- print("Error on user %s" % u['email'])
-
-
- def parse_users(self, users):
- for u in users:
- try:
- new_user = User(
- first_name=u['firstName'],
- last_name=u['lastName'],
- email=u['email'],
- username=u['firstName']
- is_active=u['active']
- )
- new_user.save()
- except:
- print("Error on user %s" % u['email'])
diff --git a/app/dispatch/models.py b/app/dispatch/models.py
index 8c7cd7d..3174f14 100644
--- a/app/dispatch/models.py
+++ b/app/dispatch/models.py
@@ -18,9 +18,9 @@ class Company(models.Model):
def __str__(self):
return self.name
+
class Load(models.Model):
history = AuditlogHistoryField()
- load_number = models.CharField(max_length=64,default="")
date = models.DateField()
user = models.ForeignKey(settings.AUTH_USER_MODEL)
company = models.ForeignKey(Company)
@@ -29,8 +29,8 @@ class Load(models.Model):
amount = models.DecimalField(max_digits=10,decimal_places=2, default="0")
def __str__(self):
- return "{c}, {d} ( {a} )".format(c=self.company, d=self.description, a=self.amount)
-
+ return "{c}, {d} ( {a} )".format(
+ c=self.company, d=self.description, a=self.amount)
def get_absolute_url(self):
return "/loads/view/%i" % self.id
@@ -43,6 +43,7 @@ def paperwork_user_directory_path(instance, filename):
return 'paperwork/{:d}/'.format(instance.load.pk) + \
str(uuid.uuid4())[0:9] + filename
+
class Paperwork(models.Model):
load = models.ForeignKey(Load, on_delete=models.CASCADE)
description = models.CharField(max_length=256)
@@ -52,8 +53,5 @@ class Paperwork(models.Model):
return "%s" % self.load
-
-
-
auditlog.register(Company)
auditlog.register(Load)
diff --git a/app/dispatch/templates/dispatch/generic_load_listing.html b/app/dispatch/templates/dispatch/generic_load_listing.html
index 068ee0c..e92176e 100644
--- a/app/dispatch/templates/dispatch/generic_load_listing.html
+++ b/app/dispatch/templates/dispatch/generic_load_listing.html
@@ -37,18 +37,17 @@
{% endif %}
{% if "Amount" in load_headers %}
- {% if load.amount == 0 %}
- <td><span class="red-text">{{ load.amount }}</span></td>
- {% else %}
- <td>{{ load.amount }}</td>
- {% endif %}
- {% endif %}
- {% if "Load Number" in load_headers %}
- <td>{{ load.load_number }}</td>
+ {% if load.amount == 0 %}
+ <td><span class="red-text">{{ load.amount }}</span></td>
+ {% else %}
+ <td>{{ load.amount }}</td>
+ {% endif %}
{% endif %}
+
{% if "Description" in load_headers %}
<td>{{ load.description }}</td>
{% endif %}
+
<td class="right-align">
<!-- <a href="{% url 'load_edit' load.id %}" class="btn orange">Edit</a> -->
<a href="{% url 'load_detail' load.id %}" class="btn blue">View</a>
diff --git a/app/dispatch/templates/dispatch/loads/detail.html b/app/dispatch/templates/dispatch/loads/detail.html
index 3368cb6..02dc5a0 100644
--- a/app/dispatch/templates/dispatch/loads/detail.html
+++ b/app/dispatch/templates/dispatch/loads/detail.html
@@ -1,12 +1,12 @@
{% extends 'dispatch/base.html' %}
-{% block title %}Details - {{ object.load_number }}{% endblock %}
+{% block title %}Details - {{ object.description }}{% endblock %}
{% block content %}
{% load dynamic_key %}
<div class="row">
<div class="col s12 m6">
- <h1>Details for {{object.load_number}}</h1>
+ <h1>Details for {{object.description}}</h1>
</div>
</div>
@@ -32,11 +32,6 @@
</tr>
<tr>
- <th>Load Number</th>
- <td>{{object.load_number}}</td>
- </tr>
-
- <tr>
<th>Description</th>
<td>{{object.description}}</td>
</tr>
diff --git a/app/dispatch/templates/dispatch/loads/edit.html b/app/dispatch/templates/dispatch/loads/edit.html
index f43c242..3049fb6 100644
--- a/app/dispatch/templates/dispatch/loads/edit.html
+++ b/app/dispatch/templates/dispatch/loads/edit.html
@@ -1,6 +1,6 @@
{% extends 'dispatch/base.html' %}
-{% block title %}Edit - {{ object.load_number }}{% endblock %}
+{% block title %}Edit - {{ object.description }}{% endblock %}
{% block content %}
<div class="row">
diff --git a/app/dispatch/templates/dispatch/paperwork/add.html b/app/dispatch/templates/dispatch/paperwork/add.html
index 840a387..f828f9c 100644
--- a/app/dispatch/templates/dispatch/paperwork/add.html
+++ b/app/dispatch/templates/dispatch/paperwork/add.html
@@ -1,6 +1,6 @@
{% extends 'dispatch/base.html' %}
-{% block title %}Edit - {{ object.load_number }}{% endblock %}
+{% block title %}Edit - {{ object.description }}{% endblock %}
{% block content %}
<div class="row">
diff --git a/app/dispatch/views.py b/app/dispatch/views.py
index a03868f..0b9c1bf 100644
--- a/app/dispatch/views.py
+++ b/app/dispatch/views.py
@@ -1,9 +1,9 @@
from django.shortcuts import render, redirect
-from django.http import HttpResponse
-from django.template import loader
+# from django.http import HttpResponse
+# from django.template import loader
from django.core.urlresolvers import reverse
-import django.contrib.auth as auth
-from django.conf import settings
+# import django.contrib.auth as auth
+# from django.conf import settings
# Create your views here.
from django.views.generic import TemplateView,ListView
from django.views.generic.detail import DetailView
@@ -13,7 +13,7 @@ from dispatch.models import Company, Load, Paperwork
from dispatch.forms import AddPaperworkForm
from django.contrib.auth.models import User
from django.contrib.auth.mixins import UserPassesTestMixin
-from django.http import HttpResponseRedirect
+# from django.http import HttpResponseRedirect
from datetime import datetime, timedelta
from django.utils import formats
from dateutil import rrule
@@ -41,7 +41,6 @@ def split_loads_by_day(loads,start_date,end_date):
split_loads = {}
for date in rrule.rrule(rrule.DAILY,dtstart=start_date, until=end_date):
- str_date = formats.date_format(date, "SHORT_DATE_FORMAT")
if date not in split_loads:
split_loads[date] = loads.filter(date=date)
@@ -128,7 +127,7 @@ class DriverDetail(UserPassesTestMixin, LoadDateSort):
return context
-class DriverUpdate(UserPassesTestMixin, UpdateView):
+class DriverUpdate(UserPassesTestMixin, UpdateView):
template_name = "dispatch/drivers/edit.html"
model = User
success_url = reverse_lazy('driver_list')
@@ -198,7 +197,7 @@ class LoadList(FilteredListView):
class LoadCreate(CreateView):
template_name = "dispatch/loads/create.html"
model = Load
- fields = ['date', 'company', 'load_number', 'description', 'delivered_to', 'amount']
+ fields = ['date', 'company', 'description', 'delivered_to', 'amount']
def get(self,request):
if request.user.is_superuser:
@@ -225,7 +224,7 @@ class LoadDetail(DetailView):
class LoadUpdate(FilteredUpdateView):
template_name = "dispatch/loads/edit.html"
model = Load
- fields = ['date', 'company','load_number','description', 'delivered_to', 'amount']
+ fields = ['date', 'company', 'description', 'delivered_to', 'amount']
def get(self,request,pk):
if request.user.is_superuser: