{% set can_view = submission.is_accessible_by(profile) %}
<div class="sub-result {{ submission._result_class if in_hidden_subtasks_contest else submission.result_class }}">
  <div class="score">
    {%- if submission.is_graded -%}
      {%- if submission.status in ('IE', 'CE', 'AB') -%}
        ---
      {%- else -%}
        {{ submission.case_points|floatformat(0) }} / {{ submission.case_total|floatformat(0) }}
      {%- endif -%}
    {%- else -%}
      <i class="fa fa-spinner fa-pulse"></i>
    {%- endif -%}
  </div>
  <div class="state">
    {% if in_hidden_subtasks_contest and submission.is_graded %}
      <span>
        {% set ns = namespace(is_first=False) %}
        {% for batch in submission.batches %}
          {% if batch.id %}
            {{ '+' if ns.is_first else '' }}
            {% set ns.is_first = True %}
            <span class={{'green' if batch.AC else 'red'}}>
              {{ batch.points|floatformat(0) }}
            </span>
          {% endif %}
        {% endfor %}
      </span>
    {% else %}
      {% if not in_hidden_subtasks_contest or submission.status in ('IE', 'CE', 'AB') %}
        <span title="{{ submission.long_status }}" class="status">{{ submission.short_status }}</span> |
      {% endif %}
      <span class="language">{{ submission.language.short_display_name }}</span>
    {% endif %}
  </div>
</div>
<div class="sub-info{% if submission.status == 'G' %} sub-info-grading{% endif %}">
  {% if show_problem %}
    <div class="name"><a href="{{ url('problem_detail', submission.problem.code) }}">{{ problem_name }}</a></div>
  {% endif %}
  <div>
    {{ link_user(submission.user) }}
    <span class="time">{{ relative_time(submission.date) }}</span>
    {% if not request.in_contest_mode and submission.contest_object_id %}
      <a href="{{ url('contest_view', submission.contest_object.key) }}"
        class="submission-contest">
        <i title="{{ submission.contest_object.name }}" class="fa fa-dot-circle-o"></i>
      </a>
    {% endif %}
  </div>
</div>

{% if submission.status == 'G' and not in_hidden_subtasks_contest %}
  <div class="sub-testcase">
    {%- if submission.current_testcase > 0 -%}
      {{ _('Point %(point)s / Case #%(case)s', point=submission.points|floatformat(1), case=submission.current_testcase) }}
    {%- else -%}
      ...
    {%- endif -%}
  </div>
{% endif %}

{% if can_view %}
  <div class="sub-prop"><div>
    <a href="{{ url('submission_status', submission.id) }}">
      <i class="fa fa-eye fa-fw"></i><span class="label">{{ _('view') }}</span>
    </a>
    {% if perms.judge.rejudge_submission %} ·
      <a href="#" onclick="rejudge_submission({{ submission.id }}, event);return false">
        <i class="fa fa-refresh fa-fw"></i><span class="label">{{ _('rejudge') }}</span>
      </a>
    {% endif %}
    {% if perms.judge.change_submission %} ·
      <a href="{{ url('admin:judge_submission_change', submission.id) }}">
        <i class="fa fa-cog fa-fw"></i><span class="label">{{ _('admin') }}</span>
      </a>
    {% endif %}
  </div></div>
{% endif %}

<div class="sub-usage">
  {% if submission.status in ('QU', 'P', 'G', 'CE', 'IE', 'AB') or in_hidden_subtasks_contest %}
    <div class="time">---</div>
    <div class="memory">---</div>
  {% else %}
    {% if "TLE" != submission.result %}
      <div title="{{ submission.time or 0 }}s" class="time">
        {{ (submission.time or 0)|floatformat(2) }}s
      </div>
    {% else %}
      <div class="time">---</div>
    {% endif %}
    <div class="memory">{{ (submission.memory_bytes|filesizeformat(True)).replace('i', '') }}</div>
  {% endif %}
</div>