aboutsummaryrefslogtreecommitdiff
path: root/app/dispatch/misc.py
diff options
context:
space:
mode:
authorMitch Riedstra <Mitch@riedstra.us>2017-10-23 17:02:36 -0400
committerMitch Riedstra <Mitch@riedstra.us>2017-10-23 17:02:36 -0400
commitea2ce9d3069fa906474e356b7dbd209edd1ea1bd (patch)
tree1228ab89d07369e910846c53a13b2b6407c19b1a /app/dispatch/misc.py
parentd4522cf8fc8e8978e65980d13debe38658903735 (diff)
downloaddispatch-tracker-ea2ce9d3069fa906474e356b7dbd209edd1ea1bd.tar.gz
dispatch-tracker-ea2ce9d3069fa906474e356b7dbd209edd1ea1bd.tar.xz
Moved functions to a 'misc' file. Added a settings model. Added initial version of an 'Invoice' model
Diffstat (limited to 'app/dispatch/misc.py')
-rw-r--r--app/dispatch/misc.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/dispatch/misc.py b/app/dispatch/misc.py
new file mode 100644
index 0000000..14bb5e7
--- /dev/null
+++ b/app/dispatch/misc.py
@@ -0,0 +1,37 @@
+from django.utils import formats
+from datetime import datetime, timedelta
+from dateutil import rrule
+import uuid
+
+def get_week_dates(date=None):
+ week_dates = {}
+ if date == None:
+ date = formats.date_format(datetime.now(), "SHORT_DATE_FORMAT")
+ dt = datetime.strptime(date, '%m/%d/%Y')
+ weekday = dt.weekday()
+ if weekday == 6:
+ week_dates['start_date'] = dt
+ else:
+ weekday = weekday + 1
+ week_dates['start_date'] = dt - timedelta(days=weekday)
+ week_dates['end_date'] = week_dates['start_date'] + timedelta(days=6)
+ week_dates['next_week'] = week_dates['end_date'] + timedelta(days=1)
+ week_dates['previous_week'] = week_dates['start_date'] - timedelta(days=1)
+ return week_dates
+
+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):
+ if date not in split_loads:
+ split_loads[date] = loads.filter(date=date)
+
+ return split_loads
+
+# This is used to set the upload path of the document for Paperwork Objects
+def paperwork_user_directory_path(instance, filename):
+ # We don't want the UUID to be too long, just enough so there aren't any
+ # filename conflicts
+ return 'paperwork/{:d}/'.format(instance.load.pk) + \
+ str(uuid.uuid4())[0:9] + filename
+