From ae520f791c9437c96b14715564f846361132dfe1 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Thu, 21 Jan 2021 21:44:43 +0100 Subject: [PATCH] Generate authorization templates as PDF --- .../tex/Autorisation_droit_image_majeur.tex | 127 ++++++++++++++++++ .../tex}/Autorisation_droit_image_mineur.tex | 38 ++++-- .../tex}/Autorisation_parentale.tex | 16 ++- .../registration/tex}/Instructions.tex | 29 ++-- .../upload_parental_authorization.html | 2 +- .../upload_photo_authorization.html | 4 +- apps/registration/urls.py | 14 +- apps/registration/views.py | 50 ++++++- tfjm.cron | 3 + .../Autorisation_droit_image_majeur.tex | 113 ---------------- 10 files changed, 249 insertions(+), 147 deletions(-) create mode 100644 apps/registration/templates/registration/tex/Autorisation_droit_image_majeur.tex rename {tfjm/static => apps/registration/templates/registration/tex}/Autorisation_droit_image_mineur.tex (53%) rename {tfjm/static => apps/registration/templates/registration/tex}/Autorisation_parentale.tex (64%) rename {tfjm/static => apps/registration/templates/registration/tex}/Instructions.tex (60%) delete mode 100644 tfjm/static/Autorisation_droit_image_majeur.tex diff --git a/apps/registration/templates/registration/tex/Autorisation_droit_image_majeur.tex b/apps/registration/templates/registration/tex/Autorisation_droit_image_majeur.tex new file mode 100644 index 0000000..150144a --- /dev/null +++ b/apps/registration/templates/registration/tex/Autorisation_droit_image_majeur.tex @@ -0,0 +1,127 @@ +\documentclass[a4paper,french,11pt]{article} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{lmodern} +\usepackage[french]{babel} + +\usepackage{fancyhdr} +\usepackage{graphicx} +\usepackage{amsmath} +\usepackage{amssymb} +%\usepackage{anyfontsize} +\usepackage{fancybox} +\usepackage{eso-pic,graphicx} +\usepackage{xcolor} + + +% Specials +\newcommand{\writingsep}{\vrule height 4ex width 0pt} + +% Page formating +\hoffset -1in +\voffset -1in +\textwidth 180 mm +\textheight 250 mm +\oddsidemargin 15mm +\evensidemargin 15mm +\pagestyle{fancy} + +% Headers and footers +\fancyfoot{} +\lhead{} +\rhead{} +\renewcommand{\headrulewidth}{0pt} +\lfoot{\footnotesize 11 rue Pierre et Marie Curie, 75231 Paris Cedex 05\\ Numéro siret 431 598 366 00018} +\rfoot{\footnotesize Association agréée par\\le Ministère de l'éducation nationale.} + +\begin{document} + +\includegraphics[height=2cm]{/code/static/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} + +\vfill + +\begin{center} + + +\LARGE +Autorisation d'enregistrement et de diffusion de l'image ({{ tournament.name }}) +\end{center} +\normalsize + + +\thispagestyle{empty} + +\bigskip + + + +Je soussign\'e {{ registration|safe|default:"\dotfill" }}\\ +demeurant au {{ registration.address|safe|default:"\dotfill" }} + +\medskip +Cochez la/les cases correspondantes.\\ +\medskip + +\fbox{\textcolor{white}{A}} Autorise l'association Animath, \`a l'occasion du $\mathbb{TFJM}^2$ du +{{ tournament.date_start }} au {{ tournament.date_end }} à : {{ tournament.place }}, \`a me photographier ou \`a me +filmer et \`a diffuser les photos et/ou les vid\'eos r\'ealis\'ees \`a cette occasion sur son site et sur les sites +partenaires. D\'eclare c\'eder \`a titre gracieux \`a Animath le droit d’utiliser mon image sur tous ses supports +d'information : brochures, sites web, r\'eseaux sociaux. Animath devient, par la pr\'esente, cessionnaire des droits +pendant toute la dur\'ee pour laquelle ont \'et\'e acquis les droits d'auteur de ces photographies.\\ + +\medskip +Animath s'engage, conform\'ement aux dispositions l\'egales en vigueur relatives au droit \`a l'image, \`a ce que la +publication et la diffusion de l'image ainsi que des commentaires l'accompagnant ne portent pas atteinte \`a la vie +priv\'ee, \`a la dignit\'e et \`a la r\'eputation de la personne photographiée.\\ + +\medskip + \fbox{\textcolor{white}{A}} Autorise la diffusion dans les medias (Presse, T\'el\'evision, Internet) de photographies + prises \`a l'occasion d’une \'eventuelle m\'ediatisation de cet événement.\\ + + \medskip + +Conform\'ement \`a la loi informatique et libert\'es du 6 janvier 1978, vous disposez d'un droit de libre acc\`es, +de rectification, de modification et de suppression des donn\'ees qui vous concernent. +Cette autorisation est donc r\'evocable \`a tout moment sur volont\'e express\'ement manifest\'ee par lettre +recommand\'ee avec accus\'e de r\'eception adress\'ee \`a +Animath, IHP, 11 rue Pierre et Marie Curie, 75231 Paris cedex 05.\\ + +\medskip + \fbox{\textcolor{white}{A}} Autorise Animath à conserver mes données personnelles, dans le cadre défini par + la loi n 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés et les textes la modifiant, + pendant une durée de quatre ans à compter de ma dernière participation à un événement organisé par Animath.\\ + + \medskip + \fbox{\textcolor{white}{A}} J'accepte d'être tenu informé d'autres activités organisées par l'association et ses + partenaires. + +\bigskip + +Signature pr\'ec\'ed\'ee de la mention \og lu et approuv\'e \fg{} + +\medskip + + + +\begin{minipage}[c]{0.5\textwidth} + +\underline{L'\'el\`eve :}\\ + +Fait \`a :\\ +le +\end{minipage} + + +\vfill +\vfill +\begin{minipage}[c]{0.5\textwidth} +\footnotesize 11 rue Pierre et Marie Curie, 75231 Paris Cedex 05\\ Numéro siret 431 598 366 00018 +\end{minipage} +\begin{minipage}[c]{0.5\textwidth} +\footnotesize +\begin{flushright} +Association agréée par\\le Ministère de l'éducation nationale. +\end{flushright} +\end{minipage} +\end{document} diff --git a/tfjm/static/Autorisation_droit_image_mineur.tex b/apps/registration/templates/registration/tex/Autorisation_droit_image_mineur.tex similarity index 53% rename from tfjm/static/Autorisation_droit_image_mineur.tex rename to apps/registration/templates/registration/tex/Autorisation_droit_image_mineur.tex index 4f14a43..30fed00 100644 --- a/tfjm/static/Autorisation_droit_image_mineur.tex +++ b/apps/registration/templates/registration/tex/Autorisation_droit_image_mineur.tex @@ -3,7 +3,7 @@ \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} -\usepackage[frenchb]{babel} +\usepackage[french]{babel} \usepackage{fancyhdr} \usepackage{graphicx} @@ -37,7 +37,7 @@ \begin{document} -\includegraphics[height=2cm]{assets/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} +\includegraphics[height=2cm]{/code/static/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} \vfill @@ -46,7 +46,7 @@ \LARGE Autorisation d'enregistrement et de diffusion de l'image -({TOURNAMENT_NAME}) +({{ tournament.name }}) \end{center} \normalsize @@ -58,31 +58,45 @@ Autorisation d'enregistrement et de diffusion de l'image Je soussign\'e \dotfill (p\`ere, m\`ere, responsable l\'egal) \\ -agissant en qualit\'e de repr\'esentant de {PARTICIPANT_NAME}\\ -demeurant au {ADDRESS} +agissant en qualit\'e de repr\'esentant de {{ registration|safe|default:"\dotfill" }}\\ +demeurant au {{ registration.address|safe|default:"\dotfill" }} \medskip Cochez la/les cases correspondantes.\\ \medskip - \fbox{\textcolor{white}{A}} Autorise l'association Animath, \`a l'occasion du $\mathbb{TFJM}^2$ du {START_DATE} au {END_DATE} {YEAR} à : {PLACE}, \`a photographier ou \`a filmer l'enfant et \`a diffuser les photos et/ou les vid\'eos r\'ealis\'ees \`a cette occasion sur son site et sur les sites partenaires. D\'eclare c\'eder \`a titre gracieux \`a Animath le droit d’utiliser l'image de l'enfant sur tous ses supports d'information : brochures, sites web, r\'eseaux sociaux. Animath devient, par la pr\'esente, cessionnaire des droits pendant toute la dur\'ee pour laquelle ont \'et\'e acquis les droits d'auteur de ces photographies.\\ + \fbox{\textcolor{white}{A}} Autorise l'association Animath, \`a l'occasion du $\mathbb{TFJM}^2$ du + {{ tournament.date_start }} au {{ tournament.date_end }} à : {{ tournament.place }}, \`a photographier ou \`a filmer + l'enfant et \`a diffuser les photos et/ou les vid\'eos r\'ealis\'ees \`a cette occasion sur son site et sur les sites + partenaires. D\'eclare c\'eder \`a titre gracieux \`a Animath le droit d’utiliser l'image de l'enfant sur tous ses + supports d'information : brochures, sites web, r\'eseaux sociaux. Animath devient, par la pr\'esente, cessionnaire des + droits pendant toute la dur\'ee pour laquelle ont \'et\'e acquis les droits d'auteur de ces photographies.\\ \medskip -Animath s'engage, conform\'ement aux dispositions l\'egales en vigueur relatives au droit \`a l'image, \`a ce que la publication et la diffusion de l'image de l'enfant ainsi que des commentaires l'accompagnant ne portent pas atteinte \`a la vie priv\'ee, \`a la dignit\'e et \`a la r\'eputation de l’enfant.\\ +Animath s'engage, conform\'ement aux dispositions l\'egales en vigueur relatives au droit \`a l'image, \`a ce que la +publication et la diffusion de l'image de l'enfant ainsi que des commentaires l'accompagnant ne portent pas atteinte +\`a la vie priv\'ee, \`a la dignit\'e et \`a la r\'eputation de l’enfant.\\ \medskip - \fbox{\textcolor{white}{A}} Autorise la diffusion dans les medias (Presse, T\'el\'evision, Internet) de photographies de mon enfant prises \`a l'occasion d’une \'eventuelle m\'ediatisation de cet événement.\\ + \fbox{\textcolor{white}{A}} Autorise la diffusion dans les medias (Presse, T\'el\'evision, Internet) de + photographies de mon enfant prises \`a l'occasion d’une \'eventuelle m\'ediatisation de cet événement.\\ \medskip -Conform\'ement \`a la loi informatique et libert\'es du 6 janvier 1978, vous disposez d'un droit de libre acc\`es, de rectification, de modification et de suppression des donn\'ees qui vous concernent. -Cette autorisation est donc r\'evocable \`a tout moment sur volont\'e express\'ement manifest\'ee par lettre recommand\'ee avec accus\'e de r\'eception adress\'ee \`a Animath, IHP, 11 rue Pierre et Marie Curie, 75231 Paris cedex 05.\\ +Conform\'ement \`a la loi informatique et libert\'es du 6 janvier 1978, vous disposez d'un droit de libre acc\`es, de +rectification, de modification et de suppression des donn\'ees qui vous concernent. +Cette autorisation est donc r\'evocable \`a tout moment sur volont\'e express\'ement manifest\'ee par lettre +recommand\'ee avec accus\'e de r\'eception adress\'ee \`a +Animath, IHP, 11 rue Pierre et Marie Curie, 75231 Paris cedex 05.\\ \medskip - \fbox{\textcolor{white}{A}} Autorise Animath à conserver mes données personnelles, dans le cadre défini par la loi n 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés et les textes la modifiant, pendant une durée de quatre ans à compter de ma dernière participation à un événement organisé par Animath.\\ + \fbox{\textcolor{white}{A}} Autorise Animath à conserver mes données personnelles, dans le cadre défini par + la loi n 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés et les textes la modifiant, + pendant une durée de quatre ans à compter de ma dernière participation à un événement organisé par Animath.\\ \medskip - \fbox{\textcolor{white}{A}} J'accepte d'être tenu informé d'autres activités organisées par l'association et ses partenaires. + \fbox{\textcolor{white}{A}} J'accepte d'être tenu informé d'autres activités organisées par l'association et ses + partenaires. \bigskip diff --git a/tfjm/static/Autorisation_parentale.tex b/apps/registration/templates/registration/tex/Autorisation_parentale.tex similarity index 64% rename from tfjm/static/Autorisation_parentale.tex rename to apps/registration/templates/registration/tex/Autorisation_parentale.tex index 6c56ac4..b357694 100644 --- a/tfjm/static/Autorisation_parentale.tex +++ b/apps/registration/templates/registration/tex/Autorisation_parentale.tex @@ -37,28 +37,30 @@ \begin{document} -\includegraphics[height=2cm]{assets/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} +\includegraphics[height=2cm]{/code/static/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} \vfill \begin{center} -\Large \bf Autorisation parentale pour les mineurs ({TOURNAMENT_NAME}) +\Large \bf Autorisation parentale pour les mineurs ({{ tournament.name }}) \end{center} Je soussigné(e) \hrulefill,\\ responsable légal, demeurant \writingsep\hrulefill\\ \writingsep\hrulefill,\\ -\writingsep autorise {PARTICIPANT_NAME},\\ -né(e) le {BIRTHDAY}, -à participer au Tournoi Français des Jeunes Mathématiciennes et Mathématiciens ($\mathbb{TFJM}^2$) organisé \`a : {PLACE}, du {START_DATE} au {END_DATE} {YEAR}. +\writingsep autorise {{ registration|default:"\hrulefill" }},\\ +né(e) le {{ registration.birth_date }}, +à participer au Tournoi Français des Jeunes Mathématiciennes et Mathématiciens ($\mathbb{TFJM}^2$) organisé \`a : +{{ tournament.place }}, du {{ tournament.date_start }} au {{ tournament.date_end }}. -{PRONOUN} se rendra au lieu indiqu\'e ci-dessus le vendredi matin et quittera les lieux l'après-midi du dimanche par ses propres moyens et sous la responsabilité du représentant légal. +Iel se rendra au lieu indiqu\'e ci-dessus le vendredi matin et quittera les lieux l'après-midi du dimanche par +ses propres moyens et sous la responsabilité du représentant légal. \vspace{8ex} -Fait à \vrule width 10cm height 0pt depth 0.4pt, le \phantom{232323}/\phantom{XXX}/{YEAR}, +Fait à \vrule width 10cm height 0pt depth 0.4pt, le \phantom{232323}/\phantom{XXX}/{% now "Y" %}, \vfill \vfill diff --git a/tfjm/static/Instructions.tex b/apps/registration/templates/registration/tex/Instructions.tex similarity index 60% rename from tfjm/static/Instructions.tex rename to apps/registration/templates/registration/tex/Instructions.tex index da293ef..e865897 100644 --- a/tfjm/static/Instructions.tex +++ b/apps/registration/templates/registration/tex/Instructions.tex @@ -38,12 +38,12 @@ \begin{document} -\includegraphics[height=2cm]{assets/logo_animath.png}\hfill{\fontsize{50pt}{50pt}{$\mathbb{TFJM}^2$}} +\includegraphics[height=2cm]{/code/static/logo_animath.png}\hfill{\fontsize{50pt}{50pt}{$\mathbb{TFJM}^2$}} \begin{center} -\Large \bf Instructions ({TOURNAMENT_NAME}) +\Large \bf Instructions ({{ tournament.name }}) \end{center} \section{Documents} @@ -51,7 +51,8 @@ Elle est nécessaire si l'élève est mineur au moment du tournoi (y compris si son anniversaire est pendant le tournoi). \subsection{Autorisation de prise de vue} -Si l'élève est mineur \textbf{au moment de la signature}, il convient de remplir l'autorisation pour les mineurs. En revanche, s'il est majeur \textbf{au moment de la signature}, il convient de remplir la fiche pour majeur. +Si l'élève est mineur \textbf{au moment de la signature}, il convient de remplir l'autorisation pour les mineurs. +En revanche, s'il est majeur \textbf{au moment de la signature}, il convient de remplir la fiche pour majeur. \subsection{Fiche sanitaire} Elle est nécessaire si l'élève est mineur au moment du tournoi (y compris si son anniversaire est pendant le tournoi). @@ -59,20 +60,27 @@ Elle est nécessaire si l'élève est mineur au moment du tournoi (y compris si \section{Paiement} +{% if tournament.price %} \subsection{Montant} -Les frais d'inscription sont fixés à {PRICE} euros. Vous devez vous en acquitter \textbf{avant le {END_PAYMENT_DATE} {YEAR}}. Si l'élève est boursier, il en est dispensé, vous devez alors fournir une copie de sa notification de bourse directement sur la plateforme \textbf{avant le {END_PAYMENT_DATE} {YEAR}}. +Les frais d'inscription sont fixés à {{ tournament.price }} euros. Vous devez vous en acquitter +\textbf{avant le {{ tournament.inscription_limit.date }}}. Si l'élève est boursier, il en est dispensé, vous devez alors +fournir une copie de sa notification de bourse directement sur la plateforme +\textbf{avant le {{ tournament.inscription_limit.date }}}. \subsection{Procédure} -Si le paiement de plusieurs élèves est fait en une seule opération, merci de contacter \href{mailto: contact@tfjm.org}{contact@tfjm.org} \textbf{avant le paiement} pour garantir l'identification de ce dernier +Si le paiement de plusieurs élèves est fait en une seule opération, merci de contacter +\href{mailto: contact@tfjm.org}{contact@tfjm.org} \textbf{avant le paiement} pour garantir l'identification de ce dernier. \subsubsection*{Carte bancaire (uniquement les cartes françaises)} -Le paiement s'effectue en ligne via la plateforme à l'adresse : \url{https://www.helloasso.com/associations/animath/evenements/tfjm-2020} +Le paiement s'effectue en ligne via la plateforme à l'adresse : \url{https://www.helloasso.com/associations/animath/evenements/tfjmm-2021} Vous devez impérativement indiquer dans le champ "Référence" la mention "TFJMpu" suivie des noms et prénoms \textbf{de l'élève}. \subsubsection*{Virement} -\textbf{Si vous ne pouvez pas utiliser le paiement par carte}, vous pouvez faire un virement sur le compte ci-dessous en indiquant bien dans le champ "motif" (ou autre champ propre à votre banque dont le contenu est communiqué au destinataire) la mention "TFJMpu" suivie des noms et prénoms \textbf{de l'élève}. +\textbf{Si vous ne pouvez pas utiliser le paiement par carte}, vous pouvez faire un virement sur le compte ci-dessous en +indiquant bien dans le champ "motif" (ou autre champ propre à votre banque dont le contenu est communiqué au destinataire) +la mention "TFJMpu" suivie des noms et prénoms \textbf{de l'élève}. IBAN FR76 1027 8065 0000 0206 4290 127 @@ -80,7 +88,12 @@ BIC CMCIFR2A \subsubsection*{Autre} -Si aucune de ces procédures n'est possible pour vous, envoyez un mail à \href{mailto: contact@tfjm.org}{contact@tfjm.org} pour que nous trouvions une solution à vos difficultés. +Si aucune de ces procédures n'est possible pour vous, envoyez un mail à \href{mailto: contact@tfjm.org}{contact@tfjm.org} +pour que nous trouvions une solution à vos difficultés. + +{% else %} +Le tournoi est gratuit, vous n'avez aucun frais à avoir. +{% endif %} diff --git a/apps/registration/templates/registration/upload_parental_authorization.html b/apps/registration/templates/registration/upload_parental_authorization.html index e49c489..a758830 100644 --- a/apps/registration/templates/registration/upload_parental_authorization.html +++ b/apps/registration/templates/registration/upload_parental_authorization.html @@ -9,7 +9,7 @@
{% trans "Authorization template:" %} - {% trans "Download" %} + {% trans "Download" %}
{% csrf_token %} {{ form|crispy }} diff --git a/apps/registration/templates/registration/upload_photo_authorization.html b/apps/registration/templates/registration/upload_photo_authorization.html index 9b8333b..fb2823b 100644 --- a/apps/registration/templates/registration/upload_photo_authorization.html +++ b/apps/registration/templates/registration/upload_photo_authorization.html @@ -9,8 +9,8 @@
{% trans "Authorization templates:" %} - {% trans "Adult" %} — - {% trans "Child" %} + {% trans "Adult" %} — + {% trans "Child" %}
{% csrf_token %} {{ form|crispy }} diff --git a/apps/registration/urls.py b/apps/registration/urls.py index e6ec201..2a3df92 100644 --- a/apps/registration/urls.py +++ b/apps/registration/urls.py @@ -3,9 +3,10 @@ from django.urls import path -from .views import AddOrganizerView, MyAccountDetailView, PaymentUpdateView, ResetAdminView, SignupView, \ - UserDetailView, UserImpersonateView, UserListView, UserResendValidationEmailView, UserUpdateView, \ - UserUploadHealthSheetView, UserUploadParentalAuthorizationView, UserUploadPhotoAuthorizationView, \ +from .views import AddOrganizerView, AdultPhotoAuthorizationTemplateView, ChildPhotoAuthorizationTemplateView,\ + InstructionsTemplateView, MyAccountDetailView, PaymentUpdateView, ParentalAuthorizationTemplateView, \ + ResetAdminView, SignupView, UserDetailView, UserImpersonateView, UserListView, UserResendValidationEmailView, \ + UserUpdateView, UserUploadHealthSheetView, UserUploadParentalAuthorizationView, UserUploadPhotoAuthorizationView, \ UserValidateView, UserValidationEmailSentView app_name = "registration" @@ -22,6 +23,13 @@ urlpatterns = [ path("user//update/", UserUpdateView.as_view(), name="update_user"), path("user//upload-photo-authorization/", UserUploadPhotoAuthorizationView.as_view(), name="upload_user_photo_authorization"), + path("parental-authorization-template/", ParentalAuthorizationTemplateView.as_view(), + name="parental_authorization_template"), + path("photo-authorization-template/adult/", AdultPhotoAuthorizationTemplateView.as_view(), + name="photo_authorization_adult_template"), + path("photo-authorization-template/child/", ChildPhotoAuthorizationTemplateView.as_view(), + name="photo_authorization_child_template"), + path("instructions-template/", InstructionsTemplateView.as_view(), name="instructions_template"), path("user//upload-health_sheet/", UserUploadHealthSheetView.as_view(), name="upload_user_health_sheet"), path("user//upload-parental-authorization/", UserUploadParentalAuthorizationView.as_view(), diff --git a/apps/registration/views.py b/apps/registration/views.py index 5101bb1..b57b4d8 100644 --- a/apps/registration/views.py +++ b/apps/registration/views.py @@ -2,6 +2,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later import os +import subprocess +from tempfile import mkdtemp from django.conf import settings from django.contrib.auth.mixins import LoginRequiredMixin @@ -21,7 +23,7 @@ from django.utils.translation import gettext_lazy as _ from django.views.generic import CreateView, DetailView, RedirectView, TemplateView, UpdateView, View from django_tables2 import SingleTableView from magic import Magic -from participation.models import Passage, Solution, Synthesis +from participation.models import Passage, Solution, Synthesis, Tournament from tfjm.tokens import email_validation_token from tfjm.views import AdminMixin, UserMixin, VolunteerMixin @@ -381,6 +383,52 @@ class UserUploadParentalAuthorizationView(UserMixin, UpdateView): return reverse_lazy("registration:user_detail", args=(self.object.user.pk,)) +class AuthorizationTemplateView(TemplateView): + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + + if "registration_id" in self.request.GET: + registration = Registration.objects.get(pk=self.request.GET.get("registration_id")) + # Don't get unwanted information + if registration.user == self.request.user \ + or self.request.user.is_authenticated and self.request.user.registration.is_admin: + context["registration"] = registration + if "tournament_id" in self.request.GET: + context["tournament"] = Tournament.objects.get(pk=self.request.GET.get("tournament_id")) + else: + raise ValueError("Merci d'indiquer un tournoi.") + + return context + + def render_to_response(self, context, **response_kwargs): + tex = render_to_string(self.template_name, context=context, request=self.request) + temp_dir = mkdtemp() + with open(os.path.join(temp_dir, "texput.tex"), "w") as f: + f.write(tex) + process = subprocess.Popen(["pdflatex", "-interaction=nonstopmode", f"-output-directory={temp_dir}", + os.path.join(temp_dir, "texput.tex"), ]) + process.wait() + return FileResponse(open(os.path.join(temp_dir, "texput.pdf"), "rb"), + content_type="application/pdf", + filename=self.template_name.split("/")[-1][:-3] + "pdf") + + +class AdultPhotoAuthorizationTemplateView(AuthorizationTemplateView): + template_name = "registration/tex/Autorisation_droit_image_majeur.tex" + + +class ChildPhotoAuthorizationTemplateView(AuthorizationTemplateView): + template_name = "registration/tex/Autorisation_droit_image_mineur.tex" + + +class ParentalAuthorizationTemplateView(AuthorizationTemplateView): + template_name = "registration/tex/Autorisation_parentale.tex" + + +class InstructionsTemplateView(AuthorizationTemplateView): + template_name = "registration/tex/Instructions.tex" + + class PaymentUpdateView(LoginRequiredMixin, UpdateView): model = Payment form_class = PaymentForm diff --git a/tfjm.cron b/tfjm.cron index a9f34a5..b6ca7d2 100644 --- a/tfjm.cron +++ b/tfjm.cron @@ -15,3 +15,6 @@ # Check payments from Hello Asso */6 * * * * cd /code && python manage.py check_hello_asso &> /dev/null + +# Clean temporary files +30 * * * * rm -rf /tmp/* diff --git a/tfjm/static/Autorisation_droit_image_majeur.tex b/tfjm/static/Autorisation_droit_image_majeur.tex deleted file mode 100644 index 7cb1727..0000000 --- a/tfjm/static/Autorisation_droit_image_majeur.tex +++ /dev/null @@ -1,113 +0,0 @@ -\documentclass[a4paper,french,11pt]{article} - -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage{lmodern} -\usepackage[frenchb]{babel} - -\usepackage{fancyhdr} -\usepackage{graphicx} -\usepackage{amsmath} -\usepackage{amssymb} -%\usepackage{anyfontsize} -\usepackage{fancybox} -\usepackage{eso-pic,graphicx} -\usepackage{xcolor} - - -% Specials -\newcommand{\writingsep}{\vrule height 4ex width 0pt} - -% Page formating -\hoffset -1in -\voffset -1in -\textwidth 180 mm -\textheight 250 mm -\oddsidemargin 15mm -\evensidemargin 15mm -\pagestyle{fancy} - -% Headers and footers -\fancyfoot{} -\lhead{} -\rhead{} -\renewcommand{\headrulewidth}{0pt} -\lfoot{\footnotesize 11 rue Pierre et Marie Curie, 75231 Paris Cedex 05\\ Numéro siret 431 598 366 00018} -\rfoot{\footnotesize Association agréée par\\le Ministère de l'éducation nationale.} - -\begin{document} - -\includegraphics[height=2cm]{assets/logo_animath.png}\hfill{\fontsize{55pt}{55pt}{$\mathbb{TFJM}^2$}} - -\vfill - -\begin{center} - - -\LARGE -Autorisation d'enregistrement et de diffusion de l'image ({TOURNAMENT_NAME}) -\end{center} -\normalsize - - -\thispagestyle{empty} - -\bigskip - - - -Je soussign\'e {PARTICIPANT_NAME}\\ -demeurant au {ADDRESS} - -\medskip -Cochez la/les cases correspondantes.\\ -\medskip - - \fbox{\textcolor{white}{A}} Autorise l'association Animath, \`a l'occasion du $\mathbb{TFJM}^2$ du {START_DATE} au {END_DATE} {YEAR} à : {PLACE}, \`a me photographier ou \`a me filmer et \`a diffuser les photos et/ou les vid\'eos r\'ealis\'ees \`a cette occasion sur son site et sur les sites partenaires. D\'eclare c\'eder \`a titre gracieux \`a Animath le droit d’utiliser mon image sur tous ses supports d'information : brochures, sites web, r\'eseaux sociaux. Animath devient, par la pr\'esente, cessionnaire des droits pendant toute la dur\'ee pour laquelle ont \'et\'e acquis les droits d'auteur de ces photographies.\\ - -\medskip -Animath s'engage, conform\'ement aux dispositions l\'egales en vigueur relatives au droit \`a l'image, \`a ce que la publication et la diffusion de l'image ainsi que des commentaires l'accompagnant ne portent pas atteinte \`a la vie priv\'ee, \`a la dignit\'e et \`a la r\'eputation de la personne photographiée.\\ - -\medskip - \fbox{\textcolor{white}{A}} Autorise la diffusion dans les medias (Presse, T\'el\'evision, Internet) de photographies prises \`a l'occasion d’une \'eventuelle m\'ediatisation de cet événement.\\ - - \medskip - -Conform\'ement \`a la loi informatique et libert\'es du 6 janvier 1978, vous disposez d'un droit de libre acc\`es, de rectification, de modification et de suppression des donn\'ees qui vous concernent. -Cette autorisation est donc r\'evocable \`a tout moment sur volont\'e express\'ement manifest\'ee par lettre recommand\'ee avec accus\'e de r\'eception adress\'ee \`a Animath, IHP, 11 rue Pierre et Marie Curie, 75231 Paris cedex 05.\\ - -\medskip - \fbox{\textcolor{white}{A}} Autorise Animath à conserver mes données personnelles, dans le cadre défini par la loi n 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés et les textes la modifiant, pendant une durée de quatre ans à compter de ma dernière participation à un événement organisé par Animath.\\ - - \medskip - \fbox{\textcolor{white}{A}} J'accepte d'être tenu informé d'autres activités organisées par l'association et ses partenaires. - -\bigskip - -Signature pr\'ec\'ed\'ee de la mention \og lu et approuv\'e \fg{} - -\medskip - - - -\begin{minipage}[c]{0.5\textwidth} - -\underline{L'\'el\`eve :}\\ - -Fait \`a :\\ -le -\end{minipage} - - -\vfill -\vfill -\begin{minipage}[c]{0.5\textwidth} -\footnotesize 11 rue Pierre et Marie Curie, 75231 Paris Cedex 05\\ Numéro siret 431 598 366 00018 -\end{minipage} -\begin{minipage}[c]{0.5\textwidth} -\footnotesize -\begin{flushright} -Association agréée par\\le Ministère de l'éducation nationale. -\end{flushright} -\end{minipage} -\end{document}