3
0
Fork 0
mirror of https://github.com/nanoy42/coope synced 2024-11-22 03:13:12 +00:00

Meilleure inscription

This commit is contained in:
Yoann Pétri 2019-02-21 20:08:29 +01:00
parent 9b71c52302
commit dedd30303a
6 changed files with 4 additions and 64 deletions

View file

@ -16,7 +16,7 @@ def run_tex(source):
with open(filename, 'x', encoding='utf-8') as f: with open(filename, 'x', encoding='utf-8') as f:
f.write(source) f.write(source)
latex_interpreter = getattr(settings, 'LATEX_INTERPRETER', DEFAULT_INTERPRETER) latex_interpreter = getattr(settings, 'LATEX_INTERPRETER', DEFAULT_INTERPRETER)
latex_command = f'cd "{tempdir}" && {latex_interpreter} -interaction=batchmode {os.path.basename(filename)}' latex_command = 'cd "{tempdir}" && {latex_interpreter} -interaction=batchmode {path}'.format(tempdir=tempdir, latex_interpreter=latex_interpreter, path=os.path.basename(filename))
process = run(latex_command, shell=True, stdout=PIPE, stderr=PIPE) process = run(latex_command, shell=True, stdout=PIPE, stderr=PIPE)
try: try:
if process.returncode == 1: if process.returncode == 1:

View file

@ -16,6 +16,7 @@
{% csrf_token %} {% csrf_token %}
{{ form }} {{ form }}
<br> <br>
{{ extra_html | safe }}
<button type="submit"><i class="fa fa-{{form_button_icon}}"></i> {{form_button}}</button> <button type="submit"><i class="fa fa-{{form_button_icon}}"></i> {{form_button}}</button>
</form> </form>
</section> </section>

View file

@ -75,22 +75,14 @@ class Profile(models.Model):
debit = models.DecimalField(max_digits=7, decimal_places=2, default=0) debit = models.DecimalField(max_digits=7, decimal_places=2, default=0)
school = models.ForeignKey(School, on_delete=models.PROTECT, blank=True, null=True) school = models.ForeignKey(School, on_delete=models.PROTECT, blank=True, null=True)
cotisationEnd = models.DateTimeField(blank=True, null=True) cotisationEnd = models.DateTimeField(blank=True, null=True)
date_verified = models.DateTimeField(blank=True, null=True)
history = HistoricalRecords() history = HistoricalRecords()
@property
def is_verified(self):
"""
Test if a user is verified
"""
return self.date_verified is not None
@property @property
def is_adherent(self): def is_adherent(self):
""" """
Test if a user is adherent Test if a user is adherent
""" """
if(self.is_verified and self.cotisationEnd and self.cotisationEnd > timezone.now()): if(self.cotisationEnd and self.cotisationEnd > timezone.now()):
return True return True
else: else:
return False return False

View file

@ -1,33 +0,0 @@
{% extends 'base.html' %}
{% block entete %}Vérification du compte{% endblock %}
{% block navbar %}
<ul>
<li><a href="#first">Vérification du compte de {{user}}</a></li>
</ul>
{% endblock %}
{% block content %}
<section id="first" class="main">
<header class="major">
<h2>Vérification du compte de {{user}}</h2>
</header>
<section>
<form action="" method="post">
{% csrf_token %}
{{ form }}
<br>
<strong>
En cliquant sur le bouton "Modifier mon mot de passe et accepter", vous :
<ul>
<li>attestez sur l'honneur que les informations fournies à l'association Coopé Technopôle Metz sont correctes et que vous n'avez jamais été enregistré dans l'association sous un autre nom / pseudonyme</li>
<li>joignez l'association de votre plein gré</li>
<li>vous engagez à respecter les statuts et le reglèment intérieur de l'association (envoyés par mail)</li>
<li>reconnaissez le but de l'assocation Coopé Technopôle Metz et vous attestez avoir pris conaissances des droits et des devoirs des membres de l'association</li>
<li>consentez à ce que les données fournies à l'association, ainsi que vos autres données de compte (débit, crédit, solde et historique des transactions) soient stockées dans le logiciel de gestion et accessibles par tout les membres actifs de l'association, en particulier par le comité de direction</li>
</ul>
</strong>
<button type="submit"><i class="fa fa-check-circle"></i> Modifier mon mot de passe et accepter</button>
</form>
</section>
</section>
{{form.media}}
{% endblock %}

View file

@ -45,5 +45,4 @@ urlpatterns = [
path('allMenus/<int:pk>/<int:page>', views.all_menus, name="allMenus"), path('allMenus/<int:pk>/<int:page>', views.all_menus, name="allMenus"),
path('exportCSV', views.export_csv, name="exportCSV"), path('exportCSV', views.export_csv, name="exportCSV"),
path('switchActivateUser/<int:pk>', views.switch_activate_user, name="switchActivateUser"), path('switchActivateUser/<int:pk>', views.switch_activate_user, name="switchActivateUser"),
path('verify/<int:pk>', views.verify, name="verify")
] ]

View file

@ -20,10 +20,6 @@ from .models import CotisationHistory, WhiteListHistory, School
from .forms import CreateUserForm, LoginForm, CreateGroupForm, EditGroupForm, SelectUserForm, GroupsEditForm, EditPasswordForm, addCotisationHistoryForm, addCotisationHistoryForm, addWhiteListHistoryForm, SelectNonAdminUserForm, SelectNonSuperUserForm, SchoolForm, ExportForm from .forms import CreateUserForm, LoginForm, CreateGroupForm, EditGroupForm, SelectUserForm, GroupsEditForm, EditPasswordForm, addCotisationHistoryForm, addCotisationHistoryForm, addWhiteListHistoryForm, SelectNonAdminUserForm, SelectNonSuperUserForm, SchoolForm, ExportForm
from gestion.models import Reload, Consumption, ConsumptionHistory, MenuHistory from gestion.models import Reload, Consumption, ConsumptionHistory, MenuHistory
from django.contrib.auth.forms import SetPasswordForm
@active_required @active_required
def loginView(request): def loginView(request):
""" """
@ -226,7 +222,7 @@ def createUser(request):
user.save() user.save()
messages.success(request, "L'utilisateur a bien été créé") messages.success(request, "L'utilisateur a bien été créé")
return redirect(reverse('users:profile', kwargs={'pk':user.pk})) return redirect(reverse('users:profile', kwargs={'pk':user.pk}))
return render(request, "form.html", {"form_entete": "Gestion des utilisateurs", "form":form, "form_title":"Création d'un nouvel utilisateur", "form_button":"Créer l'utilisateur", "form_button_icon": "user-plus"}) return render(request, "form.html", {"form_entete": "Gestion des utilisateurs", "form":form, "form_title":"Création d'un nouvel utilisateur", "form_button":"Créer mon compte", "form_button_icon": "user-plus", 'extra_html': '<strong>En cliquant sur le bouton "Créer mon compte", vous :<ul><li>attestez sur l\'honneur que les informations fournies à l\'association Coopé Technopôle Metz sont correctes et que vous n\'avez jamais été enregistré dans l\'association sous un autre nom / pseudonyme</li><li>joignez l\'association de votre plein gré</li><li>vous engagez à respecter les statuts et le réglement intérieur de l\'association (envoyés par mail)</li><li>reconnaissez le but de l\'assocation Coopé Technopôle Metz et vous attestez avoir pris conaissances des droits et des devoirs des membres de l\'association</li><li>consentez à ce que les données fournies à l\'association, ainsi que vos autres données de compte (débit, crédit, solde et historique des transactions) soient stockées dans le logiciel de gestion et accessibles par tous les membres actifs de l\'association, en particulier par le comité de direction</li></ul></strong>'})
@active_required @active_required
@login_required @login_required
@ -513,21 +509,6 @@ def switch_activate_user(request, pk):
user.save() user.save()
messages.success(request, "Le statut de l'utilisateur a bien été changé") messages.success(request, "Le statut de l'utilisateur a bien été changé")
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
@active_required
def verify(request, pk):
user = get_object_or_404(User, pk=pk)
if(user.profile.is_verified):
messages.error(request, "L'utilisateur est déjà vérifié")
return redirect(reverse('users:login'))
form = SetPasswordForm(user, request.POST or None)
if(form.is_valid()):
form.save()
user.profile.date_verified = datetime.now()
user.save()
messages.success(request, "Le compte a bien été vérifié")
return redirect(reverse('users:login'))
return render(request, "users/verify.html", {"user": user, "form": form})
########## Groups ########## ########## Groups ##########