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', {
'fields': (
'activer_billetterie',
'jauge_max',
'option_generale_radio',
'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_mode_test = models.BooleanField(default=True)
activer_billetterie = models.BooleanField(default=True)
jauge_max = models.PositiveSmallIntegerField(default=50)
option_generale_radio = models.ManyToManyField(OptionGenerale,

View File

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

View File

@ -22,9 +22,9 @@
<!-- Header -->
<header id="header">
<div class="logo">
<span class="icon fa-gem"></span>
</div>
{# <div class="logo">#}
{# <span class="icon fa-gem"></span>#}
{# </div>#}
<div class="content">
<div class="inner">
<h1>Carte Cashless</h1>
@ -39,8 +39,12 @@
<li><a href="#recharger">Recharger</a></li>
<li><a href="#historique">Historique</a></li>
{% if carte_resto %}
<li><a href="{{ carte_resto }}">Restaurant</a></li>
<li><a href="/media/{{ carte_resto }}">Restaurant</a></li>
{% endif %}
{% if billetterie_bool %}
<li><a href="/">Billetterie</a></li>
{% endif %}
{% if site_web %}
<li><a href="{{ site_web }}">Site web</a></li>
{% endif %}
@ -56,7 +60,7 @@
<!-- Intro -->
<article id="recharger">
<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="#">
{% csrf_token %}
<div class="fields">
@ -69,7 +73,6 @@
{% endif %}
</div>
<div class="field">
<label for="montant_recharge">Somme à recharger (€)</label>
<input id="montant_recharge" type="number" step="any" name="montant_recharge" required="True"/>
@ -98,7 +101,6 @@
<article id="success">
<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>
<div class="table-wrapper">
<table>
@ -121,6 +123,13 @@
</ul>
</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 -->
<article id="external">

View File

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