diff --git a/cfp/models.py b/cfp/models.py index f9c8ff8..0a4fada 100644 --- a/cfp/models.py +++ b/cfp/models.py @@ -115,8 +115,11 @@ class Participant(PonyConfModel): objects = ParticipantManager() - def get_absolute_url(self): - return reverse('proposal-dashboard', kwargs={'speaker_token': self.token}) + def get_secret_url(self, full=False): + url = reverse('proposal-dashboard', kwargs={'speaker_token': self.token}) + if full: + url = ('https' if self.site.conference.secure_domain else 'http') + '://' + self.site.domain + url + return url class Meta: # A User can participe only once to a Conference (= Site) diff --git a/cfp/templates/cfp/staff/participant_details.html b/cfp/templates/cfp/staff/participant_details.html index 91a8073..2ddbff5 100644 --- a/cfp/templates/cfp/staff/participant_details.html +++ b/cfp/templates/cfp/staff/participant_details.html @@ -32,6 +32,7 @@ {% if participant.mastodon %}
  • {% trans "Mastodon:" %} {{ participant.mastodon }}
  • {% endif %} {% if participant.phone_number %}
  • {% trans "Phone number:" %} {{ participant.phone_number }}
  • {% endif %} {% if participant.language %}
  • {% trans "Language:" %} {{ participant.language }}
  • {% endif %} +
  • {% trans "Secret link:" %} {{ participant.token }}
  • {% trans "Talks" %}

    diff --git a/cfp/views.py b/cfp/views.py index b82d475..200d159 100644 --- a/cfp/views.py +++ b/cfp/views.py @@ -46,7 +46,6 @@ def volunteer_enrole(request): volunteer = form.save(commit=False) volunteer.language = request.LANGUAGE_CODE volunteer.save() - volunteer_url = ('https' if request.is_secure() else 'http') + '://' + request.conference.site.domain + volunteer.get_absolute_url() body = _("""Hi {}, Thank your for your help in the organization of the conference {}! @@ -59,7 +58,7 @@ Thanks! {} -""").format(volunteer.name, request.conference.name, volunteer_url, request.conference.name) +""").format(volunteer.name, request.conference.name, volunteer.get_secret_url(full=True), request.conference.name) #Message.objects.create( # thread=volunteer.conversation, # author=request.conference, diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 6e261cd..6a3a1c5 100644 Binary files a/locale/fr/LC_MESSAGES/django.mo and b/locale/fr/LC_MESSAGES/django.mo differ diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 66bfd3d..74b942e 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-04 14:28+0000\n" -"PO-Revision-Date: 2017-11-04 15:29+0100\n" +"POT-Creation-Date: 2017-11-04 14:58+0000\n" +"PO-Revision-Date: 2017-11-04 15:58+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -34,15 +34,15 @@ msgstr "Décliné" msgid "Waiting" msgstr "En attente" -#: cfp/forms.py:29 cfp/forms.py:130 cfp/forms.py:237 cfp/models.py:350 +#: cfp/forms.py:29 cfp/forms.py:130 cfp/forms.py:237 cfp/models.py:353 msgid "Confirmed" msgstr "Confirmé" -#: cfp/forms.py:30 cfp/models.py:352 +#: cfp/forms.py:30 cfp/models.py:355 msgid "Cancelled" msgstr "Annulé" -#: cfp/forms.py:62 cfp/models.py:445 +#: cfp/forms.py:62 cfp/models.py:448 msgid "Activity" msgstr "Activité" @@ -65,13 +65,13 @@ msgstr "Catégorie" msgid "Title" msgstr "Titre" -#: cfp/forms.py:108 cfp/models.py:144 cfp/models.py:440 +#: cfp/forms.py:108 cfp/models.py:147 cfp/models.py:443 #: cfp/templates/cfp/proposal_talk_details.html:67 #: cfp/templates/cfp/staff/talk_details.html:64 msgid "Description" msgstr "Description" -#: cfp/forms.py:109 cfp/models.py:111 cfp/models.py:421 +#: cfp/forms.py:109 cfp/models.py:111 cfp/models.py:424 #: cfp/templates/cfp/staff/participant_details.html:19 #: cfp/templates/cfp/staff/talk_details.html:78 #: cfp/templates/cfp/staff/volunteer_details.html:20 @@ -82,7 +82,7 @@ msgstr "Notes" msgid "Visible by speakers" msgstr "Visible par les orateurs" -#: cfp/forms.py:136 cfp/forms.py:243 cfp/models.py:307 +#: cfp/forms.py:136 cfp/forms.py:243 cfp/models.py:310 #: cfp/templates/cfp/staff/talk_details.html:21 #: cfp/templates/cfp/staff/talk_list.html:46 #: cfp/templates/cfp/staff/track_form.html:14 @@ -120,7 +120,7 @@ msgstr "Programmé" msgid "Filter talks already / not yet scheduled" msgstr "Filtrer les exposés déjà / pas encore planifiées" -#: cfp/forms.py:160 cfp/models.py:324 +#: cfp/forms.py:160 cfp/models.py:327 #: cfp/templates/cfp/staff/talk_details.html:54 msgid "Materials" msgstr "Supports" @@ -157,7 +157,7 @@ msgstr "Ajouter une étiquette" msgid "Put in a room" msgstr "Assigner à une salle" -#: cfp/forms.py:259 cfp/models.py:416 +#: cfp/forms.py:259 cfp/models.py:419 #: cfp/templates/cfp/staff/volunteer_details.html:11 #: cfp/templates/cfp/staff/volunteer_list.html:30 msgid "Email" @@ -242,7 +242,7 @@ msgstr "" "L’adresse de réponse doit être une chaine de texte formatable avec un " "argument « token » (e.g. ponyconf+{token}@exemple.com)." -#: cfp/models.py:99 cfp/models.py:142 cfp/models.py:194 cfp/models.py:438 +#: cfp/models.py:99 cfp/models.py:145 cfp/models.py:197 cfp/models.py:441 #: cfp/templates/cfp/staff/participant_list.html:35 #: cfp/templates/cfp/staff/volunteer_list.html:29 msgid "Name" @@ -277,12 +277,12 @@ msgstr "Facebook" msgid "Mastodon" msgstr "Mastodon" -#: cfp/models.py:109 cfp/models.py:418 +#: cfp/models.py:109 cfp/models.py:421 #: cfp/templates/cfp/staff/volunteer_details.html:14 msgid "Phone number" msgstr "Numéro de téléphone" -#: cfp/models.py:112 cfp/models.py:306 +#: cfp/models.py:112 cfp/models.py:309 msgid "This field is only visible by organizers." msgstr "Ce champs est uniquement visible par les organisateurs." @@ -290,23 +290,23 @@ msgstr "Ce champs est uniquement visible par les organisateurs." msgid "Invited speaker" msgstr "Orateur invité" -#: cfp/models.py:196 +#: cfp/models.py:199 msgid "Color" msgstr "Couleur" -#: cfp/models.py:228 +#: cfp/models.py:231 msgid "Default duration (min)" msgstr "Durée par défaut (min)" -#: cfp/models.py:229 +#: cfp/models.py:232 msgid "Color on program" msgstr "Couleur sur le programme" -#: cfp/models.py:230 +#: cfp/models.py:233 msgid "Label on program" msgstr "Label dans le xml du programme" -#: cfp/models.py:301 cfp/templates/cfp/proposal_talk_details.html:51 +#: cfp/models.py:304 cfp/templates/cfp/proposal_talk_details.html:51 #: cfp/templates/cfp/staff/base.html:11 #: cfp/templates/cfp/staff/participant_list.html:8 #: cfp/templates/cfp/staff/talk_details.html:68 @@ -314,19 +314,19 @@ msgstr "Label dans le xml du programme" msgid "Speakers" msgstr "Orateurs" -#: cfp/models.py:302 +#: cfp/models.py:305 msgid "Talk Title" msgstr "Titre de la proposition" -#: cfp/models.py:305 +#: cfp/models.py:308 msgid "Description of your talk" msgstr "Description de votre proposition" -#: cfp/models.py:309 cfp/templates/cfp/proposal_talk_details.html:77 +#: cfp/models.py:312 cfp/templates/cfp/proposal_talk_details.html:77 msgid "Message to organizers" msgstr "Message aux organisateurs" -#: cfp/models.py:310 +#: cfp/models.py:313 msgid "" "If you have any constraint or if you have anything that may help you to " "select your talk, like a video or slides of your talk, please write it down " @@ -336,67 +336,67 @@ msgstr "" "votre proposition, comme une vidéo, des slides, n'hésitez pas à les ajouter " "ici." -#: cfp/models.py:313 +#: cfp/models.py:316 msgid "Talk Category" msgstr "Catégorie de proposition" -#: cfp/models.py:314 +#: cfp/models.py:317 msgid "I'm ok to be recorded on video" msgstr "J’accepte d’être enregistré en vidéo" -#: cfp/models.py:316 +#: cfp/models.py:319 msgid "Video licence" msgstr "Licence vidéo" -#: cfp/models.py:317 +#: cfp/models.py:320 msgid "I need sound" msgstr "J’ai besoin de son" -#: cfp/models.py:320 +#: cfp/models.py:323 msgid "Beginning date and time" msgstr "Date et heure de début" -#: cfp/models.py:321 +#: cfp/models.py:324 msgid "Duration (min)" msgstr "Durée (min)" -#: cfp/models.py:325 +#: cfp/models.py:328 msgid "" "You can use this field to share some materials related to your intervention." msgstr "" "Vous pouvez utiliser ce champs pour partager les supports de votre " "intervention." -#: cfp/models.py:354 +#: cfp/models.py:357 msgid "Waiting confirmation" msgstr "En attente de confirmation" -#: cfp/models.py:356 +#: cfp/models.py:359 msgid "Refused" msgstr "Refusé" -#: cfp/models.py:358 +#: cfp/models.py:361 #, python-format msgid "Pending decision, score: %(score).1f" msgstr "En cours, score : %(score).1f" -#: cfp/models.py:415 +#: cfp/models.py:418 msgid "Your Name" msgstr "Votre Nom" -#: cfp/models.py:419 +#: cfp/models.py:422 msgid "SMS prefered" msgstr "SMS préférés" -#: cfp/models.py:422 +#: cfp/models.py:425 msgid "If you have some constraints, you can indicate them here." msgstr "Si vous avez des contraintes, vous pouvez les indiquer ici." -#: cfp/models.py:441 cfp/templates/cfp/staff/volunteer_details.html:8 +#: cfp/models.py:444 cfp/templates/cfp/staff/volunteer_details.html:8 msgid "Volunteer" msgstr "Bénévole" -#: cfp/models.py:446 cfp/templates/cfp/staff/volunteer_details.html:25 +#: cfp/models.py:449 cfp/templates/cfp/staff/volunteer_details.html:25 #: cfp/templates/cfp/staff/volunteer_list.html:32 msgid "Activities" msgstr "Activités" @@ -431,61 +431,14 @@ msgid "Add a new user" msgstr "Ajouter un nouvel utilisateur" #: cfp/templates/cfp/admin/conference.html:14 -#: cfp/templates/cfp/proposal.html:28 +#: cfp/templates/cfp/proposal_home.html:28 #: cfp/templates/cfp/proposal_mail_token.html:25 #: cfp/templates/cfp/proposal_speaker_form.html:38 #: cfp/templates/cfp/proposal_talk_form.html:28 -#: cfp/templates/cfp/propose.html:22 cfp/templates/cfp/speaker.html:21 #: cfp/templates/cfp/staff/create_user.html:13 msgid "Save" msgstr "Envoyer" -#: cfp/templates/cfp/closed.html:9 cfp/templates/cfp/proposal.html:12 -#: cfp/templates/cfp/propose.html:11 cfp/templates/cfp/speaker.html:11 -msgid "Participate" -msgstr "Participer" - -#: cfp/templates/cfp/closed.html:13 -msgid "Sorry, the Call for Participation is closed!" -msgstr "Désolé, l’appel à participation est fermé !" - -#: cfp/templates/cfp/complete.html:10 -msgid "Your proposition have been successfully submitted!" -msgstr "Votre proposition a été transmise avec succès !" - -#: cfp/templates/cfp/complete.html:16 -msgid "Thanks for your proposal" -msgstr "Merci pour votre proposition" - -#: cfp/templates/cfp/complete.html:17 -msgid "You can at anytime:" -msgstr "Vous pouvez à tout moment :" - -#: cfp/templates/cfp/complete.html:19 -msgid "Edit your talk:" -msgstr "Modifiez votre exposé :" - -#: cfp/templates/cfp/complete.html:20 -msgid "Add an additionnal speaker:" -msgstr "Ajouter un co-speaker :" - -#: cfp/templates/cfp/complete.html:21 -msgid "Edit your profile:" -msgstr "Éditer votre profil :" - -#: cfp/templates/cfp/complete.html:24 -msgid "An email has been sent to you with those URLs" -msgstr "Un mail vous a été envoyé avec toutes les URLs" - -#: cfp/templates/cfp/proposal.html:21 -#, python-format -msgid "" -"If you already have submitted a talk and you want to edit it or submit " -"another one, please click here." -msgstr "" -"Si vous avez déjà soumis une proposition et que vous souhaitez l’éditer ou " -"en soumettre une autre, cliquez ici." - #: cfp/templates/cfp/proposal_dashboard.html:11 #, python-format msgid "Welcome %(name)s!" @@ -553,7 +506,7 @@ msgid "with" msgstr "avec" #: cfp/templates/cfp/proposal_dashboard.html:55 -#: cfp/templates/cfp/staff/participant_details.html:47 +#: cfp/templates/cfp/staff/participant_details.html:48 #: cfp/templates/cfp/staff/room_details.html:21 #: cfp/templates/cfp/staff/room_details.html:39 #: cfp/templates/cfp/staff/talk_list.html:62 @@ -581,6 +534,19 @@ msgstr "Aucune proposition." msgid "New proposal" msgstr "Nouvelle proposition" +#: cfp/templates/cfp/proposal_home.html:12 +msgid "Participate" +msgstr "Participer" + +#: cfp/templates/cfp/proposal_home.html:21 +#, python-format +msgid "" +"If you already have submitted a talk and you want to edit it or submit " +"another one, please click here." +msgstr "" +"Si vous avez déjà soumis une proposition et que vous souhaitez l’éditer ou " +"en soumettre une autre, cliquez ici." + #: cfp/templates/cfp/proposal_mail_token.html:12 msgid "Access an existing profile" msgstr "Accéder à un profil existant" @@ -677,7 +643,7 @@ msgid "Schedule" msgstr "Programme" #: cfp/templates/cfp/staff/base.html:10 -#: cfp/templates/cfp/staff/participant_details.html:37 +#: cfp/templates/cfp/staff/participant_details.html:38 #: cfp/templates/cfp/staff/talk_list.html:8 msgid "Talks" msgstr "Exposés" @@ -720,24 +686,28 @@ msgstr "Informations" msgid "Language:" msgstr "Langue :" -#: cfp/templates/cfp/staff/participant_details.html:44 +#: cfp/templates/cfp/staff/participant_details.html:35 +msgid "Secret link:" +msgstr "Lien secret :" + +#: cfp/templates/cfp/staff/participant_details.html:45 msgid "by" msgstr "par" -#: cfp/templates/cfp/staff/participant_details.html:50 +#: cfp/templates/cfp/staff/participant_details.html:51 msgid "in" msgstr "dans la session" -#: cfp/templates/cfp/staff/participant_details.html:56 +#: cfp/templates/cfp/staff/participant_details.html:57 msgid "No talks" msgstr "Aucun exposé" -#: cfp/templates/cfp/staff/participant_details.html:59 +#: cfp/templates/cfp/staff/participant_details.html:60 #: cfp/templates/cfp/staff/talk_details.html:120 msgid "Messaging" msgstr "Messagerie" -#: cfp/templates/cfp/staff/participant_details.html:63 +#: cfp/templates/cfp/staff/participant_details.html:64 msgid "" "Send a message – this message will be received by this participant and " "all the staff team" @@ -1024,7 +994,7 @@ msgstr "" msgid "We are looking for help with the following activities:" msgstr "Nous cherchons de l’aide pour les activités suivantes :" -#: cfp/views.py:50 +#: cfp/views.py:49 msgid "" "Hi {},\n" "\n" @@ -1052,26 +1022,26 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:70 +#: cfp/views.py:69 msgid "Thank you for your help!" msgstr "Merci pour votre aide !" -#: cfp/views.py:75 +#: cfp/views.py:74 msgid "" "Thank you for your participation! You can now subscribe to some activities." msgstr "" "Merci pour votre participation ! Vous pouvez maintenant vous inscrire à une " "ou plusieurs activités." -#: cfp/views.py:99 +#: cfp/views.py:98 msgid "Thank you for your participation!" msgstr "Merci pour votre participation !" -#: cfp/views.py:103 +#: cfp/views.py:102 msgid "Okay, no problem!" msgstr "Ok, pas de soucis !" -#: cfp/views.py:161 +#: cfp/views.py:160 msgid "" "Hi {},\n" "\n" @@ -1111,15 +1081,15 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:191 cfp/views.py:275 +#: cfp/views.py:190 cfp/views.py:274 msgid "You proposition have been successfully submitted!" msgstr "Votre proposition a été transmise avec succès !" -#: cfp/views.py:205 +#: cfp/views.py:204 msgid "Sorry, we do not know this email." msgstr "Désolé, nous ne connaissons pas cette e-mail." -#: cfp/views.py:210 +#: cfp/views.py:209 msgid "" "Hi {},\n" "\n" @@ -1150,85 +1120,85 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:230 +#: cfp/views.py:229 msgid "A email have been sent with a link to access to your profil." msgstr "Un e-mail vous a été envoyé avec un lien pour accéder à votre profil." -#: cfp/views.py:271 +#: cfp/views.py:270 msgid "Changes saved." msgstr "Modifications sauvegardées." -#: cfp/views.py:292 +#: cfp/views.py:291 msgid "You already confirmed your participation to this talk." msgstr "Vous avez déjà confirmé votre participation à cet exposé." -#: cfp/views.py:294 +#: cfp/views.py:293 msgid "You already cancelled your participation to this talk." msgstr "Vous avez déjà annulé votre participation à cet exposé." -#: cfp/views.py:299 +#: cfp/views.py:298 msgid "Your participation has been taken into account, thank you!" msgstr "Votre participation a été prise en compte, merci !" -#: cfp/views.py:300 +#: cfp/views.py:299 #, python-format msgid "Speaker %(speaker)s confirmed his/her participation." msgstr "L’intervenant %(speaker)s a confirmé sa participation." -#: cfp/views.py:302 +#: cfp/views.py:301 msgid "We have noted your unavailability." msgstr "Nous avons enregistré votre indisponibilité." -#: cfp/views.py:303 +#: cfp/views.py:302 #, python-format msgid "Speaker %(speaker)s CANCELLED his/her participation." msgstr "L’intervenant %(speaker)s a ANNULÉ sa participation." -#: cfp/views.py:398 +#: cfp/views.py:397 msgid "The speaker confirmation have been noted." msgstr "La confirmation de l’orateur a été notée." -#: cfp/views.py:399 +#: cfp/views.py:398 msgid "The talk have been confirmed." msgstr "L’exposé a été confirmé." -#: cfp/views.py:401 +#: cfp/views.py:400 msgid "The speaker unavailability have been noted." msgstr "L’indisponibilité de l’intervenant a été notée." -#: cfp/views.py:402 +#: cfp/views.py:401 msgid "The talk have been cancelled." msgstr "L’exposé a été annulé." -#: cfp/views.py:477 cfp/views.py:579 +#: cfp/views.py:476 cfp/views.py:578 msgid "The talk has been accepted." msgstr "L’exposé a été accepté." -#: cfp/views.py:479 cfp/views.py:581 +#: cfp/views.py:478 cfp/views.py:580 msgid "The talk has been declined." msgstr "L’exposé a été décliné." -#: cfp/views.py:548 cfp/views.py:641 +#: cfp/views.py:547 cfp/views.py:640 msgid "Message sent!" msgstr "Message envoyé !" -#: cfp/views.py:562 +#: cfp/views.py:561 msgid "Vote successfully created" msgstr "A voté !" -#: cfp/views.py:562 +#: cfp/views.py:561 msgid "Vote successfully updated" msgstr "Vote mis à jour" -#: cfp/views.py:583 +#: cfp/views.py:582 msgid "Decision taken in account" msgstr "Décision enregistrée" -#: cfp/views.py:669 +#: cfp/views.py:668 msgid "[{}] You have been added to the staff team" msgstr "[{}] Vous avez été ajouté aux membres du staff" -#: cfp/views.py:670 +#: cfp/views.py:669 msgid "" "Hi {},\n" "\n" @@ -1252,15 +1222,15 @@ msgstr "" "{}\n" "\n" -#: cfp/views.py:691 +#: cfp/views.py:690 msgid "Modifications successfully saved." msgstr "Modification enregistrée avec succès." -#: cfp/views.py:768 +#: cfp/views.py:767 msgid "User created successfully." msgstr "Utilisateur créé avec succès." -#: cfp/views.py:789 +#: cfp/views.py:788 #, python-format msgid "Format '%s' not available" msgstr "Format '%s' non disponible" @@ -1342,6 +1312,30 @@ msgstr "Changement de mot de passe" msgid "Email address" msgstr "Adresse e-mail" +#~ msgid "Sorry, the Call for Participation is closed!" +#~ msgstr "Désolé, l’appel à participation est fermé !" + +#~ msgid "Your proposition have been successfully submitted!" +#~ msgstr "Votre proposition a été transmise avec succès !" + +#~ msgid "Thanks for your proposal" +#~ msgstr "Merci pour votre proposition" + +#~ msgid "You can at anytime:" +#~ msgstr "Vous pouvez à tout moment :" + +#~ msgid "Edit your talk:" +#~ msgstr "Modifiez votre exposé :" + +#~ msgid "Add an additionnal speaker:" +#~ msgstr "Ajouter un co-speaker :" + +#~ msgid "Edit your profile:" +#~ msgstr "Éditer votre profil :" + +#~ msgid "An email has been sent to you with those URLs" +#~ msgstr "Un mail vous a été envoyé avec toutes les URLs" + #~ msgid "My proposals" #~ msgstr "Mes propositions"