Skip to content

Commit

Permalink
Merge pull request #64 from PnX-SI/develop
Browse files Browse the repository at this point in the history
Develop > Master / 1.4.0
  • Loading branch information
camillemonchicourt authored Aug 23, 2023
2 parents ccc8a7b + 33a10a0 commit 97ae2d3
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 8 deletions.
21 changes: 17 additions & 4 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
CHANGELOG
=========

1.4.0 (2023-08-23)
------------------

Nécessite la version 2.13.0 (ou plus) de GeoNature.

**🚀 Nouveautés**

* Compatibilité avec GeoNature 2.13.0 et la refonte des permissions, en définissant les permissions disponibles du module (#63)

**🐛 Corrections**

* Correction du changement d'année sur le rapport annuel (#61, par @hypsug0)

1.3.0 (2023-03-27)
------------------

Expand All @@ -10,17 +23,17 @@ Nécessite GeoNature version 2.12.0 (ou plus)
**🚀 Nouveautés**

* Compatibilité avec GeoNature 2.12 (Angular 15, configuration dynamique, configuration centralisée)
* Rafraichissement automatique des vue matérialisées via Celery Beat tous les jours à 2h.
* Rafraîchissement automatique des vues matérialisées via Celery Beat tous les jours à 2h.
La fréquence est modifiable avec le paramètre ``CRONTAB`` de la configuration du module.
* Refonte du graphique des cadres d'acquisition pour le rendre plus lisible (#16)
* Refonte du graphique des cadres d'acquisition pour le rendre plus lisible (#16)
* Mise à jour de Chart.js version 2 à 4
* Remplacement de noUiSlider par Material slider
* Factorisation et nettoyage général du code du module

**⚠️ Notes de version**

* Si vous aviez mis en place un cron système pour rafraichir les vues matérialisées (dans `/etc/cron/geonature` ou autre),
vous pouvez le supprimer car elles sont désormais rafraichies automatiquement avec Celery Beat.
* Si vous aviez mis en place un cron système pour rafraîchir les vues matérialisées (dans `/etc/cron/geonature` ou autre),
vous pouvez le supprimer car elles sont désormais rafraîchies automatiquement avec Celery Beat.

1.2.1 (2022-12-21)
------------------
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Installation
```
- Placez-vous dans le répertoire `backend` de GeoNature et lancez les commandes
```bash
source ~/geonature/venv/bin/activate
source ~/geonature/backend/venv/bin/activate
geonature install-gn-module ~/gn_module_dashboard DASHBOARD
```
- Vous pouvez sortir du venv
Expand All @@ -55,6 +55,8 @@ Installation
sudo systemctl restart geonature
```

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.

Configuration
-------------

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3.0
1.4.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
"""declare available permissions
Revision ID: cef2c2d66eb2
Revises: 488a2eeee4be
Create Date: 2023-06-08 16:46:03.951872
"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = "cef2c2d66eb2"
down_revision = "488a2eeee4be"
branch_labels = None
depends_on = ("f051b88a57fd",)


def upgrade():
op.execute(
"""
INSERT INTO
gn_permissions.t_permissions_available (
id_module,
id_object,
id_action,
label,
scope_filter
)
SELECT
m.id_module,
o.id_object,
a.id_action,
v.label,
v.scope_filter
FROM
(
VALUES
('DASHBOARD', 'ALL', 'R', False, 'Consulter le dashboard')
) AS v (module_code, object_code, action_code, scope_filter, label)
JOIN
gn_commons.t_modules m ON m.module_code = v.module_code
JOIN
gn_permissions.t_objects o ON o.code_object = v.object_code
JOIN
gn_permissions.bib_actions a ON a.code_action = v.action_code
"""
)
op.execute(
"""
WITH bad_permissions AS (
SELECT
p.id_permission
FROM
gn_permissions.t_permissions p
JOIN gn_commons.t_modules m
USING (id_module)
WHERE
m.module_code = 'DASHBOARD'
EXCEPT
SELECT
p.id_permission
FROM
gn_permissions.t_permissions p
JOIN gn_permissions.t_permissions_available pa ON
(p.id_module = pa.id_module
AND p.id_object = pa.id_object
AND p.id_action = pa.id_action)
)
DELETE
FROM
gn_permissions.t_permissions p
USING bad_permissions bp
WHERE
bp.id_permission = p.id_permission;
"""
)


def downgrade():
op.execute(
"""
DELETE FROM
gn_permissions.t_permissions_available pa
USING
gn_commons.t_modules m
WHERE
pa.id_module = m.id_module
AND
module_code = 'DASHBOARD'
"""
)
12 changes: 10 additions & 2 deletions frontend/app/dashboard/annual_report/annual_report.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,17 @@ export class AnnualReportComponent implements OnInit {
}

refreshGraphValues() {
this.obsByGroupData = [];
this.obsByGroupData = [
{
data: [],
},
];
this.obsByGroupLabel = [];
this.newSpeciesData = [];
this.newSpeciesData = [
{
data: [],
},
];
this.newSpeciesLabel = [];
}
}

0 comments on commit 97ae2d3

Please sign in to comment.