Ajout de messages seulement aux membres actifs
authorPA Parent <paparent@paparent.me>
Wed, 20 Jul 2011 16:08:25 +0000 (12:08 -0400)
committerPA Parent <paparent@paparent.me>
Wed, 20 Jul 2011 16:08:25 +0000 (12:08 -0400)
auf_savoirs_en_partage/chercheurs/views.py
auf_savoirs_en_partage/templates/chercheurs/groupe_message.html
auf_savoirs_en_partage/templates/chercheurs/groupe_retrieve.html

index 0b919ec..75b45a5 100644 (file)
@@ -22,6 +22,7 @@ from django.contrib.auth import authenticate, login
 from django.shortcuts import get_object_or_404
 from savoirs.models import PageStatique, Discipline
 
+
 def index(request):
     """Répertoire des chercheurs"""
     search_form = ChercheurSearchForm(request.GET)
@@ -285,10 +286,19 @@ def groupe_messages(request, id):
 
     groupe = get_object_or_404(Groupe, id=id)
 
-    if request.method == 'POST':
+    est_chercheur, est_membre, est_membre_actif = False, False, False
+    if request.user.is_authenticated():
+        try:
+            chercheur = Chercheur.objects.get(courriel=request.user.email)
+            est_chercheur = True
+            est_membre = chercheur in groupe.membres.all()
+            est_membre_actif = bool(len(groupe.membership.filter(chercheur=chercheur, actif=True)))
+        except Chercheur.DoesNotExist:
+            pass
+
+    if est_membre_actif and request.method == 'POST':
         form = MessageForm(request.POST)
         if form.is_valid():
-            chercheur = Chercheur.objects.get(courriel=request.user.email)
             message = form.save(commit=False)
             message.groupe = groupe
             message.chercheur = chercheur
@@ -306,5 +316,8 @@ def groupe_messages(request, id):
             'groupe': groupe,
             'messages': messages,
             'form': form,
+            'est_chercheur': est_chercheur,
+            'est_membre': est_membre,
+            'est_membre_actif': est_membre_actif,
         }, context_instance=RequestContext(request)
     )
index 40da422..8540e06 100644 (file)
@@ -19,6 +19,7 @@
 <p>Aucun message</p>
 {% endif %}
 
+{% if est_membre_actif %}
 <h2>Nouveau message</h2>
 <form method="post" action="">
     <table>
@@ -26,5 +27,6 @@
         <tr><th></th><td><input type="submit" class="bouton" value="Envoyer" /></td></tr>
     </table>
 </form>
+{% endif %}
 
 {% endblock %}
index df0ecc6..0b59162 100644 (file)
        {% else %}
        <p>Aucun message</p>
        {% endif %}
-       <p><a href="{% url groupe_messages groupe.pk %}">Ajouter ou voir tous les messages</a></p>
+       <p><a href="{% url groupe_messages groupe.pk %}">
+               {% if est_membre_actif %}
+               Ajouter ou voir tous les messages
+               {% else %}
+               Voir tous les messages
+               {% endif %}
+       </a></p>
 </div>
 
 <div style="float:left;">