{% extends "base.html" %} {% block content %}

Appraisal Feedback Summary

View Employee + Manager feedback together (for HOD / Management / HR).
Blank = all months
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} {% for c, m in messages %} {% endfor %} {% endif %} {% endwith %} {% if not rows or rows|length == 0 %}
No appraisals found for the selected filters.
{% else %}
Total: {{ rows|length }} Employee Manager Scores
{% for a, emp, dept in rows %} {% set emp_resp = response_map.get((a.id, 'employee')) %} {% set mgr_resp = response_map.get((a.id, 'manager')) %} {% set emp_ans = answers_map.get(emp_resp.id, []) if emp_resp else [] %} {% set mgr_ans = answers_map.get(mgr_resp.id, []) if mgr_resp else [] %} {% set sc = score_map.get(a.id, {}) %} {% set emp_score = sc.get('employee') %} {% set mgr_score = sc.get('manager') %} {% set total_score = sc.get('total') %}

Employee Feedback
{% if emp_resp and emp_resp.submitted_at %} Submitted: {{ emp_resp.submitted_at.strftime('%Y-%m-%d %H:%M') }} {% else %} Not submitted {% endif %}
{% if not emp_resp %}
No employee response found.
{% else %} {% if emp_ans and emp_ans|length > 0 %}
{% for x in emp_ans %} {% endfor %}
Question Rating Comment
{{ x.question_text }}
Weight: {{ x.weight }}
{{ x.rating }} {% if x.comment %} {{ x.comment }} {% else %} — {% endif %}
{% else %}
No employee answers found.
{% endif %} {% endif %}
Manager Feedback
{% if mgr_resp and mgr_resp.submitted_at %} Submitted: {{ mgr_resp.submitted_at.strftime('%Y-%m-%d %H:%M') }} {% else %} Not submitted {% endif %}
{% if not mgr_resp %}
No manager response found.
{% else %} {% if mgr_ans and mgr_ans|length > 0 %}
{% for x in mgr_ans %} {% endfor %}
Question Rating Comment
{{ x.question_text }}
Weight: {{ x.weight }}
{{ x.rating }} {% if x.comment %} {{ x.comment }} {% else %} — {% endif %}
{% else %}
No manager answers found.
{% endif %} {% endif %}
Current Gross
{{ "%.2f"|format(a.current_gross or 0) }}
Recommended %
{{ a.recommended_increment_pct or 0 }}%
Final %
{{ a.final_increment_pct or 0 }}%
Final New Gross
{{ "%.2f"|format(a.final_new_gross or 0) }}
Annualized Impact
{{ "%.2f"|format(a.annualized_impact or 0) }}
HR Finalized
{% if a.hr_finalized_at %} {{ a.hr_finalized_at.strftime('%Y-%m-%d %H:%M') }} {% else %} — {% endif %}
Open Appraisal {% if is_hr_admin %} Finalize / Edit {% endif %}
{% endfor %}
{% endif %}
{% endblock %}