瀏覽代碼

page for courses in progress

Denis Merigoux 10 年之前
父節點
當前提交
0af858a36b
共有 5 個文件被更改,包括 61 次插入4 次删除
  1. 1 0
      census/migrations/.gitignore
  2. 1 1
      census/models.py
  3. 46 1
      census/templates/coursTemplate.html
  4. 13 2
      census/views.py
  5. 二進制
      db.sqlite3

+ 1 - 0
census/migrations/.gitignore

@@ -1 +1,2 @@
1 1
 /0002_auto_20150312_1101.py
2
+00*

+ 1 - 1
census/models.py

@@ -41,7 +41,7 @@ class Professor(models.Model):
41 41
 class Lesson(models.Model):
42 42
 	course=models.ForeignKey(Course)
43 43
 	date=models.DateField("Date")
44
-	number=models.IntegerField("Numéro de la séance",blank=True,null=True)
44
+	number=models.IntegerField("Numéro de la séance")
45 45
 	professor=models.ForeignKey(Professor,verbose_name="Professeur",blank=True,null=True)
46 46
 	amphi=models.ForeignKey(Amphi,verbose_name="Amphithéâtre")
47 47
 	title=models.CharField("Titre",max_length=140,blank=True,null=True)

+ 46 - 1
census/templates/coursTemplate.html

@@ -3,6 +3,51 @@
3 3
 {% block nav %}{% endblock %}
4 4
 {% block content %}
5 5
 <div class="container-fluid">
6
-	
6
+	<div class="well">
7
+		<h1>{{course.name}} – Promotion
8
+		{% if course.promotion.number|divisibleby:2 %}
9
+			<span style='color:#D62222'>X{{course.promotion.number}}</span>
10
+		{% else %}
11
+			<span style='color:#F2E52E'>X{{course.promotion.number}}</span>
12
+		{% endif %}</h1>
13
+		<p>Nombre d'inscrits : {{course.enrolled}}</p>
14
+	</div>
15
+	<div class="row">
16
+		{% for lesson in lessons %}
17
+		<div class="col-md-4">
18
+			<div class="panel panel-default">
19
+				<div class="panel-heading">
20
+					<h2 class="panel-title">Séance n°{{lesson.number}} <i>{{lesson.title}}</i> – {{lesson.date|date:"d/m/y"}}, {{lesson.amphi}}</h2>
21
+				</div>
22
+				<div class="panel-body">
23
+					{% if lesson.counts %}
24
+					<p>Estimation du taux de visibilité pour cette séance :</p>
25
+					<div class="progress">
26
+ 						<div class="progress-bar progress-bar-info" role="progressbar"
27
+ 							aria-valuenow="{{lesson.totalratio}}" aria-valuemin="0" aria-valuemax="100"
28
+ 							style="width: {{lesson.totalratio}}%;">
29
+    						{{lesson.totalratio}}%
30
+  						</div>
31
+  					</div>
32
+					<div class="list group">
33
+						{% for count in lesson.counts %}
34
+						<div class="list-group-item">
35
+							<p>Résultat du comptage : <b>{{count.census}}/{{course.enrolled}}</b></p>
36
+  							<p>{{count.comment}}</p>
37
+  						<p style="text-align:right;font-style:italic">{{count.signature}}</p>
38
+  						</div>
39
+  						{% endfor %}
40
+  					</div>
41
+  					{% else %}
42
+					<div class="alert alert-warning">
43
+						<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
44
+  						<span class="sr-only">Attention : </span>Aucun comptage n'a été soumis pour cette séance
45
+					</div>
46
+					{% endif %}
47
+				</div>
48
+			</div>
49
+		</div>
50
+		{% endfor %}
51
+	</div>
7 52
 </div>
8 53
 {% endblock %}

+ 13 - 2
census/views.py

@@ -1,5 +1,5 @@
1 1
 from django.shortcuts import render
2
-from census.models import Course,Count
2
+from census.models import Course,Count,Lesson
3 3
 
4 4
 # Create your views here.
5 5
 
@@ -17,4 +17,15 @@ def comptage(request):
17 17
 
18 18
 def cours(request, id_cours):
19 19
 	course = Course.objects.get(id=id_cours)
20
-	return render(request, 'coursTemplate.html')
20
+	lessons = Lesson.objects.filter(course=course).order_by('number')
21
+	for lesson in lessons:
22
+		lesson.counts = Count.objects.filter(lesson=lesson)
23
+		if (lesson.counts.count() != 0):
24
+			lesson.totalsum = 0 
25
+			for count in lesson.counts:
26
+				count.ratio = round(count.census/lesson.course.enrolled*100)
27
+				lesson.totalsum += count.census
28
+			lesson.totalratio = round(lesson.totalsum/(lesson.counts.count()*course.enrolled)*100)
29
+		else:
30
+			lesson.counts = None
31
+	return render(request, 'coursTemplate.html', {'course' : course, 'lessons' : lessons,})

二進制
db.sqlite3