From 9a6472bcf706ee0d41606815a61fe9da5ddd57aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Bouttier?= Date: Wed, 2 Aug 2017 12:44:44 +0200 Subject: [PATCH] message to speakers when accepting/refusing a talk --- cfp/templates/cfp/staff/talk_decide.html | 5 +- cfp/views.py | 20 +++---- locale/fr/LC_MESSAGES/django.mo | Bin 20546 -> 20719 bytes locale/fr/LC_MESSAGES/django.po | 70 ++++++++++++++--------- 4 files changed, 53 insertions(+), 42 deletions(-) diff --git a/cfp/templates/cfp/staff/talk_decide.html b/cfp/templates/cfp/staff/talk_decide.html index 50f1724..6d4ca56 100644 --- a/cfp/templates/cfp/staff/talk_decide.html +++ b/cfp/templates/cfp/staff/talk_decide.html @@ -11,16 +11,13 @@ {% trans "Title:" %} {{ talk.title }}
{% trans "Kind:" %} {{ talk.category }}
-
-{% comment %}

{% trans "Information for the proposer" %}

{% endcomment %} +

{% trans "Information for the proposer" %}

{% csrf_token %} - {% comment %}
- {% endcomment %} {% trans "Cancel" %}
diff --git a/cfp/views.py b/cfp/views.py index b407c4a..2ecc7bf 100644 --- a/cfp/views.py +++ b/cfp/views.py @@ -235,19 +235,17 @@ def talk_vote(request, conference, talk_id, score): def talk_decide(request, conference, talk_id, accept): talk = get_object_or_404(Talk, token=talk_id, site=conference.site) if request.method == 'POST': - # # Does we need to send a notification to the proposer? - # m = request.POST.get('message', '').strip() - # if m: - # participation = Participation.objects.get(site=site, user=talk.proposer) - # conversation = ConversationWithParticipant.objects.get(participation=participation) - # Message.objects.create(conversation=conversation, author=request.user, content=m) - # # Save the decision in the talk's conversation - # conversation = ConversationAboutTalk.objects.get(talk=talk) + # Does we need to send a notification to the proposer? + m = request.POST.get('message', '').strip() + if m: + for participant in talk.speakers.all(): + Message.objects.create(thread=talk.conversation, author=request.user, content=m) + # Save the decision in the talk's conversation if accept: - note = "The talk has been accepted." + note = _("The talk has been accepted.") else: - note = "The talk has been declined." - #Message.objects.create(conversation=conversation, author=request.user, content=note) + note = _("The talk has been declined.") + Message.objects.create(thread=talk.conversation, author=request.user, content=note) talk.accepted = accept talk.save() messages.success(request, _('Decision taken in account')) diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index c3ee16e63ab659d12fb08d617c4164c9fd33ae2a..9b797f74f6af287ceb07a88c0d14c903aabce869 100644 GIT binary patch delta 6197 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\n" "Language-Team: LANGUAGE \n" @@ -216,7 +216,7 @@ msgstr "Envoyer" #: accounts/templates/accounts/profile.html:36 #: cfp/templates/cfp/staff/create_user.html:14 -#: cfp/templates/cfp/staff/talk_decide.html:27 ponyconf/templates/_form.html:16 +#: cfp/templates/cfp/staff/talk_decide.html:22 ponyconf/templates/_form.html:16 #: proposals/templates/proposals/talk_decide.html:23 msgid "Cancel" msgstr "Annuler" @@ -473,16 +473,17 @@ msgstr "J’ai besoin de son" msgid "Duration (min)" msgstr "Durée (min)" -#: cfp/signals.py:50 +#: cfp/signals.py:78 #, python-format msgid "[%(prefix)s] Message from the staff" msgstr "[%(prefix)s] Message du staff" -#: cfp/signals.py:51 +#: cfp/signals.py:79 +#, python-format msgid "[%(prefix)s] Conversation with %(dest)s" msgstr "[%(prefix)s] Conversation avec %(dest)s" -#: cfp/signals.py:62 +#: cfp/signals.py:93 #, python-format msgid "[%(prefix)s] Talk: %(talk)s" msgstr "[%(prefix)s] Talk: %(talk)s" @@ -686,12 +687,27 @@ msgstr "Titre :" msgid "Kind:" msgstr "Type d’intervention :" -#: cfp/templates/cfp/staff/talk_decide.html:26 +#: cfp/templates/cfp/staff/talk_decide.html:14 +#: proposals/templates/proposals/talk_decide.html:15 +msgid "Information for the proposer" +msgstr "Information à destination de l’auteur de la proposition" + +#: cfp/templates/cfp/staff/talk_decide.html:18 +#: proposals/templates/proposals/talk_decide.html:19 +msgid "" +"If you want to send a message to the proposer, please enter it below. " +"Remember to indicate which talk your message is reffering." +msgstr "" +"Si vous souhaitez envoyer un message à l’auteur de la proposition, saisissez-" +"le ci-dessous. N’oubliez pas de spécifier à quelle proposition " +"d’intervention votre message fait référence." + +#: cfp/templates/cfp/staff/talk_decide.html:21 #: proposals/templates/proposals/talk_decide.html:22 msgid "Accept the proposal" msgstr "Accepter la proposition" -#: cfp/templates/cfp/staff/talk_decide.html:26 +#: cfp/templates/cfp/staff/talk_decide.html:21 #: proposals/templates/proposals/talk_decide.html:22 msgid "Decline the proposal" msgstr "Décliner la proposition" @@ -822,27 +838,35 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:215 cfp/views.py:276 conversations/views.py:40 +#: cfp/views.py:217 cfp/views.py:277 conversations/views.py:40 msgid "Message sent!" msgstr "Message envoyé !" -#: cfp/views.py:228 proposals/views.py:321 +#: cfp/views.py:230 proposals/views.py:321 msgid "Vote successfully created" msgstr "A voté !" -#: cfp/views.py:228 proposals/views.py:321 +#: cfp/views.py:230 proposals/views.py:321 msgid "Vote successfully updated" msgstr "Vote mis à jour" +#: cfp/views.py:245 +msgid "The talk has been accepted." +msgstr "L’exposé a été accepté." + +#: cfp/views.py:247 +msgid "The talk has been declined." +msgstr "L’exposé a été décliné." + #: cfp/views.py:251 proposals/views.py:347 msgid "Decision taken in account" msgstr "Décision enregistrée" -#: cfp/views.py:296 +#: cfp/views.py:297 msgid "[{}] You have been added to the staff team" msgstr "[{}] Vous avez été ajouté aux membres du staff" -#: cfp/views.py:297 +#: cfp/views.py:298 msgid "" "Hi {},\n" "\n" @@ -866,11 +890,11 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:318 +#: cfp/views.py:319 msgid "Modifications successfully saved." msgstr "Modification enregistrée avec succès." -#: cfp/views.py:332 +#: cfp/views.py:333 msgid "User created successfully." msgstr "Utilisateur créé avec succès." @@ -901,6 +925,11 @@ msgid "You can use this page to communicate with the staff." msgstr "" "Vous pouvez utiliser cette page pour communiquer avec l’équipe organisatrice." +#: mailing/models.py:90 +#, python-format +msgid "Message from %(author)s" +msgstr "" + #: mailing/templates/mailing/_message_list.html:13 msgid "No messages." msgstr "Aucun message." @@ -1191,19 +1220,6 @@ msgstr "Contacter :" msgid "link" msgstr "lien" -#: proposals/templates/proposals/talk_decide.html:15 -msgid "Information for the proposer" -msgstr "Information à destination de l’auteur de la proposition" - -#: proposals/templates/proposals/talk_decide.html:19 -msgid "" -"If you want to send a message to the proposer, please enter it below. " -"Remember to indicate which talk your message is reffering." -msgstr "" -"Si vous souhaitez envoyer un message à l’auteur de la proposition, saisissez-" -"le ci-dessous. N’oubliez pas de spécifier à quelle proposition " -"d’intervention votre message fait référence." - #: proposals/templates/proposals/talk_detail.html:24 msgid "Format" msgstr "Format"