From e458374373ee5bbd68b9dae21ddb772100e2c185 Mon Sep 17 00:00:00 2001 From: Horilla Date: Wed, 27 Nov 2024 10:50:54 +0530 Subject: [PATCH] [UPDT] HELPDESK: Normal employee permission --- .../helpdesk/faq/faq_category_list.html | 95 +++---- helpdesk/templates/helpdesk/faq/faq_list.html | 64 ++--- .../helpdesk/ticket/ticket_card.html | 4 +- .../helpdesk/ticket/ticket_detail.html | 139 +++++----- .../helpdesk/ticket/ticket_list.html | 240 +++++++++--------- helpdesk/views.py | 41 ++- 6 files changed, 299 insertions(+), 284 deletions(-) diff --git a/helpdesk/templates/helpdesk/faq/faq_category_list.html b/helpdesk/templates/helpdesk/faq/faq_category_list.html index 8ccb95108..371ae8920 100644 --- a/helpdesk/templates/helpdesk/faq/faq_category_list.html +++ b/helpdesk/templates/helpdesk/faq/faq_category_list.html @@ -6,54 +6,57 @@

{{category.title}}

- {% if perms.helpdesk.change_faqcategory %} -
- + {% if perms.helpdesk.change_faqcategory or perms.helpdesk.delete_faqcategory %} +
+ -
- +
+
    + {% if perms.helpdesk.change_faqcategory %} +
  • + {% trans "Edit" %} +
  • + {% endif %} + {% if perms.helpdesk.delete_faqcategory %} +
  • +
    + {% csrf_token %} + +
    +
  • + {% endif %} +
+
-
{% endif %}
diff --git a/helpdesk/templates/helpdesk/faq/faq_list.html b/helpdesk/templates/helpdesk/faq/faq_list.html index d8b2c9ddb..d1d917228 100644 --- a/helpdesk/templates/helpdesk/faq/faq_list.html +++ b/helpdesk/templates/helpdesk/faq/faq_list.html @@ -14,42 +14,44 @@ {% endfor %}
- {% if perms.helpdesk.change_faq %}
- -
- {% csrf_token %} + {% if perms.helpdesk.change_faq %} -
+ {% endif %} + {% if perms.helpdesk.delete_faq %} +
+ {% csrf_token %} + +
+ {% endif %}
- {% endif %}
{{faq.answer}}
diff --git a/helpdesk/templates/helpdesk/ticket/ticket_card.html b/helpdesk/templates/helpdesk/ticket/ticket_card.html index 57835569c..6a627bf0c 100644 --- a/helpdesk/templates/helpdesk/ticket/ticket_card.html +++ b/helpdesk/templates/helpdesk/ticket/ticket_card.html @@ -464,7 +464,7 @@ > {% endif %} - {% if perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} {% if ticket.is_active %}
  • {% endif %} - {% if perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} {% if ticket.is_active %}
  • {{item.comment.comment}}

    {{item.comment.comment}}

    + {% if request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_comment or request.user.employee_get == item.comment.employee_id %} - - + + + {% endif %} + {% if perms.helpdesk.delete_comment %} + {% endif %}
    @@ -336,45 +340,47 @@
    -
    -
    - {% csrf_token %} - - + {% if perms.helpdesk.add_comment or request.user.employee_get == ticket.employee_id %} +
    + + {% csrf_token %} + + - - - -
    + + + +
    + {% endif %} @@ -488,35 +494,36 @@
    -
    - {% trans "Assigned to" %} - {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} -
    + {% if perms.helpdesk.view_claimrequest or perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %} +
    + {% trans "Assigned to" %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %} +
    - + -
    - {% endif %} - -
    @@ -531,6 +538,8 @@
    + {% endif %} +
    diff --git a/helpdesk/templates/helpdesk/ticket/ticket_list.html b/helpdesk/templates/helpdesk/ticket/ticket_list.html index f1aacb796..6e9e97b11 100644 --- a/helpdesk/templates/helpdesk/ticket/ticket_list.html +++ b/helpdesk/templates/helpdesk/ticket/ticket_list.html @@ -359,7 +359,9 @@
    {% trans "Status" %}
    {% trans "Priority" %}
    {% trans "Tags" %}
    -
    {% trans "Actions" %}
    + {% if perms.helpdesk.change_ticket or perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %} +
    {% trans "Actions" %}
    + {% endif %}
    @@ -492,111 +494,126 @@ {% endif %}
    {{ticket.tags.all|join:" , "}}
    -
    -
    - {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} - - {% else %} - {% if ticket|calim_request_exists:request.user.employee_get or request.user.employee_get in ticket.assigned_to.all %} - - - - {% else %} - - - - {% endif %} - {% endif %} - {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} - - {% endif %} - {% if perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} - {% if ticket.is_active %} -
    +
    + {% if perms.helpdesk.change_ticket or perms.helpdesk.change_claimrequest or request.user.employee_get|is_department_manager:ticket %} + - + + + {% else %} -
    + + + {% else %} + + + + {% endif %} + {% endif %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} + + {% endif %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if ticket.is_active %} + - {% csrf_token %} - -
    + {% csrf_token %} + + + {% else %} +
    + {% csrf_token %} + +
    + {% endif %} {% endif %} - {% endif %} - {% if perms.helpdesk.delete_ticket %} - {% if ticket.status == 'new' %} -
    - {% csrf_token %} + {% if perms.helpdesk.delete_ticket %} + {% if ticket.status == 'new' %} + + {% csrf_token %} + +
    + {% else %} - - {% else %} - + {% endif %} {% endif %} - {% endif %} +
    -
    + {% endif %} {% endfor %} @@ -747,7 +751,7 @@
    {% trans "Status" %}
    {% trans "Priority" %}
    {% trans "Tags" %}
    - {% if perms.helpdesk.change_ticket or perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %}
    {% trans "Actions" %}
    {% endif %} @@ -874,10 +878,10 @@ {% endif %}
    {{ticket.tags.all|join:" , "}}
    - {% if perms.helpdesk.change_ticket or perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %}
    - {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket or perms.helpdesk.change_claimrequest %} {% endif %} - {% if perms.helpdesk.delete_ticket or request.user.employee_get|is_department_manager:ticket %} + {% if perms.helpdesk.change_ticket or request.user.employee_get|is_department_manager:ticket %} {% if ticket.is_active %}
    window.location.reload()") context = { "form": form, @@ -147,7 +147,7 @@ def faq_category_update(request, id): @login_required -@permission_required("helpdesk_deletefaq") +@permission_required("helpdesk.delete_faqcategory") def faq_category_delete(request, id): try: faq = FAQCategory.objects.get(id=id) @@ -208,7 +208,7 @@ def faq_view(request, cat_id, **kwargs): @login_required @hx_request_required -@permission_required("helpdesk_addfaq") +@permission_required("helpdesk.add_faq") def create_faq(request, cat_id): """ This function is responsible for creating the FAQ. @@ -237,7 +237,7 @@ def create_faq(request, cat_id): @login_required @hx_request_required -@permission_required("helpdesk_changefaq") +@permission_required("helpdesk.change_faq") def faq_update(request, id): """ This function is responsible for updating the FAQ. @@ -257,7 +257,7 @@ def faq_update(request, id): form = FAQForm(request.POST, instance=faq) if form.is_valid(): form.save() - messages.info(request, _("The FAQ updated successfully.")) + messages.success(request, _("The FAQ updated successfully.")) return HttpResponse("") context = { "form": form, @@ -355,7 +355,7 @@ def faq_suggestion(request): @login_required -@permission_required("helpdesk_deletefaq") +@permission_required("helpdesk.delete_faq") def faq_delete(request, id): try: faq = FAQ.objects.get(id=id) @@ -389,8 +389,10 @@ def ticket_view(request): created_by=request.user ) all_tickets = [] - if is_reportingmanager(request) or request.user.has_perm("helpdesk.view_ticket"): + if is_reportingmanager(request): all_tickets = filtersubordinates(request, tickets, "helpdesk.view_ticket") + if request.user.has_perm("helpdesk.view_ticket"): + all_tickets = tickets allocated_tickets = [] ticket_list = tickets.filter(is_active=True) user = request.user.employee_get @@ -558,7 +560,7 @@ def ticket_archive(request, ticket_id): # Check if the user has permission or is the employee or their reporting manager if ( - request.user.has_perm("helpdesk.delete_ticket") + request.user.has_perm("helpdesk.change_ticket") or ticket.employee_id == request.user.employee_get or is_department_manager(request, ticket) ): @@ -755,11 +757,6 @@ def ticket_filter(request): allocated_page_number = request.GET.get("allocated_page") tickets_items1 = Ticket.objects.none() tickets_items2 = Ticket.objects.none() - print("<<<<<<<<<>>>>>>>>>>>>>>") - print("<<<<<<<<<>>>>>>>>>>>>>>") - print(request.GET.get("view")) - print("<<<<<<<<<>>>>>>>>>>>>>>") - print("<<<<<<<<<>>>>>>>>>>>>>>") my_tickets = tickets.filter(employee_id=request.user.employee_get) | tickets.filter( created_by=request.user @@ -767,6 +764,8 @@ def ticket_filter(request): all_tickets = tickets.filter(is_active=True) all_tickets = filtersubordinates(request, tickets, "helpdesk.add_tickets") + if request.user.has_perm("helpdesk.view_ticket"): + all_tickets = tickets allocated_tickets = Ticket.objects.none() user = request.user.employee_get @@ -789,9 +788,6 @@ def ticket_filter(request): tickets_items3 = ticket_list.filter(raised_on=user.id, assigning_type="individual") template = "helpdesk/ticket/ticket_list.html" - print("========================") - print(request.GET.get("view")) - print("========================") if request.GET.get("view") == "card": template = "helpdesk/ticket/ticket_card.html" @@ -939,8 +935,10 @@ def ticket_individual_view(request, ticket_id): @login_required def view_ticket_claim_request(request, ticket_id): ticket = Ticket.objects.filter(id=ticket_id).first() - if request.user.has_perm("helpdesk.change_ticket") or is_department_manager( - request, ticket + if ( + request.user.has_perm("helpdesk.change_claimrequest") + or request.user.has_perm("helpdesk.change_ticket") + or is_department_manager(request, ticket) ): claim_requests = ticket.claimrequest_set.all() context = { @@ -1226,11 +1224,10 @@ def comment_edit(request): @login_required +@permission_required("helpdesk.delete_comment") def comment_delete(request, comment_id): comment = Comment.objects.filter(id=comment_id).first() employee = comment.employee_id - if not request.user.has_perm("helpdesk.delete_comment"): - comment = comment.filter(employee_id__employee_user_id=request.user) comment.delete() messages.success( request, _("{}'s comment has been deleted successfully.").format(employee)