-
{% trans "Feedback" %}: {{feedback.review_cycle}}
-
-
-
-
+
-
-
- {{feedback.employee_id}}
-
+
+
-
- {% if perms.pms.delete_feedback or request.user|filtersubordinates %}
-
+
- {% trans "Feedback" %}: {{feedback}}
-
-
+
-
- {% if perms.pms.delete_feedback %}
-
+
+
- {% endif %}
-
+
+
+
+
+
+ {% trans "Owner: " %}
+
+
+ {% if perms.pms.delete_feedback or request.user|filtersubordinates %}
+
+
+
+ {{feedback.employee_id}}
+
+
+
{% endif %}
+
+ {% if perms.pms.delete_feedback %}
+
+ {% endif %}
+
+
- ",
+ views.get_feedback_overview,
+ name="get-feedback-overview",
+ ),
path("feedback-status", views.feedback_status, name="feedback-status"),
path(
"question-creation/", views.question_creation, name="question-creation"
diff --git a/pms/views.py b/pms/views.py
index 8dbd0107e..4bdf7fa4d 100644
--- a/pms/views.py
+++ b/pms/views.py
@@ -1782,12 +1782,23 @@ def feedback_detailed_view(request, id, **kwargs):
)
if is_have_perm:
feedback_started = Answer.objects.filter(feedback_id=id)
- current_date = datetime.datetime.now()
+ employees = feedback.requested_employees()
+ yes = []
+ no = []
+ for employee in employees:
+ if Answer.objects.filter(
+ feedback_id=feedback, employee_id=employee
+ ).exists():
+ yes.append(employee)
+ else:
+ no.append(employee)
+ employee_statics = {"yes": yes, "no": no}
context = {
"feedback": feedback,
"feedback_started": feedback_started,
"feedback_status": Feedback.STATUS_CHOICES,
- "current_date": current_date,
+ "employee_statics": employee_statics,
+ "today": datetime.datetime.today().date(),
}
return render(request, "feedback/feedback_detailed_view.html", context)
else:
@@ -2026,6 +2037,39 @@ def feedback_detailed_view_status(request, id):
return render(request, "message.html")
+@login_required
+def get_feedback_overview(request, obj_id):
+ """
+ overview of feedback
+ """
+ feedback = Feedback.objects.filter(id=obj_id).first() if obj_id else None
+ if feedback and check_permission_feedback_detailed_view(
+ request, feedback, perm="pms.view_feedback"
+ ):
+ question_template = feedback.question_template_id
+ questions = question_template.question.all()
+ feedback_answers = feedback.feedback_answer.all()
+ feedback_overview = {}
+ for question in questions:
+ answer_list = []
+ for answer in feedback_answers:
+ if answer.question_id == question:
+ answer_list.append(
+ {
+ answer.employee_id: [
+ answer.answer,
+ {"type": answer.question_id.question_type},
+ ]
+ }
+ )
+ feedback_overview[question] = answer_list
+ return render(
+ request,
+ "feedback/feedback_overview.html",
+ context={"feedback_overview": feedback_overview},
+ )
+
+
@login_required
def feedback_archive(request, id):
"""
- {% if perms.pms.change_feedback and not feedback_started %}
-
diff --git a/pms/templates/feedback/feedback_overview.html b/pms/templates/feedback/feedback_overview.html
new file mode 100644
index 000000000..8428fa702
--- /dev/null
+++ b/pms/templates/feedback/feedback_overview.html
@@ -0,0 +1,155 @@
+
+{% load i18n %}
+
-
-
+
+
+
+
diff --git a/pms/urls.py b/pms/urls.py
index 64b84fc25..211f7c499 100644
--- a/pms/urls.py
+++ b/pms/urls.py
@@ -167,6 +167,11 @@ urlpatterns = [
views.feedback_detailed_view_status,
name="feedback-detailed-view-status",
),
+ path(
+ "get-feedback-overview/
+ {% for question,answers in feedback_overview.items %}
+
+
+
+ {% endfor %}
+
+
+
+
+
+ {{question}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% trans "Employee" %}
+ {% trans "Answer" %}
+
+ {% for answer in answers %}
+ {% for key,value in answer.items %}
+
+
+
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+ {{key}}
+
+ {% if value.1.type == '1' %}
+ {{ value.0.answer}}
+ {% endif %}
+
+ {% if value.1.type == '2' %}
+
+
+
+ {% endif %}
+
+ {% if value.1.type == '3' %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% endif %}
+
+ {% if value.1.type == '4' %}
+
+
+
+ {{value.0.answer}}
+
+
+
+
+
+ {% endif %}
+
+ {% if value.1.type == '5' %}
+
+
+ {% endif %}
+
+
+
+
+ {{value.0.answer}}
+
+