grade.html 3.91 KB
<!DOCTYPE html>
<html lang="pt-PT">
<head>
  <title>Teste</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <link rel="icon" href="/static/favicon.ico">

  <!-- Styles -->
  <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css">

  <link rel="stylesheet" type="text/css" href="/static/css/test.css">

  <!-- Scripts -->
  <script src="/static/jquery/jquery.min.js"></script>
  <!-- <script defer src="/static/popper.js/popper.min.js"></script> -->
  <script defer src="/static/fontawesome-free/js/all.min.js"></script>
  <script defer src="/static/bootstrap/js/bootstrap.bundle.min.js"></script>
</head>
 <!-- ================================================================= -->
<body>

<nav class="navbar navbar-expand-sm fixed-top navbar-dark bg-dark">
  <a class="navbar-brand" href="#">{{t['title']}}</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarText">
    <ul class="navbar-nav mr-auto">
    </ul>
    <span class="navbar-text">
      <i class="fas fa-user" aria-hidden="true"></i>
      <span id="name">{{ escape(t['student']['name']) }}</span>
      (<span id="number">{{ escape(t['student']['number']) }}</span>)
      <span class="caret"></span>
    </span>
  </div>
</nav>
<!-- ================================================================== -->
<div class="container">
  <div class="jumbotron">
    {% if t['state'] == 'FINISHED' %}
      <h1>Resultado:
        <strong>{{ f'{round(t["grade"], 1)}' }}</strong>
        valores na escala de {{t['scale'][0]}} a {{t['scale'][1]}}.
      </h1>
      <p>O seu teste foi correctamente entregue e a nota registada.</p>
      <p><a href="/" class="btn btn-primary btn-lg active" role="button">Clique aqui para sair do teste</a></p>
      {% if t['grade'] - t['scale'][0] >= 0.75*(t['scale'][1] - t['scale'][0]) %}
        <i class="fas fa-thumbs-up fa-5x text-success" aria-hidden="true"></i>
      {% end %}
    {% elif t['state'] == 'QUIT' %}
      <p>Foi registada a sua desistência da prova.</p>
    {% end %}

  </div> <!-- jumbotron -->

  <div class="card">
    <h5 class="card-header">
        Histórico de resultados
    </h5>
    <table class="table table-condensed noleftmargin">
      <thead>
          <tr>
              <th>Prova</th>
              <th>Data</th>
              <th>Hora</th>
              <th>Nota</th>
          </tr>
      </thead>
      <tbody>
        {% for g in allgrades %}
          <tr>
            <td>{{g[0]}}</td>  <!-- teste -->
            <td>{{g[2][:10]}}</td>  <!-- data -->
            <td>{{g[2][11:19]}}</td>  <!-- hora -->
            <td> <!-- progress column -->
              <div class="progress" style="height: 20px;">
                <div class="progress-bar
                  {% if g[1] - t['scale'][0] < 0.5*(t['scale'][1] - t['scale'][0]) %}
                      bg-danger
                  {% elif g[1]  - t['scale'][0] < 0.75*(t['scale'][1] - t['scale'][0]) %}
                      bg-warning
                  {% else %}
                      bg-success
                  {% end %}
                  "
                  role="progressbar"
                  aria-valuenow="{{ 100*(g[1] - t['scale'][0])/(t['scale'][1] - t['scale'][0]) }}"
                  aria-valuemin="0"
                  aria-valuemax="100"
                  style="min-width: 2em; width: {{ 100*(g[1]-t['scale'][0])/(t['scale'][1]-t['scale'][0]) }}%;">

                    {{ str(round(g[1], 1)) }}

                </div> <!-- progress-bar -->
              </div> <!-- progress -->
            </td> <!-- progress column -->
          </tr>
        {% end %}
      </tbody>
    </table>
  </div> <!-- panel -->
</div> <!-- container -->
</body>
</html>