Commit 61420181 authored by Charlie Jacomme's avatar Charlie Jacomme Committed by Antoine Bernard

[compte] Permet les réadhésions en lignes

TODO : l'édition d'un joli certificat pdf
parent 6af23811
......@@ -11,7 +11,7 @@
{% if cablage %}
<h2>{% trans "Prolonger la connexion d'un adhérent, effectue la réadhésion si nécessaire" %}</h2>
{% else %}
<h2>{% trans "Prolonger la connexion" %}</h2>
<h2>{% trans "Prolonger votre connexion, en réadhérent si nécéssaire" %}</h2>
{% endif %}
<div class="row">
<div class="six columns{% if form.nbrmois.errors %} error{% endif %}">
......@@ -28,7 +28,26 @@
{% if confirm %}
<h2>{% trans "Récapitulatif" %}</h2>
<div>{% blocktrans %} Une prolongation de la connexion de {{ nbrmois }} mois va être effectuée. {% endblocktrans %} </div>
<div>{% blocktrans %} Une facture de {{ prix }} € va être créée, elle comprend la connexion {% endblocktrans %} {% if readhesion %} {% blocktrans %} et la réadhésion. (10 € pour les personnes, gratuit pour les clubs){% endblocktrans %}{% endif %}</div>
<div>{% blocktrans %} Une facture de {{ prix }} € va être créée, elle comprend la connexion {% endblocktrans %} {% if readhesion %} {% blocktrans %} et la réadhésion. {% endblocktrans %}{% endif %}</div>
{% if not cablage and readhesion %}
<h2>{% trans "Engagement" %}</h2>
<div> L’adhésion au Cr@ns nécessite ton acceptation d’un certain nombre de documents :
<ul>
<li> <a href="http://www.crans.org/CransAdministratif/StatutsDuCrans"> Les statuts de l’association </a>
<li> <a href="http://www.crans.org/CransAdministratif/CharteDuCrans"> La charte </a>
<li> <a href="http://www.crans.org/CransAdministratif/ReglementInterieur"> Le règlement intérieur </a>
<li> <a href="http://www.renater.fr/chartes"> La charte Renater </a>
</ul>
Le non respect de ces documents peut entraîner ta déconnexion temporaire ou définitive du réseau.</br>
</div>
<label> J’ai bien pris connaissance des documents cités et approuve leur contenu. Je m’engage de plus à aller les
consulter en cas de changements. <input type="checkbox" required> </label>
{% endif %}
{% endif %}
<footer>
<a href="{% if ptype == "club" %} {% url 'compte:afficher_club' ide %} {% else %} {% url 'compte:afficher' ide %} {% endif %}" class="button-cancel">{% trans "Retour à mon compte" %}</a>
......
......@@ -478,16 +478,15 @@ class AdhesionView(CableurOrSelfMixin, RedirectHomeMixin, View):
readhesion = False
now = lc_ldap.crans_utils.localized_datetime()
prix = min(nbrmois * cotisation.contribution, cotisation.plafond_contribution)
if cablage:
try:
delta = luser.fin_adhesion().value - now
delta = delta.days
# Si il n'y a pas de fin adh, on renvoie 0
except AttributeError:
delta = 0
if delta < cotisation.delai_readh_jour:
prix += cotisation.cotisation
readhesion = True
try:
delta = luser.fin_adhesion().value - now
delta = delta.days
# Si il n'y a pas de fin adh, on renvoie 0
except AttributeError:
delta = 0
if delta < cotisation.delai_readh_jour:
prix += cotisation.cotisation
readhesion = True
# Pour les clubs, c'est gratuit
if ptype == 'club':
prix = 0
......@@ -502,11 +501,6 @@ class AdhesionView(CableurOrSelfMixin, RedirectHomeMixin, View):
if 'confirm' in request.POST.keys():
######## Facturation de la connexion ########
mois = form.cleaned_data['nbrmois']
if not cablage:
mois = connexion_possible(mois, luser)
if mois == 0:
messages.error(request, u"Impossible de prolonger la connexion, merci de passer en permanence pour prolonger l'adhesion")
return redirect(next)
mois, prix, readhesion = prix(mois, luser, ptype, cablage)
fact_cotis = cotisation.dico_cotis(mois)
# On evite de créer des factures de 0 mois de connexions, pour les clubs, on ne fait pas de connexion
......@@ -564,14 +558,10 @@ class AdhesionView(CableurOrSelfMixin, RedirectHomeMixin, View):
return redirect(next)
else:
mois = form.cleaned_data['nbrmois']
if not cablage:
mois = connexion_possible(mois, luser)
if mois == 0:
messages.error(request, u"Impossible de prolonger la connexion au delà de la fin d'adhésion, merci de passer en permanence pour prolonger l'adhesion")
return redirect(next)
mois, prix, readhesion = prix(mois, luser, ptype, cablage)
if not readhesion:
messages.error(request, _(u"Attention, la réadhésion ne sera pas effectuée, merci de repasser un mois avant la fin d'adhésion pour réadhérer. Si la connexion se termine après la fin d'adhésion, il faudra réadhérer"))
if not readhesion and mois == 0:
messages.error(request, _(u"La réadhésion est impossible plus d'un mois avant la fin de l'adhésion. Vous pouvez soit prolonger votre connexion jusqu'à la fin de votre adhésion, soit revenir un mois avant la fin votre adhésion."))
return render(request, self.template_name, {'form': form, 'ptype': ptype, 'ide': uid})
return render(request, self.template_name, {'form': form, 'ptype': ptype, 'ide': uid, 'confirm': True, 'prix': prix, 'readhesion': readhesion, 'nbrmois': mois, 'cablage': cablage})
return render(request, self.template_name, {'form': form, 'ptype': ptype, 'ide': uid, 'cablage': cablage})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment