from django.conf import settings
from django.db import models
from django.core.urlresolvers import reverse
from django.utils import timezone
import datetime
from contacts.models import Contact
#from django.contrib.auth.models import User
# Create your models here.
class Invoice(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
their_company = models.ForeignKey(Contact, on_delete=models.CASCADE,blank=True,
null=True,)
invoice_number = models.CharField(max_length=50, default='')
bill_to = models.CharField(max_length=255, default='')
created_by = models.ForeignKey(settings.AUTH_USER_MODEL)
def save(self, *args, **kwargs):
today = datetime.date.today()
date_str = datetime.datetime.strftime(today, '%y%m%d')
doc_str = 'ACIN'
last_invoice = Invoice.objects.filter(invoice_number__startswith=doc_str).order_by('invoice_number').last()
if last_invoice:
last_invoice_num = last_invoice.invoice_number[-2:]
new_invoice_num = int(last_invoice_num) + 1
new_invoice_num = "%02d" % new_invoice_num
else:
new_invoice_num = '01'
self.invoice_number = doc_str + date_str + new_invoice_num
super(Invoice, self).save(*args, **kwargs)
class Meta:
ordering = ['invoice_number', ]
def __str__(self):
return self.invoice_number
def get_absolute_url(self):
return reverse("accounting:invoices:detail", kwargs={"pk":
self.pk})