# HG changeset patch # User ymh # Date 1425559511 -3600 # Node ID 7ec378cc1f8ae30453400f06909f0b8655a3a18d # Parent f469ab22542de0cd41c2b4e4936adece742b9a9c add message to moderation for reject and unpublish diff -r f469ab22542d -r 7ec378cc1f8a src/hdalab/models/renkan.py --- a/src/hdalab/models/renkan.py Wed Mar 04 15:24:23 2015 +0100 +++ b/src/hdalab/models/renkan.py Thu Mar 05 13:45:11 2015 +0100 @@ -61,31 +61,33 @@ app_label = 'hdalab' MAIL_TEMPLATES = { - HdalabRenkan.PUBLISHED: ("mails/published_renkan", "Renkan publié"), - 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é"), } #TODO put into queue def send_renkan_moderation_messages(sender, **kwargs): renkan_state = kwargs.get('instance', None) - if not renkan_state or renkan_state.to_state not in MAIL_TEMPLATES: + if not renkan_state or (renkan_state.from_state,renkan_state.to_state) not in MAIL_TEMPLATES: return + template_key = (renkan_state.from_state,renkan_state.to_state) msg_txt = "" msg_html = "" subject = "" try: - template_name, subject = MAIL_TEMPLATES[renkan_state.to_state] + template_name, subject = MAIL_TEMPLATES[template_key] # template = loader.get_template(template_name) context = {'renkan_state': renkan_state, 'WEB_URL': settings.WEB_URL} msg_html = render_to_string(template_name+".txt", context) msg_txt = render_to_string(template_name+".html", context) except TemplateDoesNotExist: - logger.error("Mail template %s for state %s not found", MAIL_TEMPLATES[renkan_state.to_state], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state]) + logger.error("Mail template %s for state %s not found", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state]) return except Exception as e: - logger.error("Error rendering template %s for state %s : %r", MAIL_TEMPLATES[renkan_state.to_state], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state], e) + logger.error("Error rendering template %s for state %s : %r", MAIL_TEMPLATES[template_key], HdalabRenkan.STATE_CHOICES_DICT[renkan_state.to_state], 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) diff -r f469ab22542d -r 7ec378cc1f8a src/hdalab/static/hdalab/js/manage.js --- a/src/hdalab/static/hdalab/js/manage.js Wed Mar 04 15:24:23 2015 +0100 +++ b/src/hdalab/static/hdalab/js/manage.js Thu Mar 05 13:45:11 2015 +0100 @@ -14,4 +14,47 @@ }); }); + + + $(".renkan-publish-action").mousedown(function(e) { + vex.dialog.confirm({ + message: renkanActionMessages.publish, + callback: function(value) { + if(value) { + e.target.click(); + } + } + }); + e.preventDefault(); + }); + + $(".renkan-unpublish-action").mousedown(function(e) { + vex.dialog.prompt({ + message: renkanActionMessages.unpublish, + input: "