From 4d04ec864ecf9776a0cfba83d29777e1a1fcb05b Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Tue, 21 Dec 2021 17:24:16 +0400 Subject: [PATCH 1/6] migration --- .../migrations/0022_auto_20211221_1723.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 DjangoFiles/BaseBillet/migrations/0022_auto_20211221_1723.py diff --git a/DjangoFiles/BaseBillet/migrations/0022_auto_20211221_1723.py b/DjangoFiles/BaseBillet/migrations/0022_auto_20211221_1723.py new file mode 100644 index 0000000..4a7988d --- /dev/null +++ b/DjangoFiles/BaseBillet/migrations/0022_auto_20211221_1723.py @@ -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'), + ), + ] From 219363acbb46eb7456f88ba9df9e23bc02b6675c Mon Sep 17 00:00:00 2001 From: Jonas Legion Date: Wed, 22 Dec 2021 10:45:51 +0400 Subject: [PATCH 2/6] choices templates --- DjangoFiles/BaseBillet/models.py | 15 +++++++++++++-- DjangoFiles/BaseBillet/views.py | 6 +----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/DjangoFiles/BaseBillet/models.py b/DjangoFiles/BaseBillet/models.py index 4912813..336cd29 100644 --- a/DjangoFiles/BaseBillet/models.py +++ b/DjangoFiles/BaseBillet/models.py @@ -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, diff --git a/DjangoFiles/BaseBillet/views.py b/DjangoFiles/BaseBillet/views.py index 6f549a4..4cba032 100644 --- a/DjangoFiles/BaseBillet/views.py +++ b/DjangoFiles/BaseBillet/views.py @@ -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, } From 21e78adfd7f42c5e024c5d411ea1320355a956b2 Mon Sep 17 00:00:00 2001 From: Jonas 12t Date: Tue, 11 Jan 2022 11:25:38 +0400 Subject: [PATCH 3/6] No node. Only backend on this repo --- Docker/Development/docker-compose.yml | 9 --------- Docker/Dockerfile_Node/dockerfile | 23 ----------------------- Docker/compose/docker-compose-base.yml | 9 --------- 3 files changed, 41 deletions(-) delete mode 100644 Docker/Dockerfile_Node/dockerfile diff --git a/Docker/Development/docker-compose.yml b/Docker/Development/docker-compose.yml index c4f30d3..6680889 100644 --- a/Docker/Development/docker-compose.yml +++ b/Docker/Development/docker-compose.yml @@ -49,15 +49,6 @@ services: - frontend - backend-billeterie - billetterie_front_node_dev: - extends: - file: ../compose/docker-compose-base.yml - service: billetterie_front_node - ports: - - 8080:8080 - command: "sleep 30d" - networks: - - frontend # billetterie_nginx_dev: # extends: diff --git a/Docker/Dockerfile_Node/dockerfile b/Docker/Dockerfile_Node/dockerfile deleted file mode 100644 index 4195a0e..0000000 --- a/Docker/Dockerfile_Node/dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM node:lts-alpine - -RUN npm install -g @vue/cli - -# EXPOSE 8080 -# CMD [ "http-server", "dist" ] - -# PROD : -# build stage - -# FROM node:lts-alpine as build-stage -# WORKDIR /app -# COPY package*.json ./ -# RUN npm install -# COPY . . -# RUN npm run 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;"] \ No newline at end of file diff --git a/Docker/compose/docker-compose-base.yml b/Docker/compose/docker-compose-base.yml index db9e27d..6e431ec 100644 --- a/Docker/compose/docker-compose-base.yml +++ b/Docker/compose/docker-compose-base.yml @@ -43,15 +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 - billetterie_nginx: container_name: billetterie_nginx image: nginx From 53c29b97c21d7177c587305ed6177a8f7256237b Mon Sep 17 00:00:00 2001 From: Jonas 12t Date: Thu, 13 Jan 2022 10:27:17 +0400 Subject: [PATCH 4/6] =?UTF-8?q?Readme=20plus=20g=C3=A9n=C3=A9ral=20:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 33cfa8f..1d7cbd6 100644 --- a/README.md +++ b/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 : From e645704084e483e943b78ec738a88e93461de1e1 Mon Sep 17 00:00:00 2001 From: Jonas 12t Date: Thu, 13 Jan 2022 10:57:17 +0400 Subject: [PATCH 5/6] =?UTF-8?q?list=20des=20reservation=20pour=20admin=20c?= =?UTF-8?q?r=C3=A9ation=20des=20reservation=20pour=20tout=20le=20monde?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DjangoFiles/ApiBillet/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/DjangoFiles/ApiBillet/views.py b/DjangoFiles/ApiBillet/views.py index f486f79..a5daf50 100644 --- a/DjangoFiles/ApiBillet/views.py +++ b/DjangoFiles/ApiBillet/views.py @@ -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] From 88d471ac87cfe6fce1aba697d5276d2daed03867 Mon Sep 17 00:00:00 2001 From: Jonas 12t Date: Thu, 13 Jan 2022 11:52:01 +0400 Subject: [PATCH 6/6] =?UTF-8?q?user=20cr=C3=A9=C3=A9=20dans=20reservation?= =?UTF-8?q?=20si=20n'existe=20pas.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DjangoFiles/ApiBillet/serializers.py | 1 + 1 file changed, 1 insertion(+) diff --git a/DjangoFiles/ApiBillet/serializers.py b/DjangoFiles/ApiBillet/serializers.py index f63d1fb..0716364 100644 --- a/DjangoFiles/ApiBillet/serializers.py +++ b/DjangoFiles/ApiBillet/serializers.py @@ -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):