src/hdalab/signals.py
branchdocumentation
changeset 693 09e00f38d177
parent 530 5d3b4e1e5b34
--- a/src/hdalab/signals.py	Thu Apr 12 01:27:16 2018 +0200
+++ b/src/hdalab/signals.py	Wed Apr 11 12:19:47 2018 +0200
@@ -21,8 +21,8 @@
 logger = logging.getLogger(__name__)
 
 MAIL_TEMPLATES = {
-    (HdalabRenkan.MODERATED,HdalabRenkan.PUBLISHED): ("mails/published_renkan", "Renkan publié"),
-    (HdalabRenkan.MODERATED,HdalabRenkan.REJECTED): ("mails/rejected_renkan", "Renkan rejeté"),
+    (HdalabRenkan.MODERATED, HdalabRenkan.PUBLISHED): ("mails/published_renkan", "Renkan publié"),
+    (HdalabRenkan.MODERATED, HdalabRenkan.REJECTED): ("mails/rejected_renkan", "Renkan rejeté"),
     (HdalabRenkan.PUBLISHED, HdalabRenkan.EDITION): ("mails/unpublished_renkan", "Renkan dépublié"),
     (HdalabRenkan.PUBLISHED, HdalabRenkan.REJECTED): ("mails/rejected_renkan", "Renkan rejeté"),
 }
@@ -30,6 +30,15 @@
 
 #TODO put into queue
 def send_renkan_moderation_messages(sender, **kwargs):
+    """
+    Envoie un email suite au changement de status d'un renkan.
+    Le template à utiliser pour l'email est donné par la constante `MAIL_TEMPLATES` et est fonction du statut de dépard et du status d'arrivé.
+    Si aucun template est trouvé, aucun mail n'est envoyé.
+
+    :param:instance: l'objet :class:`hdalab.models.renkan.HdalabRenkanStateTransition` venant d'être créé.
+
+    """
+
     renkan_state = kwargs.get('instance', None)
     if not renkan_state or (renkan_state.from_state,renkan_state.to_state) not in MAIL_TEMPLATES:
         return
@@ -51,7 +60,7 @@
 #        logger.error("Error rendering template %s for state %s : %r", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state], e)
 #        return
 #        raise e
-    
+
     if msg_txt and msg_html and renkan_state.renkan and renkan_state.renkan.renkan and renkan_state.renkan.renkan.owner and renkan_state.renkan.renkan.owner.email:
         logger.debug("Sending following mail to %s : %s", renkan_state.renkan.renkan.owner.email, msg_txt)
         emsg = EmailMultiAlternatives(subject, msg_txt, settings.DEFAULT_FROM_EMAIL, [renkan_state.renkan.renkan.owner.email])
@@ -60,10 +69,17 @@
 
 
 def queue_renkan_rendering(sender, **kwargs):
+    """
+    Gère le calcul et l'effacement de la miniature d'un renkan en fonction de sont statut.
+      - Si un renkan était publié et change d'état, la miniature est effacée.
+      - Si un renkan devient publié, une demande de calcul de miniature est mise en file d'attente (c.f. :func:`hdalab.tasks.capture_preview`).
+
+    :param:instance: l'objet :class:`hdalab.models.renkan.HdalabRenkanStateTransition` venant d'être créé.
+    """
     renkan_state = kwargs.get('instance', None)
     if not renkan_state:
         return
-    
+
     if renkan_state.from_state == HdalabRenkan.PUBLISHED and renkan_state.renkan.renkan.image != settings.DEFAULT_RENKAN_ICON:
         if renkan_state.renkan.renkan.image:
             renkan_state.renkan.renkan.image.delete(False)
@@ -75,13 +91,19 @@
         capture_preview.delay(renkan_state.renkan.renkan.rk_id)  # @UndefinedVariable
 
 def renkan_delete_image(sender, **kwargs):
+    """
+    Efface la miniature d'un renkan si celui-ci est effacé.
+
+    :param:instance: l'objet :class:`renkanmanager.models.Renkan` qui va être effacé.
+
+    """
     renkan = kwargs.get('instance', None)
     if not renkan or not renkan.image or renkan.image == settings.DEFAULT_RENKAN_ICON:
         return
     renkan.image.delete(False)
     renkan.image.delete_thumbnails()
 
-    
+
 RENKAN_MODERATION_UUID = "e2f84503-609b-4efa-819d-908e2efe7b1b"
 RENKAN_RENDERING_UUID = "b8830748-be2b-479a-8aef-c8d952437b2f"
 RENKAN_DELETE_UUID = "09c23ca2-4d59-4c29-b94a-2c2672d5a89b"