diff --git a/payroll/templates/payroll/reimbursement/request_cards.html b/payroll/templates/payroll/reimbursement/request_cards.html index 12aa8c1cf..42953be58 100644 --- a/payroll/templates/payroll/reimbursement/request_cards.html +++ b/payroll/templates/payroll/reimbursement/request_cards.html @@ -1,240 +1,1028 @@ -{% load i18n %} -{% include "filter_tags.html" %} +{% load i18n %} {% include "filter_tags.html" %}
- - - {% trans "Canceled" %} - - - - {% trans "Requested" %} - - - - {% trans "Approved" %} - - - - {% trans "Encashment" %} - - - - {% trans "Reimbursement" %} - + + + {% trans "Canceled" %} + + + + {% trans "Requested" %} + + + + {% trans "Approved" %} + +
-
-{% for req in requests %} -
-
-
-
{{ req.get_type_display }}
-
{{ req.get_status_display }}
-
+ +
+
    +
  • + {% trans "Reimbursements" %} +
  • + +
  • + {% trans "Leave encashments" %} +
  • +
  • + {% trans "Bonus Encashments" %} +
  • +
- {% if req.status != "approved" %} - - {% endif %} - {% if perms.payroll.delete_reimbursement %} - - {% endif %} -
-
-
-
-
- -
-
- {{ req.employee_id }} - - {{req.employee_id.get_department }} / {{ req.employee_id.get_job_position }} -
-
-
-

{{ req.title }}

-

{{ req.description }}.

- +
+ +
+
+ {% for req in reimbursements %} +
+
+
+
+ {{ req.get_type_display }} +
+
+ {{ req.get_status_display }} +
+
+
+ {% if req.status != "approved" %} + + {% endif %} + {% if perms.payroll.delete_reimbursement %} + + {% endif %} +
+ +
+
+
+
+ +
+
+ {{ req.employee_id }} + + {{req.employee_id.get_department }} / + {{ req.employee_id.get_job_position }} +
+
+
+

{{ req.title }}

+

{{ req.description }}.

+ +
+ {% trans 'Add Comments' %} +  , - - {% trans 'View Comments' %} + {% trans 'Allowance on' %} + {{ req.allowance_on }} + {% if req.type == 'reimbursement' %} + {% trans 'View Attachments' %} + {% endif %} + + {% if perms.payroll.change_reimbursement %} +
+ + + {% if req.type == 'reimbursement' %} +

+ +

+ {% elif req.type == 'bonus_encashment' %} +

+ + {% trans 'Requsted for' %} + + {{ req.bonus_to_encash }} + + {% trans 'Bonus points to encash.' %} + + +

+ {% else %} +

+ + {% trans 'Requsted for total' %} + + {{ req.ad_to_encash|add:req.cfd_to_encash }} + + {% trans 'days' %} {% trans 'days to encash.' %} + + +

+ {% endif %} +
+ + {% if req.status != "approved" %} + + {% else %} + + {% endif %} +
+ +
+ {% endif %} +
+ {% endfor %} +
+ +
+
+ {% trans 'Page' %} {{ requests.number }} {% trans 'of' %} {{ requests.paginator.num_pages }}. + + +
+
+
+
+ + +
+ +
+
+ {% for req in leave_encashments %} +
+
+
+
+ {{ req.get_type_display }} +
+
+ {{ req.get_status_display }} +
+
+
+ {% if req.status != "approved" %} + + {% endif %} + {% if perms.payroll.delete_reimbursement %} + + {% endif %} +
+
+
+
+
+ +
+
+ {{ req.employee_id }} + + {{req.employee_id.get_department }} / + {{ req.employee_id.get_job_position }} +
+
+
+

{{ req.title }}

+

{{ req.description }}.

+ + + + {% trans 'Allowance on' %} + {{ req.allowance_on }} + {% if req.type == 'reimbursement' %} + {% trans 'View Attachments' %} + {% endif %} + + {% if perms.payroll.change_reimbursement %} +
+ + + {% if req.type == 'reimbursement' %} +

+ +

+ {% elif req.type == 'bonus_encashment' %} +

+ + {% trans 'Requsted for' %} + + {{ req.bonus_to_encash }} + + {% trans 'Bonus points to encash.' %} + + +

+ {% else %} +

+ + {% trans 'Requsted for total' %} + + {{ req.ad_to_encash|add:req.cfd_to_encash }} + + {% trans 'days' %} {% trans 'days to encash.' %} + + +

+ {% endif %} +
+ + {% if req.status != "approved" %} + + {% else %} + + {% endif %} +
+ +
+ {% endif %} +
+ {% endfor %} +
+ +
+
+ {% trans 'Page' %} {{ requests.number }} {% trans 'of' %} + {{ requests.paginator.num_pages }}. + + +
+
+
+ +
+ + +
+ +
+
+ {% for req in bonus_encashments %} +
+
+
+
+ {{ req.get_type_display }} +
+
+ {{ req.get_status_display }} +
+
+
+ {% if req.status != "approved" %} + + {% endif %} + {% if perms.payroll.delete_reimbursement %} + + {% endif %} +
+
+
+
+
+ +
+
+ {{ req.employee_id }} + + {{req.employee_id.get_department }} / + {{ req.employee_id.get_job_position }} +
+
+
+

{{ req.title }}

+

{{ req.description }}.

+ + + + {% trans 'Allowance on' %} + {{ req.allowance_on }} + {% if req.type == 'reimbursement' %} + {% trans 'View Attachments' %} + {% endif %} + + {% if perms.payroll.change_reimbursement %} +
+ + + {% if req.type == 'reimbursement' %} +

+ +

+ {% elif req.type == 'bonus_encashment' %} +

+ + {% trans 'Requsted for' %} + + {{ req.bonus_to_encash }} + + {% trans 'Bonus points to encash.' %} + + +

+ {% else %} +

+ + {% trans 'Requsted for total' %} + + {{ req.ad_to_encash|add:req.cfd_to_encash }} + + {% trans 'days' %} {% trans 'days to encash.' %} + + +

+ {% endif %} +
+ + {% if req.status != "approved" %} + + {% else %} + + {% endif %} +
+ +
+ {% endif %} +
+ {% endfor %} +
+ +
+
+ {% trans 'Page' %} {{ requests.number }} {% trans 'of' %} {{ requests.paginator.num_pages }}. + + +
+
+
+
- {% trans 'Allowance on' %} {{ req.allowance_on }} - {% if req.type == 'reimbursement' %} - {% trans 'View Attachments' %} - {% endif %} -
- {% if perms.payroll.change_reimbursement %} -
- - - {% if req.type == 'reimbursement' %} -

- -

- {% elif req.type == 'bonus_encashment' %} -

- - {% trans 'Requsted for' %} {{ req.bonus_to_encash }} - {% trans 'Bonus points to encash.' %} - - -

- {% else %} -

- - {% trans 'Requsted for total' %} {{ req.ad_to_encash|add:req.cfd_to_encash }} - {% trans 'days' %} - {% trans 'days to encash.' %} - - -

- {% endif %} -
- - {% if req.status != "approved" %} - - {% else %} - - {% endif %} -
- -
- {% endif %} - -
-{% endfor %} -
- -
-
- {% trans 'Page' %} {{ requests.number }} {% trans 'of' %} {{ requests.paginator.num_pages }}. - - -
-
- - - - - - + + + + +
- - \ No newline at end of file diff --git a/payroll/views/component_views.py b/payroll/views/component_views.py index b74146017..913668b84 100644 --- a/payroll/views/component_views.py +++ b/payroll/views/component_views.py @@ -1124,16 +1124,25 @@ def view_reimbursement(request): requests = filter_own_recodes( request, filter_object.qs, "payroll.view_reimbursement" ) + reimbursements = requests.filter(type = "reimbursement") + leave_encashments = requests.filter(type = "leave_encashment") + bonus_encashment = requests.filter(type = "bonus_encashment") data_dict = {"status": ["requested"]} + view = request.GET.get("view") + template = "payroll/reimbursement/view_reimbursement.html" return render( request, - "payroll/reimbursement/view_reimbursement.html", + template, { "requests": paginator_qry(requests, request.GET.get("page")), + "reimbursements":paginator_qry(reimbursements, request.GET.get("rpage")), + "leave_encashments":paginator_qry(leave_encashments, request.GET.get("lpage")), + "bonus_encashments":paginator_qry(bonus_encashment, request.GET.get("bpage")), "f": filter_object, "pd": request.GET.urlencode(), "filter_dict": data_dict, + "view": view, }, ) @@ -1164,12 +1173,23 @@ def search_reimbursement(request): """ requests = ReimbursementFilter(request.GET).qs requests = filter_own_recodes(request, requests, "payroll.view_reimbursement") - data_dict = parse_qs(request.GET.urlencode()) + data_dict = parse_qs(request.GET.urlencode()) + reimbursements = requests.filter(type = "reimbursement") + leave_encashments = requests.filter(type = "leave_encashment") + bonus_encashment = requests.filter(type = "bonus_encashment") + view = request.GET.get("view") + template = "payroll/reimbursement/request_cards.html" + if view == "list": + template = "payroll/reimbursement/reimbursement_list.html" + data_dict.pop("view") return render( request, - "payroll/reimbursement/request_cards.html", + template, { "requests": paginator_qry(requests, request.GET.get("page")), + "reimbursements":paginator_qry(reimbursements, request.GET.get("rpage")), + "leave_encashments":paginator_qry(leave_encashments, request.GET.get("lpage")), + "bonus_encashments":paginator_qry(bonus_encashment, request.GET.get("bpage")), "filter_dict": data_dict, "pd": request.GET.urlencode(), }, @@ -1213,9 +1233,10 @@ def approve_reimbursements(request): emp = reimbursement.employee_id reimbursement.status = status reimbursement.save() - messages.success( - request, f"Request {reimbursement.get_status_display()} succesfully" - ) + if reimbursement.get_status_display() != "Requested": + messages.success( + request, f"Request {reimbursement.get_status_display()} succesfully" + ) if status == "canceled": notify.send( request.user.employee_get,