1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-08-05 22:49:34 +02:00

Compare commits

..

7 Commits

Author SHA1 Message Date
thomasl
7966d6f397 Update file initial.json 2025-03-17 13:15:07 +01:00
thomasl
562dcfb908 Update file initial.json 2025-03-11 19:34:56 +01:00
thomasl
12ef258ff0 Update file initial.json 2025-03-11 19:27:02 +01:00
thomasl
2ae32ee3b6 Update file initial.json 2025-03-11 19:26:49 +01:00
thomasl
ec1bd45481 Update file initial.json 2025-03-11 19:14:09 +01:00
quark
370a9a069e Merge branch 'bde_color' into 'main'
Rave Part[list] colors

See merge request bde/nk20!295
2025-03-11 10:31:02 +01:00
quark
7f0a3784e9 Rave Part[list] colors 2025-03-11 10:15:11 +01:00
4 changed files with 135 additions and 51 deletions

View File

@@ -58,13 +58,7 @@ Bien que cela permette de créer une instance sur toutes les distributions,
(env)$ ./manage.py createsuperuser # Création d'un⋅e utilisateur⋅rice initial (env)$ ./manage.py createsuperuser # Création d'un⋅e utilisateur⋅rice initial
``` ```
6. (Optionnel) **Création d'une clé privée OpenID Connect** 6. Enjoy :
Pour activer le support d'OpenID Connect, il faut générer une clé privée, par
exemple avec openssl (`openssl genrsa -out oidc.key 4096`), et renseigner son
emplacement dans `OIDC_RSA_PRIVATE_KEY` (par défaut `/var/secrets/oidc.key`).
7. Enjoy :
```bash ```bash
(env)$ ./manage.py runserver 0.0.0.0:8000 (env)$ ./manage.py runserver 0.0.0.0:8000
@@ -234,12 +228,6 @@ Sinon vous pouvez suivre les étapes décrites ci-dessous.
(env)$ ./manage.py check # pas de bêtise qui traine (env)$ ./manage.py check # pas de bêtise qui traine
(env)$ ./manage.py migrate (env)$ ./manage.py migrate
7. **Création d'une clé privée OpenID Connect**
Pour activer le support d'OpenID Connect, il faut générer une clé privée, par
exemple avec openssl (`openssl genrsa -out oidc.key 4096`), et renseigner son
emplacement dans `OIDC_RSA_PRIVATE_KEY` (par défaut `/var/secrets/oidc.key`).
7. *Enjoy \o/* 7. *Enjoy \o/*
### Installation avec Docker ### Installation avec Docker

View File

@@ -324,7 +324,7 @@
"mask": 2, "mask": 2,
"field": "", "field": "",
"permanent": false, "permanent": false,
"description": "Créer une transaction de ou vers la note d'un club" "description": "Créer une transaction de ou vers la note d'un club tant que la source reste au dessus de -20 €"
} }
}, },
{ {
@@ -3815,7 +3815,7 @@
"mask": 2, "mask": 2,
"field": "", "field": "",
"permanent": false, "permanent": false,
"description": "Créer une transaction vers la note d'un club" "description": "Créer une transaction vers la note d'un club tant que la source reste au dessus de -20 €"
} }
}, },
{ {
@@ -4186,6 +4186,86 @@
"description": "Voir la note d'un club enfant" "description": "Voir la note d'un club enfant"
} }
}, },
{
"model": "permission.permission",
"pk": 266,
"fields": {
"model": [
"note",
"transaction"
],
"query": "[\"OR\", {\"source_alias\": \"Carte bancaire\"}, {\"source_alias\": \"Espèces\"}, {\"source_alias\": \"Chèque\"}, {\"source_alias\": \"Virement bancaire\"}]",
"type": "view",
"mask": 2,
"field": "",
"permanent": false,
"description": "Voir les transactions de rechargement"
}
},
{
"model": "permission.permission",
"pk": 267,
"fields": {
"model": [
"note",
"transaction"
],
"query": "[\"OR\", {\"source_alias\": \"Carte bancaire\"}, {\"source_alias\": \"Espèces\"}, {\"source_alias\": \"Chèque\"}, {\"source_alias\": \"Virement bancaire\"}]",
"type": "change",
"mask": 2,
"field": "valid",
"permanent": false,
"description": "Mettre à jour le statut de validation d'une transaction de rechargement"
}
},
{
"model": "permission.permission",
"pk": 268,
"fields": {
"model": [
"note",
"transaction"
],
"query": "[\"OR\", {\"source_alias\": \"Carte bancaire\"}, {\"source_alias\": \"Espèces\"}, {\"source_alias\": \"Chèque\"}, {\"source_alias\": \"Virement bancaire\"}]",
"type": "change",
"mask": 2,
"field": "invalidity_reason",
"permanent": false,
"description": "Modifier la raison d'invalidité d'une transaction de rechargement"
}
},
{
"model": "permission.permission",
"pk": 269,
"fields": {
"model": [
"note",
"transaction"
],
"query": "[\"OR\", {\"source_alias\": \"Carte bancaire\"}, {\"source_alias\": \"Espèces\"}, {\"source_alias\": \"Chèque\"}, {\"source_alias\": \"Virement bancaire\"}]",
"type": "add",
"mask": 2,
"field": "",
"permanent": false,
"description": "Créer une transaction de rechargement"
}
},
{
"model": "permission.permission",
"pk": 270,
"fields": {
"model": [
"note",
"transaction"
],
"query": "[\"AND\", [\"OR\", {\"source\": [\"club\", \"note\"]}, {\"destination\": [\"club\", \"note\"]}], [\"OR\", {\"source__balance__gte\": {\"F\": [\"SUB\", [\"MUL\", [\"F\", \"amount\"], [\"F\", \"quantity\"]], 5000]}}, {\"valid\": false}]]",
"type": "add",
"mask": 2,
"field": "",
"permanent": false,
"description": "Créer une transaction de ou vers la note d'un club tant que la source reste au dessus de -50 €"
}
},
{ {
"model": "permission.role", "model": "permission.role",
"pk": 1, "pk": 1,

View File

@@ -268,10 +268,6 @@ OAUTH2_PROVIDER = {
'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator", 'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator",
'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14), 'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14),
'PKCE_REQUIRED': False, # PKCE (fix a breaking change of django-oauth-toolkit 2.0.0) 'PKCE_REQUIRED': False, # PKCE (fix a breaking change of django-oauth-toolkit 2.0.0)
'OIDC_ENABLED': True,
'OIDC_RSA_PRIVATE_KEY':
os.getenv('OIDC_RSA_PRIVATE_KEY', '/var/secrets/oidc.key'),
'SCOPES': { 'openid': "OpenID Connect scope" },
} }
# Take control on how widget templates are sourced # Take control on how widget templates are sourced

View File

@@ -61,6 +61,11 @@ mark {
/* Make navbar more readable */ /* Make navbar more readable */
.navbar-dark .navbar-nav .nav-link { .navbar-dark .navbar-nav .nav-link {
color: rgba(255, 255, 255, .75); color: rgba(255, 255, 255, .75);
text-shadow: 2px 2px 15px #ffeb40;
}
.navbar-brand {
text-shadow: 2px 2px 15px #ffeb40;
} }
/* Last BDE colors */ /* Last BDE colors */
@@ -68,7 +73,8 @@ mark {
/* background-color: rgb(18, 67, 4) !important; */ /* background-color: rgb(18, 67, 4) !important; */
/* MODE VIEUXCON=ON */ /* MODE VIEUXCON=ON */
/* background-color: rgb(166, 0, 2) !important; */ /* background-color: rgb(166, 0, 2) !important; */
background-color: rgb(100, 30, 100) !important; background-color: rgb(0, 0, 0);
background-image: url('/static/wrapped/img/1/bg.png');
} }
html { html {
@@ -83,81 +89,95 @@ body {
.btn-outline-primary:hover, .btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active { .btn-outline-primary:not(:disabled):not(.disabled):active {
color: rgb(240, 200, 240); color: rgb(0, 0, 0);
background-color: rgb(30, 120, 150); background-color: rgb(255, 0, 101);
border-color: rgb(190, 150, 190); border-color: rgb(255, 203, 32);
} }
.btn-outline-primary { .btn-outline-primary {
color: #a2a; color: #000;
background-color: #6bc; background-color: #ffcb20;
border-color: #719; border-color: #000;
} }
.turbolinks-progress-bar { .turbolinks-progress-bar {
background-color: #12342E; background-color: #ffffff;
} }
.btn-primary:hover, .btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active { .btn-primary:not(:disabled):not(.disabled):active {
color: rgb(150, 200, 240); color: rgb(0, 0, 0);
background-color: rgb(50, 100, 140); background-color: rgb(255, 0, 101);
border-color: rgb(0, 0, 0); border-color: rgb(255, 203, 32);
} }
.btn-primary { .btn-primary {
color: #eae; color: #ffcb20;
background-color: #616; background-color: #000000;
border-color: #000000; border-color: #ffcd20;
} }
.border-primary { .border-primary {
border-color: rgb(222, 180, 222) !important; border-color: rgb(255, 255, 255) !important;
} }
.btn-secondary { .btn-secondary {
color: #eae; color: #ff0065;
background-color: #616; background-color: #000000;
border-color: #000000; border-color: #ff0065;
} }
.btn-secondary:hover, .btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active { .btn-secondary:not(:disabled):not(.disabled):active {
color: rgb(150, 200, 240); color: rgb(0, 0, 0);
background-color: rgb(50, 100, 140); background-color: rgb(255, 203, 32);
border-color: rgb(0, 0, 0); border-color: rgb(255, 0, 101);
} }
.btn-outline-dark:nth-child(even) {
color: rgba(255, 203, 32, 75%);
}
.btn-outline-dark:nth-child(odd) {
color: rgba(255, 0, 101, 75%);
}
.btn-outline-dark { .btn-outline-dark {
color: #000000; background-color: #222;
border-color: #000000; border-color: #61605b;
} }
.btn-outline-dark:hover, .btn-outline-dark:hover:nth-child(even),
.btn-outline-dark:not(:disabled):not(.disabled).active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.btn-outline-dark:not(:disabled):not(.disabled):active { .btn-outline-dark:not(:disabled):not(.disabled):active {
color: rgb(50, 100, 160); color: rgb(0, 0, 0);
background-color: rgb(240, 150, 240); background-color: rgb(255, 203, 32);
border-color: rgb(50, 100, 160); border-color: rgb(255, 0, 101);
} }
.btn-outline-dark:hover:nth-child(odd),
.btn-outline-dark:not(:disabled):not(.disabled).active,
.btn-outline-dark:not(:disabled):not(.disabled):active {
color: rgb(0, 0, 0);
background-color: rgb(255, 203, 32);
border-color: rgb(255, 0, 101);
}
a { a {
color: rgb(0, 150, 150); color: rgb(255, 0, 101);
} }
a:hover { a:hover {
color: rgb(200, 0, 200); color: rgb(255, 203, 32);
} }
.form-control:focus { .form-control:focus {
box-shadow: 0 0 0 0.25rem rgb(0 150 150 / 50%); box-shadow: 0 0 0 0.25rem rgb(255 0 101 / 50%);
border-color: rgb(0, 200, 200); border-color: rgb(255, 0, 101);
} }
.btn-outline-primary.focus { .btn-outline-primary.focus {
box-shadow: 0 0 0 0.25rem rgb(0 150 150 / 22%); box-shadow: 0 0 0 0.25rem rgb(255 203 32 / 22%);
} }