billetterie boolean

This commit is contained in:
Jonas 12t 2021-09-26 15:48:31 +04:00
parent 80b2eb0991
commit 42116c93cb
5 changed files with 28 additions and 15 deletions

View File

@ -127,6 +127,7 @@ class ConfigurationAdmin(SingletonModelAdmin):
}), }),
('Billetterie', { ('Billetterie', {
'fields': ( 'fields': (
'activer_billetterie',
'jauge_max', 'jauge_max',
'option_generale_radio', 'option_generale_radio',
'option_generale_checkbox', 'option_generale_checkbox',

View File

@ -85,6 +85,8 @@ class Configuration(SingletonModel):
stripe_test_api_key = models.CharField(max_length=110, blank=True, null=True) stripe_test_api_key = models.CharField(max_length=110, blank=True, null=True)
stripe_mode_test = models.BooleanField(default=True) stripe_mode_test = models.BooleanField(default=True)
activer_billetterie = models.BooleanField(default=True)
jauge_max = models.PositiveSmallIntegerField(default=50) jauge_max = models.PositiveSmallIntegerField(default=50)
option_generale_radio = models.ManyToManyField(OptionGenerale, option_generale_radio = models.ManyToManyField(OptionGenerale,

View File

@ -1,6 +1,7 @@
from datetime import datetime from datetime import datetime
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.http import HttpResponseRedirect
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
# Create your views here. # Create your views here.
@ -25,6 +26,8 @@ class index(APIView):
def get(self, request): def get(self, request):
configuration = Configuration.get_solo() configuration = Configuration.get_solo()
if not configuration.activer_billetterie :
return HttpResponseRedirect('https://www.tibillet.re')
events = Event.objects.filter(datetime__gt=datetime.now()) events = Event.objects.filter(datetime__gt=datetime.now())
if len(events) > 0: if len(events) > 0:

View File

@ -22,9 +22,9 @@
<!-- Header --> <!-- Header -->
<header id="header"> <header id="header">
<div class="logo"> {# <div class="logo">#}
<span class="icon fa-gem"></span> {# <span class="icon fa-gem"></span>#}
</div> {# </div>#}
<div class="content"> <div class="content">
<div class="inner"> <div class="inner">
<h1>Carte Cashless</h1> <h1>Carte Cashless</h1>
@ -39,8 +39,12 @@
<li><a href="#recharger">Recharger</a></li> <li><a href="#recharger">Recharger</a></li>
<li><a href="#historique">Historique</a></li> <li><a href="#historique">Historique</a></li>
{% if carte_resto %} {% if carte_resto %}
<li><a href="{{ carte_resto }}">Restaurant</a></li> <li><a href="/media/{{ carte_resto }}">Restaurant</a></li>
{% endif %} {% endif %}
{% if billetterie_bool %}
<li><a href="/">Billetterie</a></li>
{% endif %}
{% if site_web %} {% if site_web %}
<li><a href="{{ site_web }}">Site web</a></li> <li><a href="{{ site_web }}">Site web</a></li>
{% endif %} {% endif %}
@ -56,7 +60,7 @@
<!-- Intro --> <!-- Intro -->
<article id="recharger"> <article id="recharger">
<h2 class="major">carte {{ numero_carte }}</h2> <h2 class="major">carte {{ numero_carte }}</h2>
<span class="image main"><img src="{{ url_image_carte }}" alt=""/></span> <span class="image main"><img src="/media/{{ image_carte.med }}" alt=""/></span>
<form method="post" action="#"> <form method="post" action="#">
{% csrf_token %} {% csrf_token %}
<div class="fields"> <div class="fields">
@ -69,7 +73,6 @@
{% endif %} {% endif %}
</div> </div>
<div class="field"> <div class="field">
<label for="montant_recharge">Somme à recharger (€)</label> <label for="montant_recharge">Somme à recharger (€)</label>
<input id="montant_recharge" type="number" step="any" name="montant_recharge" required="True"/> <input id="montant_recharge" type="number" step="any" name="montant_recharge" required="True"/>
@ -98,7 +101,6 @@
<article id="success"> <article id="success">
<h2 class="major">Rechargement OK</h2> <h2 class="major">Rechargement OK</h2>
<span class="image main"><img src="images/pic02.jpg" alt=""/></span>
<h4>Vous avez bien rechargé la carte {{ numero_carte }}.</h4> <h4>Vous avez bien rechargé la carte {{ numero_carte }}.</h4>
<div class="table-wrapper"> <div class="table-wrapper">
<table> <table>
@ -121,6 +123,13 @@
</ul> </ul>
</article> </article>
<article id="error">
<h2 class="major">ERREUR Rechargement</h2>
<h3>Le paiement semble ne pas être passé. Vérifiez votre paiement ou contacter un administrateur</h3>
<ul class="actions">
<li><a href="#historique" class="button primary">Voir l'historique</a></li>
</ul>
</article>
<!-- Contact --> <!-- Contact -->
<article id="external"> <article id="external">

View File

@ -43,7 +43,6 @@ class gen_one_bisik(View):
class index_scan(View): class index_scan(View):
# template_name = "RechargementWebUuid.html"
template_name = "html5up-dimension/index.html" template_name = "html5up-dimension/index.html"
def check_carte_serveur_cashless(self, uuid): def check_carte_serveur_cashless(self, uuid):
@ -75,7 +74,6 @@ class index_scan(View):
# dette technique ... # dette technique ...
# pour rediriger les premières générations de qrcode # pour rediriger les premières générations de qrcode
# m.tibillet.re et raffinerie # m.tibillet.re et raffinerie
address = request.build_absolute_uri() address = request.build_absolute_uri()
host = address.partition('://')[2] host = address.partition('://')[2]
sub_addr = host.partition('.')[0] sub_addr = host.partition('.')[0]
@ -102,13 +100,14 @@ class index_scan(View):
{ {
'carte_resto': configuration.carte_restaurant, 'carte_resto': configuration.carte_restaurant,
'site_web': configuration.site_web, 'site_web': configuration.site_web,
'url_image_carte': carte.detail.img_url, 'image_carte': carte.detail.img,
'numero_carte': carte.number, 'numero_carte': carte.number,
'client_name': carte.detail.origine.name, 'client_name': carte.detail.origine.name,
'domain': sub_addr, 'domain': sub_addr,
'informations_carte': reponse_server_cashless.text, 'informations_carte': reponse_server_cashless.text,
'liste_assets': liste_assets, 'liste_assets': liste_assets,
'email': email, 'email': email,
'billetterie_bool': configuration.activer_billetterie,
} }
) )
@ -207,6 +206,7 @@ class index_scan(View):
def postPaimentRecharge(paiementStripe: Paiement_stripe, request): def postPaimentRecharge(paiementStripe: Paiement_stripe, request):
absolute_domain = request.build_absolute_uri().partition('/stripe/return')[0]
if paiementStripe.status == Paiement_stripe.PAID: if paiementStripe.status == Paiement_stripe.PAID:
metadata_db_json = paiementStripe.metadata_stripe metadata_db_json = paiementStripe.metadata_stripe
@ -244,12 +244,10 @@ def postPaimentRecharge(paiementStripe: Paiement_stripe, request):
paiementStripe.status = Paiement_stripe.VALID paiementStripe.status = Paiement_stripe.VALID
paiementStripe.save() paiementStripe.save()
absolute_domain = request.build_absolute_uri().partition('/stripe/return')[0] return HttpResponseRedirect(f'{absolute_domain}/qr/{uuid_carte}#success')
return HttpResponseRedirect(f'{absolute_domain}/qr/{uuid_carte}#historique')
elif paiementStripe.status == Paiement_stripe.VALID: elif paiementStripe.status == Paiement_stripe.VALID:
# Le paiement a bien été accepté par le passé et envoyé au serveur cashless. # Le paiement a bien été accepté par le passé et envoyé au serveur cashless.
return HttpResponse( return HttpResponseRedirect(f'{absolute_domain}/qr/{uuid_carte}#historique')
f"<center><h1>Le paiement a déja été validé. Vous avez bien rechargé votre carte !</h1></center>")
return HttpResponse("<center><h1>Paiement non valide. Contactez un responsable.<h1></center>") return HttpResponseRedirect(f'{absolute_domain}/qr/{uuid_carte}#error')