{% extends base.html %} {% block js %} function question_reply_toggle(element, invoker) { var obj = document.getElementsByClassName("reply_question")[element]; if (obj.style.display != "block") { obj.style.display = "block"; invoker.innerHTML = "Hide reply"; } else { obj.style.display = "none"; invoker.innerHTML = "Reply"; } return false; } function update_additional_answer(element, invoker) { var obj = document.getElementsByClassName("alternative_answer")[element]; if (invoker.selectedIndex == 5) obj.style.display = "block"; else obj.style.display = "none"; } {% end %} {% block core %}

{{ selected_user.real_name }} ({{ selected_user.username }})

General Information

Real name
Username
Password
IP
Hidden?

Submissions

{% if submissions == [] %}

No submissions found.

{% else %} {% for s in sorted(submissions, key=lambda s: s.timestamp, reverse=True) %} {% end %}
Date Task Evaluation Files Released Reevaluate
{{ Utils.format_time_or_date(s.timestamp) }} {{ s.task.name }} {% if s.compilation_outcome is None %} Compiling {% else %}
{% if s.compilation_outcome == "fail" %} Compilation failed {% elif s.evaluations == [] %} Evaluating {% else %} Evaluated {% end %}
{% end %}
{% for filename,sub_file in s.files.items() %} {{ filename.replace("%l", s.language) }}
{% end %}
{% if s.token is None %} No {% else %} Yes {% end %} Go ahead!
{% end %}

Questions

{% if selected_user.questions != [] %}
{% for msg_i, msg in enumerate(selected_user.questions) %}
{{ Utils.format_time_or_date(msg.question_timestamp) }}
{{ msg.subject }}
{{ msg.text }}
{% if msg.reply_timestamp is not None %}
Reply. {{ msg.reply_subject }}
{{ msg.reply_text }}
{% else %}
Not yet replied.
{% end %}

Precompiled answer:
Alternative answer:

{% end %}
{% else %} No questions. {% end %}

Messages

Subject:
Text:
{% if selected_user.messages != [] %} {% for msg_i, msg in enumerate(reversed(selected_user.messages)) %}
{{ Utils.format_time_or_date(msg.timestamp) }}
{{ msg.subject }}
{{ msg.text }}
{% end %} {% else %} No messages. {% end %}
{% end %}