Confidentialité API + debug

This commit is contained in:
Evarin 2018-12-29 00:12:36 +01:00
parent 2b94a28670
commit 78f7fd5afd
3 changed files with 12 additions and 5 deletions

View file

@ -9,10 +9,16 @@ from django.urls import reverse
from .models import Lieu, Stage, Normalien, StageMatiere from .models import Lieu, Stage, Normalien, StageMatiere
class EnScolariteAuthentication(SessionAuthentication):
def is_authenticated(self, request, **kwargs):
if super().is_authenticated(request, **kwargs):
return request.user.profil.en_scolarite
return False
# API principale pour les lieux # API principale pour les lieux
class LieuResource(ModelResource): class LieuResource(ModelResource):
stages = fields.ToManyField("avisstage.api.StageResource", #stages = fields.ToManyField("avisstage.api.StageResource",
"stages", use_in="detail", full=True) # "stages", use_in="detail", full=True)
class Meta: class Meta:
queryset = Lieu.objects.all() queryset = Lieu.objects.all()
@ -74,7 +80,7 @@ class StageResource(ModelResource):
fields = ["sujet", "date_debut", "date_fin", "matieres", "id"] fields = ["sujet", "date_debut", "date_fin", "matieres", "id"]
#login_required #login_required
authentication = SessionAuthentication() authentication = EnScolariteAuthentication()
# Filtres personnalisés # Filtres personnalisés
def build_filters(self, filters=None, **kwargs): def build_filters(self, filters=None, **kwargs):
@ -114,4 +120,4 @@ class AuteurResource(ModelResource):
fields = ["id", "nom", "stages"] fields = ["id", "nom", "stages"]
#login_required #login_required
authentication = SessionAuthentication() authentication = EnScolariteAuthentication()

View file

@ -3,6 +3,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from allauth.account.models import EmailAddress from allauth.account.models import EmailAddress
from allauth.socialaccount.models import SocialAccount
from django.db import models from django.db import models
from django.db.models.signals import post_save from django.db.models.signals import post_save

View file

@ -17,7 +17,7 @@
{% else %} {% else %}
<h3 class="scolarite">Statut : Archicube</h3> <h3 class="scolarite">Statut : Archicube</h3>
<p>Vous ne pouvez plus accéder qu'à vos propres expériences pour les modifier, et tenir à jour votre profil.</p> <p>Vous ne pouvez plus accéder qu'à vos propres expériences pour les modifier, et tenir à jour votre profil.</p>
<p>Si vous êtes encore en scolarité, merci de vous <a href="{% url "clipper_login" %}">reconnecter en passant par le serveur d'authentification de l'ENS</a> pour mettre à jour votre statut.</p> <p>Si vous êtes encore en scolarité, merci de vous <a href="{% url "clipper_login" %}?process=connect">reconnecter en passant par le serveur d'authentification de l'ENS</a> pour mettre à jour votre statut.</p>
{% endif %} {% endif %}
<p><i>Le statut est mis à jour automatiquement chaque année selon le mode de connexion que vous utilisez.</i></p> <p><i>Le statut est mis à jour automatiquement chaque année selon le mode de connexion que vous utilisez.</i></p>
</section> </section>