Skip to content

Commit 6baf6d5

Browse files
Merge pull request #39 from PnX-SI/develop
Develop > Master / 1.2.0
2 parents 479decc + fa252d8 commit 6baf6d5

File tree

11 files changed

+230
-137
lines changed

11 files changed

+230
-137
lines changed

.github/workflows/lint.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ jobs:
1818
- uses: actions/checkout@v3
1919
with:
2020
fetch-depth: 0
21+
- uses: actions/setup-node@v3
2122
- name: Frontend code formatting check (Prettier)
22-
uses: creyD/[email protected]
23-
with:
24-
dry: True
25-
prettier_options: --config frontend/.prettierrc --ignore-path frontend/.prettierignore --check frontend/**/*.ts
23+
run: npm install prettier && npm run format:check
24+
working-directory: ./frontend

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
11
# Changelog
22

3+
## 1.2.0 - La Brenne (2023-10-17)
4+
5+
Nécessite la version 2.13.3 (ou plus) de GeoNature.
6+
7+
**🚀 Nouveautés**
8+
9+
- Compatibilité avec GeoNature 2.13 et la refonte des permissions, en définissant les permissions disponibles du module (#22)
10+
11+
**🐛 Corrections**
12+
13+
- Correction de l'intersection des géométries (#30, by @cen-cgeier)
14+
- Correction de la Github action de contrôle de formatage du code frontend (#33)
15+
- Suppression des derniers restes de l'ancienne méthode d'accès à la configuration de GeoNature (`appConfig`)
16+
317
## 1.1.1 (2023-06-06)
418

19+
**🐛 Corrections**
20+
521
- Remplacement de la vue matérialisée `pr_zh.atlas_app` par une vue (utilisée par la route `/api/zones_humides/pbf/complete`) pour corriger et simplifier la mise à jour des données de l'[atlas des zones humides](https://github.com/PnX-SI/GeoNature-ZH-atlas) (#24)
622

723
## 1.1.0 - Taillefer (2023-06-02)

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Pour que la fonctionnalité d'export de PDF, fonctionne il est nécessaire d'ins
1515

1616
Cela est dû à la version de la lirairie Python `weasyprint` qui requiert ce paquet. Cela sera résolu quand cette librairie sera mise à jour car, dans les dernières versions, cette dépendance n'est plus requise.
1717

18-
Ne pas oublier de redémarrer GeoNature :
18+
Ne pas oublier de redémarrer GeoNature après cette installation :
1919
`sudo systemctl restart geonature`
2020

2121
## **Installation**
@@ -44,6 +44,8 @@ du fichier `zones_humides_config.toml.example` et en surcouchant uniquement les
4444

4545
Voir [ici](/doc/admin.md) la documentation des paramètres de configuration du module pour les administrateurs.
4646

47+
Il vous faut désormais attribuer des permissions aux groupes ou utilisateurs que vous souhaitez, pour qu'ils puissent accéder et utiliser le module (voir https://docs.geonature.fr/admin-manual.html#gestion-des-droits). Si besoin une commande permet d'attribuer automatiquement toutes les permissions dans tous les modules à un groupe ou utilisateur administrateur.
48+
4749
## **Mise à jour**
4850

4951
- Téléchargez la nouvelle version du module

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.1
1+
1.2.0

backend/gn_module_zh/geometry.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ def set_geom(geometry, id_zh=None):
4040
)
4141
).scalar():
4242
raise BadRequest("La ZH est entièrement dans une ZH existante")
43-
intersect = DB.session.query(func.ST_Difference(polygon_geom, zh_geom))
44-
polygon = DB.session.query(func.ST_GeomFromText(to_shape(intersect.scalar()))).one()[0]
43+
polygon = DB.session.query(func.ST_Difference(polygon_geom, zh_geom)).scalar()
4544
return {"polygon": polygon, "is_intersected": is_intersected}
4645

4746

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
"""declare permisision
2+
3+
Revision ID: 510677623a13
4+
Revises: 22b14fc3abe0
5+
Create Date: 2023-05-25 15:33:36.262722
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
11+
12+
# revision identifiers, used by Alembic.
13+
revision = "510677623a13"
14+
down_revision = "643743e807f6"
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
op.execute(
21+
"""
22+
INSERT INTO
23+
gn_permissions.t_permissions_available (
24+
id_module,
25+
id_object,
26+
id_action,
27+
label,
28+
scope_filter
29+
)
30+
SELECT
31+
m.id_module,
32+
o.id_object,
33+
a.id_action,
34+
v.label,
35+
v.scope_filter
36+
FROM
37+
(
38+
VALUES
39+
('ZONES_HUMIDES', 'ALL', 'C', True, 'Créer des ZH')
40+
,('ZONES_HUMIDES', 'ALL', 'R', True, 'Voir les ZH')
41+
,('ZONES_HUMIDES', 'ALL', 'U', True, 'Modifier les ZH')
42+
,('ZONES_HUMIDES', 'ALL', 'D', True, 'Supprimer des ZH')
43+
) AS v (module_code, object_code, action_code, scope_filter, label)
44+
JOIN
45+
gn_commons.t_modules m ON m.module_code = v.module_code
46+
JOIN
47+
gn_permissions.t_objects o ON o.code_object = v.object_code
48+
JOIN
49+
gn_permissions.bib_actions a ON a.code_action = v.action_code
50+
"""
51+
)
52+
op.execute(
53+
"""
54+
WITH bad_permissions AS (
55+
SELECT
56+
p.id_permission
57+
FROM
58+
gn_permissions.t_permissions p
59+
JOIN gn_commons.t_modules m
60+
USING (id_module)
61+
WHERE
62+
m.module_code = 'ZONES_HUMIDES'
63+
EXCEPT
64+
SELECT
65+
p.id_permission
66+
FROM
67+
gn_permissions.t_permissions p
68+
JOIN gn_permissions.t_permissions_available pa ON
69+
(p.id_module = pa.id_module
70+
AND p.id_object = pa.id_object
71+
AND p.id_action = pa.id_action)
72+
)
73+
DELETE
74+
FROM
75+
gn_permissions.t_permissions p
76+
USING bad_permissions bp
77+
WHERE
78+
bp.id_permission = p.id_permission;
79+
"""
80+
)
81+
82+
83+
def downgrade():
84+
op.execute(
85+
"""
86+
DELETE FROM
87+
gn_permissions.t_permissions_available pa
88+
USING
89+
gn_commons.t_modules m
90+
WHERE
91+
pa.id_module = m.id_module
92+
AND
93+
module_code = 'ZONES_HUMIDES'
94+
"""
95+
)

0 commit comments

Comments
 (0)