From 70a57bf02d9a22da36a40413a90853abb9ba0d1b Mon Sep 17 00:00:00 2001 From: Ehouarn Date: Thu, 29 May 2025 20:16:43 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20d'un=20champ=20club=20au=20mod=C3=A8le?= =?UTF-8?q?=20Bus=20pour=20faciliter=20la=20gestion=20des=20bus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/permission/fixtures/initial.json | 320 ++++++++++++++++++++++++- apps/wei/migrations/0012_bus_club.py | 20 ++ apps/wei/models.py | 9 + apps/wei/templates/wei/bus_detail.html | 4 + 4 files changed, 350 insertions(+), 3 deletions(-) create mode 100644 apps/wei/migrations/0012_bus_club.py diff --git a/apps/permission/fixtures/initial.json b/apps/permission/fixtures/initial.json index 5ce57def..08f88f2b 100644 --- a/apps/permission/fixtures/initial.json +++ b/apps/permission/fixtures/initial.json @@ -4046,6 +4046,294 @@ "description": "Voir toutes les équipes WEI" } }, + { + "model": "permission.permission", + "pk": 274, + "fields": { + "model": [ + "member", + "club" + ], + "query": "{\"bus__wei\": [\"club\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les informations de clubs des bus" + } + }, + { + "model": "permission.permission", + "pk": 275, + "fields": { + "model": [ + "member", + "club" + ], + "query": "{\"bus__wei\": [\"club\"]}", + "type": "change", + "mask": 3, + "field": "", + "permanent": false, + "description": "Modifier les clubs des bus" + } + }, + { + "model": "permission.permission", + "pk": 276, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus__wei\": [\"club\"]}", + "type": "add", + "mask": 3, + "field": "", + "permanent": false, + "description": "Ajouter un⋅e membre à un club de bus" + } + }, + { + "model": "permission.permission", + "pk": 277, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus__wei\": [\"club\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les adhérents d'un club de bus" + } + }, + { + "model": "permission.permission", + "pk": 278, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus__wei\": [\"club\"]}", + "type": "change", + "mask": 3, + "field": "", + "permanent": false, + "description": "Modifier l'adhésion d'un club de bus" + } + }, + { + "model": "permission.permission", + "pk": 279, + "fields": { + "model": [ + "note", + "note" + ], + "query": "{\"noteclub__club__bus__wei\": [\"club\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir la note d'un club de bus" + } + }, + { + "model": "permission.permission", + "pk": 280, + "fields": { + "model": [ + "note", + "transaction" + ], + "query": "[\"OR\", {\"source__noteclub__club__bus__wei\": [\"club\"]}, {\"destination__noteclub__club__bus__wei\": [\"club\"]}]", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les transactions d'un club de bus" + } + }, + { + "model": "permission.permission", + "pk": 281, + "fields": { + "model": [ + "note", + "transaction" + ], + "query": "[\"AND\", [\"OR\", {\"source__noteclub__club__bus__wei\": [\"club\"]}, {\"destination__noteclub__club__bus__wei\": [\"club\"]}], [\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 2000]}}, {\"valid\": false}]]", + "type": "add", + "mask": 3, + "field": "", + "permanent": false, + "description": "Créer une transaction d'un club de bus tant que la source reste au dessus de -20 €" + } + }, + { + "model": "permission.permission", + "pk": 282, + "fields": { + "model": [ + "note", + "transaction" + ], + "query": "[\"AND\", [\"OR\", {\"source__noteclub__club\": [\"club\"]}, {\"destination__noteclub__club\": [\"club\"]}], [\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 2000]}}, {\"valid\": false}]]", + "type": "add", + "mask": 3, + "field": "", + "permanent": false, + "description": "Créer une transaction d'un WEI tant que la source reste au dessus de -20 €" + } + }, + { + "model": "permission.permission", + "pk": 283, + "fields": { + "model": [ + "auth", + "user" + ], + "query": "{\"memberships__club__name\": \"Kfet\", \"memberships__roles__name\": \"Adh\u00e9rent\u22c5e Kfet\", \"memberships__date_start__lte\": [\"today\"], \"memberships__date_end__gte\": [\"today\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir n'importe quel⋅le utilisateur⋅rice qui est adhérent⋅e Kfet" + } + }, + { + "model": "permission.permission", + "pk": 284, + "fields": { + "model": [ + "member", + "club" + ], + "query": "{\"bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les informations de club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 285, + "fields": { + "model": [ + "member", + "club" + ], + "query": "{\"bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "change", + "mask": 3, + "field": "", + "permanent": false, + "description": "Modifier le club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 286, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "add", + "mask": 3, + "field": "", + "permanent": false, + "description": "Ajouter un⋅e membre au club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 287, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les adhérents du club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 288, + "fields": { + "model": [ + "member", + "membership" + ], + "query": "{\"club__bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "change", + "mask": 3, + "field": "", + "permanent": false, + "description": "Modifier l'adhésion au club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 289, + "fields": { + "model": [ + "note", + "note" + ], + "query": "{\"noteclub__club__bus\": [\"membership\", \"weimembership\", \"bus\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir la note du club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 290, + "fields": { + "model": [ + "note", + "transaction" + ], + "query": "[\"OR\", {\"source__noteclub__club__bus\": [\"membership\", \"weimembership\", \"bus\"]}, {\"destination__noteclub__club__bus\": [\"membership\", \"weimembership\", \"bus\"]}]", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir les transactions du club de son bus" + } + }, + { + "model": "permission.permission", + "pk": 291, + "fields": { + "model": [ + "wei", + "bus" + ], + "query": "{\"pk\": [\"membership\", \"weimembership\", \"bus\", \"pk\"], \"wei__date_end__gte\": [\"today\"]}", + "type": "view", + "mask": 3, + "field": "", + "permanent": false, + "description": "Voir mon bus" + } + }, { "model": "permission.role", "pk": 1, @@ -4433,7 +4721,17 @@ 130, 271, 272, - 273 + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283 ] } }, @@ -4452,7 +4750,15 @@ 119, 120, 121, - 122 + 122, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 ] } }, @@ -4650,7 +4956,15 @@ 119, 120, 121, - 122 + 122, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 ] } }, diff --git a/apps/wei/migrations/0012_bus_club.py b/apps/wei/migrations/0012_bus_club.py new file mode 100644 index 00000000..80f2e14b --- /dev/null +++ b/apps/wei/migrations/0012_bus_club.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.21 on 2025-05-29 16:16 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('member', '0014_create_bda'), + ('wei', '0011_alter_weiclub_year'), + ] + + operations = [ + migrations.AddField( + model_name='bus', + name='club', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='bus', to='member.club', verbose_name='club'), + ), + ] diff --git a/apps/wei/models.py b/apps/wei/models.py index f4169316..475a3f0c 100644 --- a/apps/wei/models.py +++ b/apps/wei/models.py @@ -72,6 +72,15 @@ class Bus(models.Model): default=50, ) + club = models.OneToOneField( + Club, + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name="bus", + verbose_name=_("club"), + ) + description = models.TextField( blank=True, default="", diff --git a/apps/wei/templates/wei/bus_detail.html b/apps/wei/templates/wei/bus_detail.html index c8f3ce20..04ef5f9a 100644 --- a/apps/wei/templates/wei/bus_detail.html +++ b/apps/wei/templates/wei/bus_detail.html @@ -16,6 +16,10 @@ SPDX-License-Identifier: GPL-3.0-or-later