diff --git a/employee/models.py b/employee/models.py index 5dbb3f9..ca59e0c 100644 --- a/employee/models.py +++ b/employee/models.py @@ -16,6 +16,11 @@ class Employee(models.Model): perk_amount_per_month = models.DecimalField(max_digits=15, decimal_places=2) address = models.ForeignKey(Address, on_delete=models.CASCADE) + @property + def total_perk(self): + # calculation for the perk using transactions + return 0 + def __str__(self): return self.employee_id diff --git a/expense/models.py b/expense/models.py index 136f121..f5a6342 100644 --- a/expense/models.py +++ b/expense/models.py @@ -21,18 +21,24 @@ class Category(models.Model): return self.name +class SubCategory(models.Model): + name = models.CharField(max_length=30) + parent_category = models.ForeignKey(Category, on_delete=models.CASCADE) + + def __str__(self): + return self.name + + class Expense(models.Model): - PAYMENT_METHODS = ( - ("RMB", "Reimburse"), - ("PER", "Perk") - ) title = models.CharField(max_length=50) - category = models.ForeignKey(Category, on_delete=models.CASCADE) + sub_category = models.ForeignKey(SubCategory, on_delete=models.CASCADE) expense_id = models.CharField(max_length=15) date_of_creation = models.DateField() team_member = models.ForeignKey(Employee, on_delete=models.CASCADE) company_bank_account = models.ForeignKey(CompanyBankAccount, on_delete=models.CASCADE) - repayment_mode = models.CharField(max_length=10, choices=PAYMENT_METHODS, default=PAYMENT_METHODS[0][0]) + is_reimbursement = models.BooleanField(default=False) + is_perk = models.BooleanField(default=False) + is_approved = models.BooleanField(default=False) @property def expense_total(self):