|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from django.db import models
-
- # Create your models here.
- from employee.models import Employee
- from common.models import BankDetails
-
- class Client(models.Model):
- name = models.CharField(max_length=100)
- # Other fields for client information
-
- def __str__(self):
- return self.name
-
-
- class Project(models.Model):
- name = models.CharField(max_length=100)
- # Other fields for project information
-
- def __str__(self):
- return self.name
-
-
- class Income(models.Model):
- TYPE_CHOICES = [
- ('Invoice', 'Invoice'),
- ('Dividend', 'Dividend'),
- ]
-
- type = models.CharField(max_length=10, choices=TYPE_CHOICES)
- title = models.CharField(max_length=100)
- invoice_number = models.CharField(max_length=100)
- date = models.DateField()
- client = models.ForeignKey(Client, on_delete=models.CASCADE)
- project = models.ForeignKey(Project, on_delete=models.CASCADE)
- # Other fields specific to income
-
- def __str__(self):
- return self.title
-
-
- class Expense(models.Model):
- CATEGORY_CHOICES = [
- ('Food', 'Food'),
- ('Fuel', 'Fuel'),
- ('Traveling', 'Traveling'),
- ('Gifts', 'Gifts'),
- # Other expense categories
- ]
-
- category = models.CharField(max_length=100, choices=CATEGORY_CHOICES)
- title = models.CharField(max_length=100)
- bill_number = models.CharField(max_length=100)
- date = models.DateField()
- employee = models.ForeignKey(Employee, on_delete=models.CASCADE)
- bank_account = models.ForeignKey(BankDetails, on_delete=models.CASCADE)
- reimbursement = models.BooleanField()
- # Other fields specific to expenses
-
- def __str__(self):
- return self.title
-
-
- class Reimbursement(models.Model):
- STATUS_CHOICES=[
- ('Paid','Paid'),
- ('Due', 'Due'),
- ('Overdue', 'Overdue'),
- ]
- title = models.CharField(max_length=100)
- rate = models.DecimalField(max_digits=10, decimal_places=2)
- quantity = models.PositiveIntegerField()
- status = models.CharField(max_length=10, choices=STATUS_CHOICES) # Paid, Due, Overdue
- # Other fields specific to reimbursements
-
- def __str__(self):
- return self.title
|