blob: 6cbaf6c7649c466304900eb74fc0f062bf8235e1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
from django.db import models
from django.conf import settings
from auditlog.registry import auditlog
from auditlog.models import AuditlogHistoryField
import uuid
# Create your models here.
class Customer(models.Model):
history = AuditlogHistoryField()
name = models.CharField(max_length=256)
address = models.CharField(max_length=256)
phone_number = models.DecimalField(max_digits=16,decimal_places=0)
email_address = models.CharField(max_length=256)
contact_name = models.CharField(max_length=256)
def __str__(self):
return self.name
class Load(models.Model):
history = AuditlogHistoryField()
date = models.DateField()
user = models.ForeignKey(settings.AUTH_USER_MODEL)
customer = models.ForeignKey(Customer)
description = models.CharField(max_length=256)
delivered_to = models.CharField(max_length=256, default="")
amount = models.DecimalField(max_digits=10,decimal_places=2, default="0")
def __str__(self):
return "{c}, {d} ( {a} )".format(
c=self.customer, d=self.description, a=self.amount)
def get_absolute_url(self):
return "/loads/view/%i" % self.id
# 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
class Paperwork(models.Model):
load = models.ForeignKey(Load, on_delete=models.CASCADE)
description = models.CharField(max_length=256)
document = models.FileField(upload_to=paperwork_user_directory_path)
def __str__(self):
return "%s" % self.load
auditlog.register(Customer)
auditlog.register(Load)
|