diff --git a/payroll/admin.py b/payroll/admin.py index 2cf963052..af9442106 100644 --- a/payroll/admin.py +++ b/payroll/admin.py @@ -11,7 +11,8 @@ from payroll.models.models import ( Payslip, WorkRecord, LoanAccount, - Reimbursement + Reimbursement, + ReimbursementrequestComment ) from payroll.models.tax_models import ( PayrollSettings, @@ -29,3 +30,4 @@ admin.site.register(Payslip) admin.site.register(PayrollSettings) admin.site.register(LoanAccount) admin.site.register(Reimbursement) +admin.site.register(ReimbursementrequestComment) \ No newline at end of file diff --git a/payroll/forms/forms.py b/payroll/forms/forms.py index 4292c78d1..b37b028fb 100644 --- a/payroll/forms/forms.py +++ b/payroll/forms/forms.py @@ -5,7 +5,7 @@ from django import forms from django.forms import widgets from django.utils.translation import gettext_lazy as trans from django.template.loader import render_to_string -from payroll.models.models import WorkRecord +from payroll.models.models import ReimbursementrequestComment, WorkRecord from payroll.models.models import Contract from base.methods import reload_queryset @@ -116,3 +116,17 @@ class WorkRecordForm(ModelForm): fields = "__all__" model = WorkRecord + + +class ReimbursementrequestCommentForm(ModelForm): + """ + ReimbursementrequestCommentForm form + """ + + class Meta: + """ + Meta class for additional options + """ + + model = ReimbursementrequestComment + fields = ('comment',) \ No newline at end of file diff --git a/payroll/models/models.py b/payroll/models/models.py index 602068eae..557752504 100644 --- a/payroll/models/models.py +++ b/payroll/models/models.py @@ -1557,3 +1557,21 @@ class Reimbursement(models.Model): if self.allowance_id: self.allowance_id.delete() return super().delete(*args, **kwargs) + + +class ReimbursementrequestComment(models.Model): + """ + ReimbursementrequestComment Model + """ + + request_id = models.ForeignKey(Reimbursement, on_delete=models.CASCADE) + employee_id = models.ForeignKey(Employee, on_delete=models.CASCADE) + comment = models.TextField(null=True, verbose_name=_("Comment")) + created_at = models.DateTimeField( + auto_now_add=True, + verbose_name=_("Created At"), + null=True, + ) + + def __str__(self) -> str: + return f"{self.comment}" diff --git a/payroll/templates/payroll/reimbursement/comment_view.html b/payroll/templates/payroll/reimbursement/comment_view.html new file mode 100644 index 000000000..48e401521 --- /dev/null +++ b/payroll/templates/payroll/reimbursement/comment_view.html @@ -0,0 +1,56 @@ +{% load basefilters %} +{% load i18n %} + +{% if no_comments %} + +
+