Project

General

Profile

« Previous | Next » 

Revision d7c741db

Added by Benjamin Dauvergne almost 13 years ago

actes: start implementing the acts listing view

View differences:

calebasse/actes/templates/actes/act_list.html
1
{% extends "calebasse/base.html" %}
2
<!DOCTYPE html>
3
<html lang="fr">
4
  <head>
5
    <meta charset="utf-8"/>
6
    <title>APS42 — Actes</title>
7
    <link rel="stylesheet" type="text/css" media="all" href="css/style.css"/>
8
    <link rel="stylesheet" type="text/css" media="all" href="css/smoothness/jquery-ui-1.8.21.custom.css"/>
9

  
10
    <script src="js/jquery-1.7.2.min.js"></script>
11
    <script src="js/jquery-ui-1.8.21.custom.min.js"></script>
12
    <script src="development-bundle/ui/i18n/jquery.ui.datepicker-fr.js"></script>
13
    <script>
14
	$(function() {
15
		$('.date').datepicker();
16
		$('table#actes tr').click(function() {
17

  
18
			$('#acte-dlg').dialog({title: 'Acte',
19
				  width: '500px',
20
				  buttons: [ { text: "Annuler",
21
					       click: function() { $(this).dialog("close"); } },
22
					     { text: "Enregistrer",
23
					       click: function() { $(this).dialog("close"); } }
24
					]}
25
			);
26

  
27
		});
28
		$('#new-acte').click(function() {
29
			$('#new-acte-dlg').dialog({title: 'Nouvel acte',
30
				  width: '550px',
31
				  buttons: [ { text: "Fermer",
32
					       click: function() { $(this).dialog("close"); } },
33
					     { text: "Ajouter",
34
					       click: function() { $(this).dialog("close"); } }
35
					]}
36
			);
37
			});
38

  
39
	});
40
	</script>
41
  </head>
42
  <body>
43
  <div id="wrap-large">
44
    <div id="header">
45
      <h1><a href="accueil.html">APS 42</a></h1>
46
      <span>Actes - CMPP</span>
47
    </div>
48
    <div id="splash" class="cmpp">
49
      <div id="user-links">
50
        <a href="connexion.html">Déconnexion</a>
51
      </div>
52
    </div>
53
    <div id="content">
54

  
55
    <div id="appbar">
56
    <h2>Saisie des actes</h2>
57
    <a href="accueil.html">Retourner à l'accueil</a>
58
    <button id="new-acte">Ajouter un acte</button>
59
    </div>
60

  
61

  
62
    <div id="sidebar">
63
     <div>
64
      <h3>Rechercher dans les actes</h3>
65
        <h4>Patient</h4>
66
       <label>Nom: <input type="text"/></label>
67
       <label>Numéro de dossier: <input type="text"/></label>
68
       <label>Numéro de sécu: <input type="text"/></label>
69
       <button>Rechercher</button>
70
       <h4>Thérapeute</h4>
71
       <label>Nom: <input type="text"/></label>
72
       <button>Rechercher</button>
73
     </div>
74
     <div id="filtre">
75
      <h3>Filtrer les actes</h3>
76
      <ul>
77
        <li><label><input checked="checked"  class="diag" type="checkbox"/>Non facturables</label></li>
78
        <li><label><input checked="checked"  class="fin-accueil" type="checkbox"/>Absences ou annulés</label></li>
79
        <li><label><input checked="checked"  class="traite" type="checkbox"/>Perdus</label></li>
80
        <li><label><input checked="checked"  class="en-accueil" type="checkbox"/>Facturés</label></li>
81
        <li><label><input checked="checked"  class="traite" type="checkbox"/>Dernière facturation</label></li>
82
        <li><label><input checked="checked"  class="traite" type="checkbox"/>Facturation en cours</label></li>
83
        <li><button>Tous</button> <button>Aucun</button></li>
84
      </ul>
85
    </div>
86
   </div>
87

  
88
   <div class="content">
89
   <div id="datesel">
90
   <a href="#">««</a> <a href="#">«</a>
91
   <!-- <span>Jeudi 5 juillet 2012</span> -->
92
   <input id="agenda-date" value="Jeudi 5 juillet 2012"/>
93
   <a href="#">»</a> <a href="#">»»</a>
94
   </div>
95
   <br/>
96

  
97
   <table id="actes" class="main">
98
    <thead>
99
     <tr>
100
     <th>Dossier</th>
101
     <th>État</th>
102
     <th>Type d'acte</th>
103
     <th>Validation</th>
104
     <th>Facturation</th>
105
     <th>Thérapeuts</th>
106
     <th>Heure</th>
107
     <th>Durée</th>
108
     </tr>
109
    </thead>
110
    <tbody>
111

  
112
     <tr>
113
      <td>1234 Bob Léponge</td>
114
      <td>Traitement</td>
115
      <td>(11) Ortophonie</td>
116
      <td>Validé</td>
117
      <td>123-123456</td>
118
      <td>(10) Peyrard</td>
119
      <td>17:15</td>
120
      <td>00:45</td>
121
     </tr>
122

  
123
     <tr class="non-factu">
124
      <td>2345 Cindy Lop</td>
125
      <td>Traitement</td>
126
      <td>(29) Travail perso</td>
127
      <td>Non facturable<br/>Validé</td>
128
      <td></td>
129
      <td>(62) Grangy<br/>(81) Blondiau</td>
130
      <td>10:00</td>
131
      <td>01:00</td>
132
     </tr>
133

  
134

  
135
     <tr class="non-factu">
136
      <td>3456 Mark Spencer</td>
137
      <td>Traitement</td>
138
      <td>(29) Travail perso</td>
139
      <td>Non facturable<br/>Absence non excusée</td>
140
      <td></td>
141
      <td>(62) Grangy<br/>(81) Blondiau</td>
142
      <td>11:00</td>
143
      <td>01:00</td>
144
     </tr>
145

  
146
     <tr>
147
      <td>4567 John Doe</td>
148
      <td>Diagnostic</td>
149
      <td>(10) Entretien</td>
150
      <td>Validé</td>
151
      <td>124-en cours</td>
152
      <td>(5) Roudon</td>
153
      <td>14:15</td>
154
      <td>00:45</td>
155
     </tr>
156

  
157
     <tr class="non-factu">
158
      <td>5678 Philippe Maurice</td>
159
      <td>Traitement</td>
160
      <td>(16) Groupe langage</td>
161
      <td>Validé</td>
162
      <td>Acte perdu</td>
163
      <td>(11) Douare</td>
164
      <td>14:00</td>
165
      <td>01:00</td>
166
     </tr>
167

  
168
    </tbody>
169
   </table>
170
   </div>
171

  
172
    </div>
173

  
174
    <div id="footer">
175
176
    </div>
177
  </div>
178

  
179
  <div id="new-acte-dlg" style="display: none;">
180
   <form>
181
   <p>
182
   <label for="id_date">Date:</label>
183
   <input id="id_date" class="date" name="date" value="5/7/2012"/>
184
   </p>
185
   <table><tr><td>
186
   <p>
187
    <label for="id_debut">Heure de début :</label>
188
    <input id="id_debut" type="text" name="debut" maxlength="10"/>
189
   </p>
190
   </td><td>
191
   <p>
192
    <label for="id_fin">Heure de fin :</label>
193
    <input id="id_fin" type="text" name="fin" maxlength="10"/>
194
   </p>
195
   </td></tr>
196

  
197
   <tr>
198
   <td>
199
   <h4>Intervenants</h4>
200
   <div id="intervenants">
201
    <ul>
202
     <li><input type="checkbox" value="Bob Léponge" checked="checked">Bob Léponge</input></li>
203
     <li><input type="checkbox" value="Sandy Kilo" checked="checked">Sandy Kilo</input></li>
204
    </ul>
205
    <a href="#">Ajouter</a><br/>
206
    <a href="#">Tout le monde</a>
207
   </div>
208
   </td>
209
   <td>
210
   <h4>Patient</h4>
211
   <input name="patient"/>
212
   <a href="#">rechercher</a>
213

  
214
   <h4>Type d'acte</h4>
215
   <select>
216
    <option>Analyse</option>
217
    <option>Bla bla bla bla bla bla</option>
218
   </select>
219
   </td>
220
   </tr>
221
   </table>
222

  
223
   </form>
224
  </div>
225

  
226
  <div id="acte-dlg" style="display: none;">
227
   <p>1234 Bob Leponge (Traitement)</p>
228
   <p><select><option>(11) Ortophonie</option></select></p>
229
   <p>8 août 2012 - 17:15 - 45 minutes</p>
230

  
231
   <table>
232
   <tr><td width="50%">
233
   <h4>Intervenants</h4>
234
   <div id="intervenants">
235
    <ul>
236
     <li><input type="checkbox" value="Bob Léponge" checked="checked">Bob Léponge</input></li>
237
     <li><input type="checkbox" value="Sandy Kilo" checked="checked">Sandy Kilo</input></li>
238
    </ul>
239
    <a href="#">Ajouter</a><br/>
240
    <a href="#">Tout le monde</a>
241
   </div>
242
   </td>
243

  
244
   <td width="50%">
245

  
246
   <ul>
247
    <li>Rendez-vous pris le 5 juillet 2012 à 10:36</li>
248
    <li>Acte validé le 10 août 2012 à 9h10</li>
249
    <li>En cours de facturation (123) <button class="flat">Acte perdu</button></li>
250
   </ul>
251
   </td>
252
   </tr>
253
   </table>
254

  
255
   <br/>
256
   <br/>
257
   <textarea cols="50">Bla bla bla</textarea>
258

  
259
  </div>
260

  
261
  </body>
262
</html>
calebasse/actes/templates/actes/act_listing.html
1
{% extends "calebasse/base.html" %}
2

  
3
{% block extrascripts %}
4
<script>
5
  $(function() {
6
    $('.date').datepicker();
7
    $('table#actes tr').click(function() {
8

  
9
      $('#acte-dlg').dialog({title: 'Acte',
10
        width: '500px',
11
        buttons: [ { text: "Annuler",
12
          click: function() { $(this).dialog("close"); } },
13
        { text: "Enregistrer",
14
          click: function() { $(this).dialog("close"); } }
15
        ]}
16
      );
17

  
18
    });
19
    $('#new-acte').click(function() {
20
      $('#new-acte-dlg').dialog({title: 'Nouvel acte',
21
        width: '550px',
22
        buttons: [ { text: "Fermer",
23
          click: function() { $(this).dialog("close"); } },
24
        { text: "Ajouter",
25
          click: function() { $(this).dialog("close"); } }
26
        ]}
27
      );
28
    });
29

  
30
  });
31
</script>
32
{% endblock %}
33

  
34
{% block appbar %}
35
<div id="appbar">
36
  <h2>Saisie des actes</h2>
37
  <a href="../">Retourner à l'accueil</a>
38
  <button id="new-acte">Ajouter un acte</button>
39
</div>
40
{% endblock %}
41

  
42

  
43
{% block content %}
44
<div id="sidebar">
45
  <div>
46
    <h3>Rechercher dans les actes</h3>
47
    <h4>Patient</h4>
48
    <label>Nom: <input type="text"/></label>
49
    <label>Numéro de dossier: <input type="text"/></label>
50
    <label>Numéro de sécu: <input type="text"/></label>
51
    <button>Rechercher</button>
52
    <h4>Thérapeute</h4>
53
    <label>Nom: <input type="text"/></label>
54
    <button>Rechercher</button>
55
  </div>
56
  <div id="filtre">
57
    <h3>Filtrer les actes</h3>
58
    <ul>
59
      <li><label><input checked="checked"  class="diag" type="checkbox"/>Non facturables</label></li>
60
      <li><label><input checked="checked"  class="fin-accueil" type="checkbox"/>Absences ou annulés</label></li>
61
      <li><label><input checked="checked"  class="traite" type="checkbox"/>Perdus</label></li>
62
      <li><label><input checked="checked"  class="en-accueil" type="checkbox"/>Facturés</label></li>
63
      <li><label><input checked="checked"  class="traite" type="checkbox"/>Dernière facturation</label></li>
64
      <li><label><input checked="checked"  class="traite" type="checkbox"/>Facturation en cours</label></li>
65
      <li><button>Tous</button> <button>Aucun</button></li>
66
    </ul>
67
  </div>
68
</div>
69

  
70
<div class="content">
71
  <div id="datesel">
72
    <a href="#">««</a> <a href="#">«</a>
73
    <!-- <span>Jeudi 5 juillet 2012</span> -->
74
    <input id="agenda-date" value="Jeudi 5 juillet 2012"/>
75
    <a href="#">»</a> <a href="#">»»</a>
76
  </div>
77
  <br/>
78
  
79
  <table id="actes" class="main">
80
    <thead>
81
    <tr>
82
      <th>Dossier</th>
83
      <th>État</th>
84
      <th>Type d'acte</th>
85
      <th>Validation</th>
86
      <th>Facturation</th>
87
      <th>Thérapeuts</th>
88
      <th>Heure</th>
89
      <th>Durée</th>
90
    </tr>
91
    </thead>
92
    <tbody>
93
    
94
    <tr>
95
      <td>1234 Bob Léponge</td>
96
      <td>Traitement</td>
97
      <td>(11) Ortophonie</td>
98
      <td>Validé</td>
99
      <td>123-123456</td>
100
      <td>(10) Peyrard</td>
101
      <td>17:15</td>
102
      <td>00:45</td>
103
    </tr>
104
    
105
    <tr class="non-factu">
106
      <td>2345 Cindy Lop</td>
107
      <td>Traitement</td>
108
      <td>(29) Travail perso</td>
109
      <td>Non facturable<br/>Validé</td>
110
      <td></td>
111
      <td>(62) Grangy<br/>(81) Blondiau</td>
112
      <td>10:00</td>
113
      <td>01:00</td>
114
    </tr>
115
    
116
    
117
    <tr class="non-factu">
118
      <td>3456 Mark Spencer</td>
119
      <td>Traitement</td>
120
      <td>(29) Travail perso</td>
121
      <td>Non facturable<br/>Absence non excusée</td>
122
      <td></td>
123
      <td>(62) Grangy<br/>(81) Blondiau</td>
124
      <td>11:00</td>
125
      <td>01:00</td>
126
    </tr>
127
    
128
    <tr>
129
      <td>4567 John Doe</td>
130
      <td>Diagnostic</td>
131
      <td>(10) Entretien</td>
132
      <td>Validé</td>
133
      <td>124-en cours</td>
134
      <td>(5) Roudon</td>
135
      <td>14:15</td>
136
      <td>00:45</td>
137
    </tr>
138
    
139
    <tr class="non-factu">
140
      <td>5678 Philippe Maurice</td>
141
      <td>Traitement</td>
142
      <td>(16) Groupe langage</td>
143
      <td>Validé</td>
144
      <td>Acte perdu</td>
145
      <td>(11) Douare</td>
146
      <td>14:00</td>
147
      <td>01:00</td>
148
    </tr>
149
    
150
    </tbody>
151
  </table>
152
</div>
153
{% endblock %}
154

  
155
{% block dialogs %}
156
<div id="new-acte-dlg" style="display: none;">
157
  <form>
158
    <p>
159
    <label for="id_date">Date:</label>
160
    <input id="id_date" class="date" name="date" value="5/7/2012"/>
161
    </p>
162
    <table>
163
      <tr>
164
        <td>
165
          <p>
166
          <label for="id_debut">Heure de début :</label>
167
          <input id="id_debut" type="text" name="debut" maxlength="10"/>
168
          </p>
169
        </td>
170
        <td>
171
          <p>
172
          <label for="id_fin">Heure de fin :</label>
173
          <input id="id_fin" type="text" name="fin" maxlength="10"/>
174
          </p>
175
        </td>
176
      </tr>
177

  
178
      <tr>
179
        <td>
180
          <h4>Intervenants</h4>
181
          <div id="intervenants">
182
            <ul>
183
              <li><input type="checkbox" value="Bob Léponge" checked="checked">Bob Léponge</input></li>
184
              <li><input type="checkbox" value="Sandy Kilo" checked="checked">Sandy Kilo</input></li>
185
            </ul>
186
            <a href="#">Ajouter</a><br/>
187
            <a href="#">Tout le monde</a>
188
          </div>
189
        </td>
190
        <td>
191
          <h4>Patient</h4>
192
          <input name="patient"/>
193
          <a href="#">rechercher</a>
194

  
195
          <h4>Type d'acte</h4>
196
          <select>
197
            <option>Analyse</option>
198
            <option>Bla bla bla bla bla bla</option>
199
          </select>
200
        </td>
201
      </tr>
202
    </table>
203

  
204
  </form>
205
</div>
206

  
207
<div id="acte-dlg" style="display: none;">
208
  <p>1234 Bob Leponge (Traitement)</p>
209
  <p><select><option>(11) Ortophonie</option></select></p>
210
  <p>8 août 2012 - 17:15 - 45 minutes</p>
211

  
212
  <table>
213
    <tr><td width="50%">
214
        <h4>Intervenants</h4>
215
        <div id="intervenants">
216
          <ul>
217
            <li><input type="checkbox" value="Bob Léponge" checked="checked">Bob Léponge</input></li>
218
            <li><input type="checkbox" value="Sandy Kilo" checked="checked">Sandy Kilo</input></li>
219
          </ul>
220
          <a href="#">Ajouter</a><br/>
221
          <a href="#">Tout le monde</a>
222
        </div>
223
      </td>
224

  
225
      <td width="50%">
226

  
227
        <ul>
228
          <li>Rendez-vous pris le 5 juillet 2012 à 10:36</li>
229
          <li>Acte validé le 10 août 2012 à 9h10</li>
230
          <li>En cours de facturation (123) <button class="flat">Acte perdu</button></li>
231
        </ul>
232
      </td>
233
    </tr>
234
  </table>
235

  
236
  <br/>
237
  <br/>
238
  <textarea cols="50">Bla bla bla</textarea>
239

  
240
</div>
241
{% endblock %}
calebasse/actes/urls.py
1
from django.conf.urls import patterns, url
2
from calebasse.cbv import ListView, CreateView, DeleteView, UpdateView
1
from django.conf.urls import patterns, url, include
3 2

  
4
from models import Act
5
from forms import CreateActForm, EditActForm
3
act_patterns = patterns('calebasse.actes.views',
4
        url(r'^$', 'act_listing'),
5
)
6 6

  
7
urlpatterns = patterns('',
8
    url(r'^$', ListView.as_view(model=Act)),
9
    url(r'^nouveau/$', CreateView.as_view(model=Act,
10
        form_class=CreateActForm,
11
        template_name_suffix='_nouveau.html')),
12
    url(r'^(?P<pk>\d+)/$', UpdateView.as_view(model=Act,
13
        form_class=EditActForm,
14
        template_name_suffix='_edit.html')),
15
    url(r'^(?P<pk>\d+)/supprimer/$', DeleteView.as_view(model=Act)),
7
urlpatterns = patterns('calebasse.actes.views',
8
        url(r'^$', 'redirect_today'),
9
        url(r'^(?P<date>[^/]*)/', include(act_patterns))
16 10
)
calebasse/actes/views.py
1
# Create your views here.
1
import datetime
2

  
3
from django.shortcuts import redirect
4

  
5
from calebasse.cbv import ListView
6

  
7
import models
8

  
9
def redirect_today(request, service):
10
    '''If not date is given we redirect on the agenda for today'''
11
    return redirect(act_listing, date=datetime.date.today().strftime('%Y-%m-%d'),
12
            service=service)
13

  
14
class ActListingView(ListView):
15
    model=models.EventAct
16
    template_name='actes/act_listing.html'
17

  
18
    def get_queryset(self):
19
        qs = super(ActListingView, self).get_queryset()
20
        qs.filter(services=self.service)
21
        return qs
22

  
23
act_listing = ActListingView.as_view()

Also available in: Unified diff