summaryrefslogtreecommitdiffstats
path: root/app/templates/upload.html
blob: 8683be0dd9e7662b6a5ee572b1eed2066fa1c950 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{% macro render_fields(field, extra_field) %}
  <p>
    <label>{{ field.label }}</label>
      {{ field|safe }}

      {% if extra_field %}
        {{extra_field(**kwargs)|safe}}
      {% endif %}

      {% if field.errors or extra_field.errors %}
      <span class="error">
          {% for error in field.errors %}{{ error }}{% endfor %}
          {% for error in extra_field.errors %}{{ error }}{% endfor %}
      </span>
      {% endif %}
  </p>
{% endmacro %}

{% macro render_field(field) %}
  {{ render_fields(field, None) }}
{% endmacro %}

{% extends "layout.html" %}
{% block body %}
    <h3>neue Klausur hochladen</h3>

    <div id="upload">
      <form method="POST" enctype="multipart/form-data"
      action="{{url_for('upload', study=study, module=module)}}">
        {{ form.csrf_token }}

        {{ render_field(form.exam) }}
        {{ render_fields(form.module, form.module_new, placeholder='Modulname') }}
        {{ render_field(form.year) }}

        <p>
          <input type="submit" value="Hochladen" />
        </p>
      </form>

      <div id="module-index"></div>
    </div>

  <script type="text/javascript">                                         
    $(document).ready(function() {
      var elem = $('#module_new');
      var module = $('#module');

      var update_modules = function() {
        var text = module.find("option:selected").text();
        $.get('/{{study}}/modules/' + text, function(data) {
          $('#module-index').replaceWith($(data).find('#module-index'));
        });
      };

      update_modules();

      if(module.val() != 'new')
        elem.hide();

      module.change(function(){
        var current = $(this);
        var value = current.val();
        var text = current.find("option:selected").text();
        
        if(value == 'new') {
          $('#module-index').fadeOut('fast', function() { elem.fadeIn();  });
        } else {
          elem.fadeOut('fast', function() {
            if(value != '')
              update_modules();
            else
              $('#module-index').fadeOut('fast');
          });

        }
     }); 
    });
  </script>
{% endblock %}