Skip to content
Extraits de code Groupes Projets
Valider 0d051fcc rédigé par Anteunis Charles's avatar Anteunis Charles
Parcourir les fichiers

graphiques en fonction des questionnaires

parent 5e04074d
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -34,3 +34,4 @@ class QuestionQuotidForm(forms.ModelForm): ...@@ -34,3 +34,4 @@ class QuestionQuotidForm(forms.ModelForm):
class Meta: class Meta:
model = QuestionQuotid model = QuestionQuotid
fields = '__all__' fields = '__all__'
exclude = ('user', 'date')
\ No newline at end of file
# Generated by Django 2.2.6 on 2019-11-27 17:48
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('nutriform', '0002_auto_20191107_0040'),
]
operations = [
migrations.AddField(
model_name='questionquotid',
name='user',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]
# Generated by Django 2.2.6 on 2019-11-27 17:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('nutriform', '0003_questionquotid_user'),
]
operations = [
migrations.AddField(
model_name='questionquotid',
name='date',
field=models.DateField(null=True),
),
]
# Generated by Django 2.2.6 on 2019-11-27 17:56
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('nutriform', '0004_questionquotid_date'),
]
operations = [
migrations.AlterField(
model_name='questionquotid',
name='date',
field=models.DateField(auto_now_add=True, null=True),
),
]
...@@ -48,8 +48,13 @@ MALADIES_CHOICES = [ ...@@ -48,8 +48,13 @@ MALADIES_CHOICES = [
] ]
class QuestionQuotid(models.Model): class QuestionQuotid(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
typeRepas = models.CharField(max_length=5, choices=TYPEMENU_CHOICES) typeRepas = models.CharField(max_length=5, choices=TYPEMENU_CHOICES)
nbh_activite = models.PositiveIntegerField() nbh_activite = models.PositiveIntegerField()
volume_eau = models.PositiveIntegerField() volume_eau = models.PositiveIntegerField()
maladies = models.CharField(max_length=3, choices=MALADIES_CHOICES) maladies = models.CharField(max_length=3, choices=MALADIES_CHOICES)
poids = models.PositiveIntegerField(null=True) poids = models.PositiveIntegerField(null=True)
date = models.DateField(null=True, auto_now_add=True)
def __str__(self):
return self.user.__str__() + " : " + self.date.__str__()
\ No newline at end of file
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</div> </div>
<style> <style>
#mapid { #mapid {
height: 400px; height: 600px;
} }
</style> </style>
...@@ -28,7 +28,8 @@ ...@@ -28,7 +28,8 @@
}).addTo(mymap); }).addTo(mymap);
{% for pos in geotab %} {% for pos in geotab %}
L.marker({{pos}}).addTo(mymap); var tmpMarker = L.marker({{pos.0}}).addTo(mymap);
tmpMarker.bindPopup("{{pos.1}} - {{pos.2}}");
{% endfor %} {% endfor %}
</script> </script>
......
...@@ -12,6 +12,40 @@ ...@@ -12,6 +12,40 @@
<li>Email : {{user.email}}</li> <li>Email : {{user.email}}</li>
</ul> </ul>
<div id="container"></div>
<script src="https://code.highcharts.com/highcharts.src.js"></script>
<script>
Highcharts.chart('container', {
chart: {
type: 'line'
},
title: {
text: 'Suivi de votre progression'
},
xAxis: {
categories: [
{% for d in dates %}'{{d}}' {% if not forloop.last %}, {% endif %} {% endfor %}
]
},
series: [{
name: 'Poids',
data: [
{% for d in poids %}{{d}} {% if not forloop.last %}, {% endif %} {% endfor %}
]
}, {
name: 'Nombre heures',
data: [
{% for d in nb_h %}{{d}} {% if not forloop.last %}, {% endif %} {% endfor %}
]
}, {
name: 'Volume eau',
data: [
{% for d in volumes %}{{d}} {% if not forloop.last %}, {% endif %} {% endfor %}
]
}]
});
</script>
<a href="{% url 'password_change' %}" class="button">Modifier mon mot de passe</a> <a href="{% url 'password_change' %}" class="button">Modifier mon mot de passe</a>
<a href="{% url 'modif_compte' %}" class="button">Modifier mon compte</a> <a href="{% url 'modif_compte' %}" class="button">Modifier mon compte</a>
......
...@@ -39,7 +39,23 @@ def register(request): ...@@ -39,7 +39,23 @@ def register(request):
@login_required @login_required
def compte(request): def compte(request):
return render(request, 'nutriform/compte.html') datas = list(QuestionQuotid.objects.filter(user=request.user))
dates = []
nb_h = []
volumes = []
poids = []
for q in datas :
dates.append(q.date)
nb_h.append(q.nbh_activite)
volumes.append(q.volume_eau)
poids.append(q.poids)
context = {
'dates': dates,
'nb_h': nb_h,
'volumes': volumes,
'poids': poids
}
return render(request, 'nutriform/compte.html', context)
def aboutus(request): def aboutus(request):
return render(request, 'nutriform/aboutus.html') return render(request, 'nutriform/aboutus.html')
...@@ -75,7 +91,9 @@ def question_quotid(request): ...@@ -75,7 +91,9 @@ def question_quotid(request):
if request.method == 'POST': if request.method == 'POST':
form = QuestionQuotidForm(request.POST) form = QuestionQuotidForm(request.POST)
if form.is_valid(): if form.is_valid():
form.save() questionnaire = form.save()
questionnaire.user = request.user
questionnaire.save()
return redirect('compte') return redirect('compte')
else : else :
...@@ -94,7 +112,11 @@ def carte(request): ...@@ -94,7 +112,11 @@ def carte(request):
for salle in data: for salle in data:
fields = salle['fields'] fields = salle['fields']
try: try:
val.append(fields['geo_point_2d']) val.append([fields['geo_point_2d'],
fields['lieu'],
fields['activite']]
)
except KeyError: except KeyError:
pass pass
......
...@@ -7,8 +7,7 @@ with open("sports.json") as jsonfile: ...@@ -7,8 +7,7 @@ with open("sports.json") as jsonfile:
for salle in data: for salle in data:
fields = salle['fields'] fields = salle['fields']
try: try:
print(fields['geo_point_2d']) print(fields)
val.append(fields['lieu'])
except KeyError: except KeyError:
pass; pass;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter