Project

General

Profile

Download (4 KB) Statistics
| Branch: | Tag: | Revision:

calebasse / calebasse / personnes / templates / personnes / group_holiday_update.html @ 9edb5f60

1
{% extends "personnes/simple-form.html" %}
2

    
3
{% block appbar %}
4
<h2>Congés du {{service_name}}</h2>
5
  <a href="..">Retour à la gestion des congés</a>
6
{% endblock %}
7

    
8

    
9
{% block content %}
10
    <form method="post">
11
      <div id="form-content">
12
        {% csrf_token %}
13
        {% with formset=form %}
14
        {{ formset.management_form }}
15
        <p>Le format des dates est jj/mm/aaaa.</p>
16
        <table class="inline">
17
          <thead>
18
            <tr>
19
              <td><label class="required">Date de début</label></td>
20
              <td><label class="required">Date de fin</label></td>
21
              <td><label>Heure de début</label></td>
22
              <td><label>Heure de fin</label></td>
23
              <td><label class="required">Type de congé</label></td>
24
              <td><label>Commentaire</label></td>
25
              <td><label>Tous les services</label></td>
26
              <td><label>Supprimer</label></td>
27
            </tr>
28
          </thead>
29
          <tbody id="timetables">
30
          {% for form in formset %}
31
            {% if form.non_field_errors %}
32
            <tr><td colspan="4">{{ form.non_field_errors }}</td></tr>
33
            {% endif %}
34
            <tr class="timetable">
35
              <td id="start-{{ forloop.counter0 }}" class="datepicker" data-before-selector="#end-{{ forloop.counter0 }}" data-number-of-months="3">{{ form.start_date }}</td>
36
              <td id="end-{{ forloop.counter0 }}" class="datepicker" data-after-selector="#start-{{ forloop.counter0 }}" data-number-of-months="3">{{ form.end_date }}</td>
37
              <td class="timepicker">{{ form.start_time }}</td>
38
              <td class="timepicker">{{ form.end_time }}</td>
39
              <td>{{ form.holiday_type }} {{ form.holiday_type.errors }}</td>
40
              <td>{{ form.comment }}{{ form.comment.errors }}</td>
41
              <td>{{ form.for_all_services }}</td>
42
              <td class="delete">{% if form.id.value != None %}{{ form.DELETE }}{% endif %}
43
                {% for field in form %}
44
                {% if field.is_hidden %}
45
                {{field}}
46
                {% endif %}
47
                {% endfor %}
48
              </td>
49
            </tr>
50
          {% endfor %}
51
          </tbody>
52
        </table>
53
        {% endwith %}
54
      </div>
55
      {% block buttons %}
56
      <button class="enable-on-change">Modifier</button>
57
      <button id="add-form">Ajouter une ligne</button>
58
      {% endblock %}
59
    </form>
60
{% endblock %}
61

    
62
{% block page-end %}
63
{{ block.super }}
64
<script>
65
  $(function () {
66
    var completions = [];
67
    for (var i = 8*60; i < 21*60; i += 15) {
68
      var completion = ''
69
      var hour = Math.floor(i/60);
70
      var minute = i % 60;
71
      var c = function (v) {
72
        if (v < 10) {
73
          return '0'+v;
74
        }
75
        return v;
76
      }
77
      completions.push(''+c(hour)+':'+c(minute));
78
    }
79
    $('.timepicker input').autocomplete({delay:0, source: completions, minLength: 0});
80
    function addForm() {
81
      var count = $('.timetable').length
82
      var new_row = $('.timetable:first').clone(false).get(0);
83
      $('input', new_row).val('');
84
      $('input, select', new_row).each(function (i, v) {
85
        v.name = v.name.replace('-0-', '-' + count + '-');
86
      });
87
      $('.delete input[type="checkbox"]', new_row).remove();
88
      $('.hasDatepicker', new_row).removeClass('hasDatepicker');
89
      $('*', new_row).each(function (i, v) {
90
        if (v.id) {
91
          v.id = v.id.replace('-0', '-' + count);
92
          if ($(v).data('before-selector')) {
93
            var old_value = $(v).data('before-selector');
94
            $(v).data('before-selector', old_value.replace('-0', '-' + count));
95
          }
96
          if ($(v).data('after-selector')) {
97
            var old_value = $(v).data('after-selector');
98
            $(v).data('after-selector', old_value.replace('-0', '-' + count));
99
          }
100
        }
101
      });
102

    
103
      $(new_row).appendTo($('#timetables'));
104
      $('#id_timetable_set-TOTAL_FORMS').val(count+1);
105
      window.calebasse_dialogs();
106
      return false;
107
    }
108
    $('#add-form').click(addForm);
109
  });
110
</script>
111
{% endblock %}
(4-4/11)