Merge branch 'main' into nonfree_main
# Conflicts: # Docker/Development/docker-compose.yml # Docker/Dockerfile_Node/dockerfile # Docker/compose/docker-compose-base.yml
This commit is contained in:
commit
fbcd3c2562
|
|
@ -185,6 +185,7 @@ class ReservationValidator(serializers.Serializer):
|
|||
user_paiement.client_achat.add(connection.tenant)
|
||||
|
||||
user_paiement.save()
|
||||
self.user_commande = user_paiement
|
||||
return user_paiement.email
|
||||
|
||||
def validate_prices(self, value):
|
||||
|
|
|
|||
|
|
@ -139,10 +139,15 @@ class ReservationViewset(viewsets.ViewSet):
|
|||
return Response(validator.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
def get_permissions(self):
|
||||
permission_classes = [TenantAdminPermission]
|
||||
if self.action in ['list']:
|
||||
permission_classes = [TenantAdminPermission]
|
||||
else:
|
||||
permission_classes = [permissions.AllowAny]
|
||||
return [permission() for permission in permission_classes]
|
||||
|
||||
|
||||
|
||||
|
||||
class MembershipViewset(viewsets.ViewSet):
|
||||
permission_classes = [AllowAny]
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
# Generated by Django 2.2 on 2021-12-21 13:23
|
||||
|
||||
from django.db import migrations, models
|
||||
import stdimage.models
|
||||
import stdimage.validators
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('BaseBillet', '0021_auto_20211206_1810'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='configuration',
|
||||
name='template_billetterie',
|
||||
field=models.CharField(blank=True, choices=[('html5up-massively', 'html5up-massively'), ('arnaud_mvc', 'arnaud_mvc'), ('original_arnaud', 'original_arnaud')], max_length=250, null=True, verbose_name='Template Billetterie'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='configuration',
|
||||
name='template_meta',
|
||||
field=models.CharField(blank=True, choices=[('html5up-story', 'html5up-story'), ('blk-mit', 'blk-mit')], max_length=250, null=True, verbose_name='Template Meta'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='product',
|
||||
name='img',
|
||||
field=stdimage.models.StdImageField(blank=True, null=True, upload_to='images/', validators=[stdimage.validators.MaxSizeValidator(1920, 1920)], verbose_name='Image du produit'),
|
||||
),
|
||||
]
|
||||
|
|
@ -158,8 +158,18 @@ class Configuration(SingletonModel):
|
|||
verbose_name=_("Clé d'API du serveur cashless")
|
||||
)
|
||||
|
||||
ARNAUD, MASSIVELY, BLK_MVC, BLK_VUE = 'arnaud_mvc', 'html5up-masseively', 'blk_mvc', 'blk_vue'
|
||||
CHOICE_TEMPLATE = [
|
||||
(ARNAUD, _('arnaud_mvc')),
|
||||
(MASSIVELY, _("html5up-masseively")),
|
||||
(BLK_MVC, _("blk_mvc")),
|
||||
(BLK_VUE, _("blk_vue")),
|
||||
]
|
||||
# choices=[(folder, folder) for folder in os.listdir(f"{settings.BASE_DIR}/BaseBillet/templates")],
|
||||
|
||||
template_billetterie = models.CharField(
|
||||
choices=[(folder, folder) for folder in os.listdir(f"{settings.BASE_DIR}/BaseBillet/templates")],
|
||||
choices=CHOICE_TEMPLATE,
|
||||
default=ARNAUD,
|
||||
max_length=250,
|
||||
blank=True,
|
||||
null=True,
|
||||
|
|
@ -167,7 +177,8 @@ class Configuration(SingletonModel):
|
|||
)
|
||||
|
||||
template_meta = models.CharField(
|
||||
choices=[(folder, folder) for folder in os.listdir(f"{settings.BASE_DIR}/MetaBillet/templates")],
|
||||
choices=CHOICE_TEMPLATE,
|
||||
default=MASSIVELY,
|
||||
max_length=250,
|
||||
blank=True,
|
||||
null=True,
|
||||
|
|
|
|||
|
|
@ -24,14 +24,10 @@ class index(APIView):
|
|||
if not configuration.activer_billetterie:
|
||||
return HttpResponseRedirect('https://www.tibillet.re')
|
||||
|
||||
first_event = None
|
||||
events = Event.objects.filter(datetime__gt=datetime.now())
|
||||
if len(events) > 0:
|
||||
first_event = events[0]
|
||||
|
||||
context = {
|
||||
'configuration': configuration,
|
||||
'events': events,
|
||||
'events': Event.objects.filter(datetime__gt=datetime.now()),
|
||||
'categorie_billet': Product.BILLET,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,19 +49,6 @@ services:
|
|||
- frontend
|
||||
- backend-billeterie
|
||||
|
||||
billetterie_front_node_dev:
|
||||
extends:
|
||||
file: ../compose/docker-compose-base.yml
|
||||
service: billetterie_front_node
|
||||
build:
|
||||
context: ../Dockerfile_Node
|
||||
target: 'develop-stage'
|
||||
ports:
|
||||
- 8080:8080
|
||||
command: /bin/sh -c "yarn serve"
|
||||
# command: "sleep 30d"
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
# billetterie_nginx_dev:
|
||||
# extends:
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
# develop stage
|
||||
FROM node:lts-bullseye as develop-stage
|
||||
RUN apt update && apt upgrade -y
|
||||
RUN apt install python -y
|
||||
COPY package*.json ./
|
||||
RUN yarn install
|
||||
COPY . .
|
||||
|
||||
# build stage
|
||||
FROM develop-stage as build-stage
|
||||
RUN yarn build
|
||||
|
||||
# production stage
|
||||
FROM nginx:stable-alpine as production-stage
|
||||
COPY --from=build-stage /app/dist /usr/share/nginx/html
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
|
|
@ -43,16 +43,6 @@ services:
|
|||
working_dir: /DjangoFiles
|
||||
# command: "bash /DjangoFiles/launch.sh"
|
||||
|
||||
|
||||
billetterie_front_node:
|
||||
container_name: billetterie_front_node
|
||||
build: ../Dockerfile_Node
|
||||
restart: always
|
||||
volumes:
|
||||
- "../../DjangoFiles:/DjangoFiles"
|
||||
- "../../Docker/bashrc:/root/.bashrc"
|
||||
working_dir: /DjangoFiles/BaseBillet/static/blk-vue/blk-vue-cli-app
|
||||
|
||||
billetterie_nginx:
|
||||
container_name: billetterie_nginx
|
||||
image: nginx
|
||||
|
|
|
|||
12
README.md
12
README.md
|
|
@ -17,17 +17,13 @@ TiBillet est en période de BETA et en expérimentation sur plusieurs lieux sur
|
|||
Bisik, à la Raffinerie, à Vavang'Art et au Manapany Festival !
|
||||
|
||||
Le présent dépot ne contient pas encore toutes les sources du projet. La billetterie est en cours de refactoring et les
|
||||
sources sont publiées petit à petit sous licence aGPLv3. Mise en production totale prévue fin 2021.
|
||||
sources sont publiées petit à petit sous licence libre.
|
||||
|
||||
Le Cashless est en cours d'audit de sécurité et sera publié sous licence de type BSL : open-source et libre en dehors de
|
||||
toute utilisation commerciale type SaaS, avec mise en licence aGPLv3 progressive au fil des financements et des
|
||||
rentabilisations du développement.
|
||||
Le Cashless est en cours d'audit de sécurité et sera publié sous licence libre dès que possible.
|
||||
|
||||
Inspirée par les expériences de Sentry, ElasticSearch, MongoDb, nous souhaitons que TiBillet soit libre d'utilisation
|
||||
pour toutes structures associatives ou entreprises coopératives à but non lucratif tout en encourageant les acteurs
|
||||
commerciaux à participer activement au développement.
|
||||
Pour l'expérimenter chez vous, n'hésitez pas à nous contacter :)
|
||||
|
||||
TiBillet est construit par l'association des 3Peaks de Manapany. Créateurs du Manapany Surf Festival !
|
||||
TiBillet est construit par l'association des 3Peaks de Manapany : Créateurs du Manapany Surf Festival !
|
||||
|
||||
## Installation :
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue