Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev suivi eolien rebased on develop #238

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
8f83034
Merged feat/package-module-alembic
Dec 6, 2022
8886db7
Merged feat/bib-categorie-site
Dec 9, 2022
b9a23a4
feat: [6.2] Page d'accueil module monitoring layout et config title e…
andriacap Dec 12, 2022
5baf4f7
Feat/monitoring sites (#16)
mvergez Dec 19, 2022
95c7b18
Feat/site type categories and module categorie (#18)
mvergez Dec 22, 2022
94ef8f9
Feat/edit categories module (#19)
mvergez Dec 22, 2022
e963eac
test: refactor fixtures to load them automatically (#20)
mvergez Dec 23, 2022
47d1b7e
test: move test_route in parent dir (#17)
mvergez Dec 23, 2022
dbf4571
Feat/create marshmallow schemas and remove id_module (#21)
mvergez Jan 4, 2023
7a1d9f0
refactor(api): remove id_type in admin (#22)
mvergez Jan 4, 2023
df02c69
style(config): rename attribut label of categories (#23)
mvergez Jan 4, 2023
7421fab
Fix/paginate utils (#24)
mvergez Jan 4, 2023
0b25ef8
Feat/improve filter (#25)
mvergez Jan 4, 2023
5c93c0c
fix(config): changed categories into items (#29)
mvergez Jan 5, 2023
3185274
Fix/db migrations (#31)
mvergez Jan 13, 2023
9f8ce84
perf(api): improved loading of modules (#30)
mvergez Jan 13, 2023
71d90a1
Fix/pagination (#28)
mvergez Jan 13, 2023
07110ba
style(api): restore data_utils spaces (#33)
mvergez Jan 13, 2023
c237bee
Fix/db migrations checkconstrainton bib_type_site.id_nomenclature (#34)
andriacap Jan 16, 2023
57f15ab
fix(api): invert filter condition with Unicode (#35)
mvergez Jan 17, 2023
32ddaf3
fix(db): add NOT VALID in constraint for bib_type_site (#36)
mvergez Jan 17, 2023
8435749
Fix/review checkpoint1 (#37)
mvergez Jan 18, 2023
c408e00
Add comments on new table
amandine-sahl Mar 3, 2023
4b2ffad
improve downgrade migration
amandine-sahl Mar 3, 2023
ea64abd
Black
amandine-sahl Mar 3, 2023
c05a6e3
Fix/db migrations (#31)
mvergez Jan 13, 2023
d65f259
Feat/get all sites (#26)
mvergez Jan 23, 2023
a3d276c
Feat/crud/gp sites components (#38)
mvergez Feb 24, 2023
0da7e35
fix: remove no existing function and component visit (#39)
andriacap Mar 2, 2023
20d5f32
Feat/dynamic form/site (#42)
mvergez Apr 14, 2023
bc33008
Feat/prepare edit site component & some visits (#43)
mvergez Apr 14, 2023
8c98aac
Refactor to prepare for visits (#44)
mvergez Apr 18, 2023
0819ae5
feat(front): add seeObjLabel (#45)
mvergez Apr 18, 2023
2ee2bbc
Feat/get sites sites group models (#46)
mvergez Apr 18, 2023
ee1358e
test: routes for type site and post site (#57)
andriacap Apr 25, 2023
6de87e1
style(front): no data support & line return (#58)
mvergez Apr 25, 2023
be4f922
fix: make breadcrumb work from sites and modules (#61)
mvergez Apr 25, 2023
7375ab0
feat: delete site (#62)
andriacap Apr 25, 2023
6253018
Feat/edit site (#56)
andriacap Apr 26, 2023
50a3ea8
style: formatter json in flask admin (#63)
andriacap May 4, 2023
284fa28
feat(front): try to make breadcrumb work
May 4, 2023
2e138a1
feat(front): make breadcrumn logic inside component
andriacap May 15, 2023
3089d92
feat(wip): merge chainInput and display-data-info
andriacap May 26, 2023
e212fd9
feat: remove unused function
andriacap May 30, 2023
43725a0
fix: put outside updateBreadCrumb in sitegp comp
andriacap May 30, 2023
95b4d8c
feat: remove onInit to mapListComponent
andriacap May 30, 2023
e0a9d6a
feat(wip): manage geometry type into form
andriacap May 30, 2023
d2b060b
feat(wip) change way to manage map obj component
andriacap May 30, 2023
8bd33fb
fix: rename obj Form and fix pb load confi obj
andriacap May 30, 2023
8f070b7
fix: remove unused edit site component
andriacap Jun 1, 2023
59a2e75
fix: loading config object site
andriacap Jun 1, 2023
33875b2
fix: existing little problem
andriacap Jun 1, 2023
6cdd45a
fix: problem to load specific site
andriacap Jun 1, 2023
a3efa68
feat(wip) : manage map
andriacap Jun 1, 2023
368ea48
fix: error on form with obj properties/config
andriacap Jun 1, 2023
4d9f180
fix(css): height of form zone scrollable
andriacap Jun 1, 2023
8c8c9a6
fix: problem when delete site child
andriacap Jun 27, 2023
3ea594d
fix: problem adding site child by data-table comp
andriacap Jun 27, 2023
919953b
fix: problem redirection on delete site action
andriacap Jun 27, 2023
bdfeb5c
fix: untracked gitlab-ci.yml
andriacap Jun 27, 2023
d203329
fix: load specific properties obj
andriacap Jun 29, 2023
36fa10b
feat: page not found specific to monitoring
andriacap Jun 29, 2023
7826ce8
feat: not found working for request status 404
andriacap Jun 30, 2023
e7af8d0
fix: change format scc to css not-found comp
andriacap Jun 30, 2023
1f338f2
feat: display types_site label in table and prop
andriacap Jul 3, 2023
d716b10
feat(api): return label of nomenclature type site
Jul 4, 2023
5208028
style(config): types site attribut label
Jul 4, 2023
bbe71db
feat(wip): display specific properties
andriacap Jul 4, 2023
531b9be
feat: ignore html field when submit form
andriacap Jul 10, 2023
6cfeee8
feat(wip): display specific properties
andriacap Jul 10, 2023
18fb31a
feat: display specific properties
andriacap Jul 11, 2023
dc7f28d
fix: remove call api for types_site
andriacap Jul 11, 2023
cf8b94d
feat(back): json formatter on edit column
andriacap Jul 18, 2023
6fd166b
feat(back): edition site work for module enter
andriacap Jul 18, 2023
0aba4ef
refact: remove useless call service in btn-select
andriacap Jul 18, 2023
b6ba040
fix: error on tab spec properties
andriacap Jul 18, 2023
07b9343
feat(front): architecture form with dynamic field
andriacap Jul 18, 2023
c1d1e02
feat: update form from btn-select
andriacap Jul 19, 2023
e984bab
feat: create form according to btn-select comp
andriacap Jul 19, 2023
01f3e66
fix: remove unused property binding FormGroup
andriacap Jul 19, 2023
0b508b9
feat: redirection on delete prevent to reload obj
andriacap Jul 19, 2023
dfa8198
feat: using service to update and create dyn form
andriacap Jul 19, 2023
54db921
feat(front): displaying dynamic and static form
andriacap Jul 19, 2023
f66885c
fix: check obj initialized for FormGroup
andriacap Jul 19, 2023
0908931
fix: error on build
andriacap Jul 20, 2023
9ab4eaf
fix: change down revision and error id_nomenclatur
andriacap Jul 20, 2023
65f51af
fix: icon edition geometry problem
andriacap Jul 20, 2023
d570f7e
test: move conftest.py to root project
andriacap Jul 21, 2023
a99fa8a
fix: error constructor failed for this service
andriacap Jul 21, 2023
33b4100
feat(db): alembic revision (ATTENTION)
andriacap Jul 21, 2023
e7121e5
fix: error default argument in route
andriacap Jul 21, 2023
9d7af2f
fix(front): angular-material matchiplist
andriacap Jul 21, 2023
78a4716
fix: material angulr tab (group site and site)
andriacap Jul 25, 2023
c2c5dd2
fix: angular material adapt for properties comp
andriacap Jul 26, 2023
ab26763
fix: problem action button to add obj
andriacap Jul 26, 2023
de0bc3e
fix: adapt visit, site component to datatable
andriacap Jul 26, 2023
84210a5
fix: correction display btn to add protocol
andriacap Jul 26, 2023
f2b4764
fix: error when loading page with specific field
andriacap Jul 26, 2023
950e189
fix: error localstorage cyclic object
andriacap Jul 27, 2023
667ce5c
Feat/show map according to tab (#79)
andriacap Jul 27, 2023
8ff5861
lint(back): apply black
andriacap Jul 28, 2023
7bbe6de
lint(front): apply prettier
andriacap Jul 28, 2023
b8d1676
feat: prevent user to delete site and gp site (#81)
andriacap Aug 11, 2023
7cc6fa0
Feat/enter tab site features (#80)
andriacap Aug 14, 2023
22a108a
feat: edit and create geom
andriacap Aug 10, 2023
67c859b
fix: error displaying types site
andriacap Aug 11, 2023
d869797
style : improve ux/ui for form component
andriacap Aug 11, 2023
495d2c9
feat: observers displaying and editing form
andriacap Aug 16, 2023
08d1882
Feat/edit delete through table (#86)
andriacap Aug 22, 2023
a5432c4
Feat/filter columns relationship (#87)
andriacap Aug 22, 2023
f8df2ef
style: apply black and prettier
andriacap Aug 22, 2023
4462ff0
feat: use code list observers for observers site (#88)
andriacap Aug 23, 2023
ad5c124
style(front): apply prettier
andriacap Aug 23, 2023
641058d
Feat/conditional edit and delete entrance protocol (#89)
andriacap Aug 29, 2023
683ee10
fix: specific form and properties types site (#90)
andriacap Sep 5, 2023
ed0883c
feat: add variable config in json (#91)
andriacap Sep 7, 2023
9fb6672
feat: optional observers_txt field (#92)
andriacap Sep 11, 2023
0796cb3
Feat/observers txt last (#93)
andriacap Sep 15, 2023
6826bff
Feat/permission (#94)
andriacap Sep 22, 2023
c1366b1
fix: redirection , permission form, reloading (#95)
andriacap Sep 22, 2023
be989c4
Feat/change model migration (#96)
andriacap Sep 25, 2023
987910e
Reorder migration and add data migration
amandine-sahl Sep 26, 2023
f56bd2f
fix: redirection and permission grp_site
andriacap Sep 28, 2023
263ed48
fix: paginate not found
andriacap Sep 28, 2023
ad8ce13
style: apply lint front and back
andriacap Sep 28, 2023
537ae6c
fix: change id on delete route
andriacap Sep 29, 2023
7036cce
hotfix: problem refreshing page with guard
andriacap Sep 29, 2023
ee8096f
Reorder migration post rebase
amandine-sahl Oct 5, 2023
a386cbc
Use config instead of MonitoringPermissions_dict
amandine-sahl Oct 5, 2023
d510fe9
Alter not null constraint for t_sites_groups, t_observations
amandine-sahl Oct 5, 2023
478f050
Erreur rebase
amandine-sahl Oct 5, 2023
6d306ec
Répercussion renomage de GNM en MONITORINGS et suppression de
amandine-sahl Oct 5, 2023
85338f5
db: remove migration alembic
andriacap Oct 6, 2023
c5be3db
Rename GNM to MONITORINGS
amandine-sahl Oct 6, 2023
7ef7459
fix: revision alembic error
andriacap Oct 9, 2023
e8058a3
ux/ui: change layout home page monitoring
andriacap Oct 9, 2023
3bcbdfc
fix: size of div container Acces site
andriacap Oct 9, 2023
c34c3e1
Correction tests
amandine-sahl Oct 9, 2023
9168c5c
Black
amandine-sahl Oct 10, 2023
90106b5
pytest install monitoring module
amandine-sahl Oct 10, 2023
d3a81d2
Test if migration is run during installation or migration
amandine-sahl Oct 10, 2023
ec84328
refact: load all types site from btn-select comp
andriacap Oct 10, 2023
8bd3555
style: apply lint frontend
andriacap Oct 10, 2023
429213c
fix: specific field kept in form
andriacap Oct 10, 2023
0710599
hotfix: problem create visit
andriacap Oct 19, 2023
38167e5
style: centered protocol home page
andriacap Oct 20, 2023
3ae0602
wip: manage geometry site group
andriacap Oct 17, 2023
086568f
fix:multiple layer and geom site group
andriacap Oct 10, 2023
1067cf1
feat: geom site group (edit and create)
andriacap Oct 20, 2023
a15b576
ux: add message to inform about geom site group
andriacap Oct 20, 2023
31bafa2
lint: backend
andriacap Oct 20, 2023
9f7f021
fix: problem to read data same organism
andriacap Oct 20, 2023
6c85ff6
docs: add documentation for new features (wip)
andriacap Oct 30, 2023
3576127
docs: add description type site form
andriacap Oct 31, 2023
2a06f67
Optimize model and serialization
amandine-sahl Oct 6, 2023
980bccc
Use marshmallow serializer
amandine-sahl Oct 9, 2023
223df5b
feat: manage geom through protocol
andriacap Nov 10, 2023
7dc2acd
fix: create site group without geom
andriacap Nov 15, 2023
e044a6e
hotfix: remove import AppConfig
andriacap Nov 22, 2023
2e1096d
docs: add observers_txt in "sous_module"
andriacap Nov 22, 2023
3096589
Resolve conflicts
amandine-sahl Dec 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ jobs:
-e ..[tests] \
-r requirements-dev.txt
working-directory: ./dependencies/GeoNature/backend
- name: Install monitoring module
run: |
python -m pip install -e .
working-directory: .
- name: Install database
run: |
geonature db upgrade geonature@head -x local-srid=2154
Expand Down
61 changes: 47 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## Module générique de gestion des données de protocoles de type suivis

Ce module permet de gérer de façon générique des données de protocoles "simples" articulés en 3 niveaux : des sites (nom, type, localisation) dans lesquels on fait des visites (dates, observateurs) dans lesquelles on peut faire des observations (espèces).
Ce module permet de gérer de façon générique des données de protocoles "simples" articulés jusqu'à 4 niveaux : des groupes de site, puis des sites associés à ces groupes de site (nom, type, localisation) dans lesquels on fait des visites (dates, observateurs) dans lesquelles on peut faire des observations (espèces).

Ces 3 niveaux peuvent être complétés des données spécifiques à chaque protocole, qui sont stockées dynamiquement dans la base de données sous forme de jsonb.
Les 3 niveaux que sont le sites, visites et observations peuvent être complétés des données spécifiques à chaque protocole, qui sont stockées dynamiquement dans la base de données sous forme de jsonb.

![Liste des sites du protocole de test](docs/images/apercu.png)

Expand All @@ -16,14 +16,21 @@ Pour chaque sous-module, correspondant à un protocole spécifique de suivi, il

Des fonctions SQL ainsi qu'une vue définie pour chaque protocole permettent d'alimenter automatiquement la synthèse de GeoNature à partir des données saisies dans chaque sous-module.

![MCD du schema gn_monitoring](docs/images/2020-06-MCD-monitoring.jpg)
Via le module monitoring on peut également entrer directement via les sites et groupes de sites. Il est possible de crééer des groups de sites, des sites, associer des sites à des groupes de sites et ensuite pouvoir associer ces sites / groupes de site à différents sous modules.

![Page d'accueil accès aux sites](docs/images/page_accueil_monitoring_acces_sites.png)

Les sites et groupes de sites sont désormais multi protocoles.

![MCD du schema gn_monitoring](docs/images/2023-10-MCD_schema_monitoring.png)

## Sommaire

* [Installation](#installation)
* [Gestion de la synthèse](docs/synthese.md)
* [Documentation technique](docs/documentation_technique.md)
* [Création d'un sous-module](docs/sous_module.md)
* [Gestion des sites et groupes de site](docs/gestion_sites_groupes_de_site.md)
* [Mise à jour du module](docs/MAJ.md)
* [Liste des commandes](docs/commandes.md)
* [Permissions](#permissions)
Expand Down Expand Up @@ -69,7 +76,32 @@ Créer le dossier suivant dans le dossier `media` de GeoNature
mkdir ~/geonature/backend/media/monitorings
```

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.
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 générale du module monitoring

Un fichier de config `monitorings_config.toml.example` peut être modifié puis copié à la racine du dossier de config de GeoNature : `~/geonature/config`.

Trois champs sont paramétrable :

- `TITLE_MODULE` : Titre présent sur la page d'accueil du module monitoring
- `DESCRIPTION_MODULE` : Description du module monitoring également présente sur la page d'accueil
- `CODE_OBSERVERS_LIST` : Liste d'observateur qui est utilisé pour le fichier de config de `site.json` , qui permet d'avoir une liste d'observateur spécifique aux créateurs lorsqu'on entre directement par les sites/groupe de site . (Par défaut c'est la liste d'observateur occtax qui est utilisée)

<details open><summary> Exemple d'utilisation du paramètre `CODE_OBSERVERS_LIST`</summary>

```json
"id_inventor": {
"type_widget": "observers",
"attribut_label": "Observateur",
"type_util": "user",
"code_list":"CODE_OBSERVERS_LIST",
"required": true,
"multi_select": false
}
```

</details>

### Installation d'un sous-module

Expand Down Expand Up @@ -125,7 +157,7 @@ Modules installés :
- module2: Module 2 (Deuxième exemple de module)
```

Il vous faut désormais attribuer des permissions aux groupes ou utilisateurs que vous souhaitez, pour qu'ils puissent accéder et utiliser le sous-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.
Il vous faut désormais attribuer des permissions aux groupes ou utilisateurs que vous souhaitez, pour qu'ils puissent accéder et utiliser le sous-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.

### Configurer le sous-module

Expand Down Expand Up @@ -173,19 +205,20 @@ D'autres exemples de sous-modules sont disponibles sur le dépôt

## Permissions

Les permissions ne sont implémentées que partiellement. La notion de portée (mes données, les données de mon organisme, toutes les données) n'est pas prise en compte. Si un utilisateur a le droit de réaliser une action sur un type d'objet, il peut le faire sur l'ensemble des données.
Les permissions peuvent désormais être définies avec une notion de portée ('mes données', 'les données de mon organisme', 'toutes les données' si on ne précise pas de portée mais qu'on accorde une permission). Ces permissions peuvent être définies sur chaque objet défini ci dessous.

La gestion des permissions pour les rôles (utilisateur ou groupe) se réalise au niveau de l'interface d'administration des permissions de GeoNature.

Les permissions sont définis pour chaque type d'objet (modules, groupes de sites, sites, visites et observations) :
* MONITORINGS_MODULES - R : permet a l'utilisateur d'accéder au module, de le voir dans la liste des modules
* MONITORINGS_MODULES - U : action administrateur qui permet de configurer le module et de synchroniser la synthèse
* MONITORINGS_MODULES - E : action qui permet aux utilisateurs d'exporter les données (si défini par le module)
* MONITORINGS_GRP_SITES - CRUD : action de lire, créer, modifier, supprimer un groupe de site
* MONITORINGS_SITES - CRUD : action de lire, créer, modifier, supprimer un site
* MONITORINGS_VISITES - CRUD : action de lire, créer, modifier, supprimer les visites, observations, observations détails
Les permissions sont définis pour chaque type d'objet (modules, groupes de sites, sites, visites, observations et types de site) :

Par défaut, dès qu'un utilisateur a un droit supérieur à 0 pour une action (c-a-d aucune portée) il peut réaliser cette action.
- MONITORINGS_MODULES - R : permet a l'utilisateur d'accéder au module, de le voir dans la liste des modules
- MONITORINGS_MODULES - U : action administrateur qui permet de configurer le module et de synchroniser la synthèse
- MONITORINGS_MODULES - E : action qui permet aux utilisateurs d'exporter les données (si défini par le module)
- MONITORINGS_GRP_SITES - CRUD : action de lire, créer, modifier, supprimer un groupe de site
- MONITORINGS_SITES - CRUD : action de lire, créer, modifier, supprimer un site
- MONITORINGS_VISITES - CRUD : action de lire, créer, modifier, supprimer les visites, observations, observations détails
- TYPES_SITES- CRUD : action de lire, créer, modifier, supprimer les types de sites via l'interface administrateur

Par défaut, dès qu'un utilisateur a un droit supérieur à 0 pour une action (c-a-d aucune portée) il peut réaliser cette action.

Il est possible de mettre à jour les permissions disponibles pour un module en utilisant la commande `update_module_available_permissions`
6 changes: 6 additions & 0 deletions backend/gn_module_monitoring/blueprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
"""

from flask import Blueprint, current_app
from geonature.core.admin.admin import admin as flask_admin
from geonature.utils.env import DB

from gn_module_monitoring.monitoring.admin import BibTypeSiteView
from .command.cmd import commands

blueprint = Blueprint(
Expand All @@ -14,3 +18,5 @@
blueprint.cli.short_help = "Commandes pour l" "administration du module MONITORINGS"
for cmd in commands:
blueprint.cli.add_command(cmd)

flask_admin.add_view(BibTypeSiteView(DB.session, name="Types de site", category="Monitorings"))
6 changes: 5 additions & 1 deletion backend/gn_module_monitoring/conf_schema_toml.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Fichier à ne pas modifier. Paramètres surcouchables dans config/config_gn_module.tml
"""

from marshmallow import Schema, fields, validates_schema, ValidationError
from marshmallow import Schema, fields


# Permissions associés à chaque objet monitoring
Expand All @@ -19,6 +19,10 @@


class GnModuleSchemaConf(Schema):
DESCRIPTION_MODULE = fields.String(default="Vous trouverez ici la liste des modules")
TITLE_MODULE = fields.String(default="Module de suivi")
CODE_OBSERVERS_LIST = fields.String(default="obsocctax")

PERMISSION_LEVEL = fields.Dict(
keys=fields.Str(), values=fields.Str(), load_default=PERMISSION_LEVEL_DEFAULT
)
Expand Down
14 changes: 8 additions & 6 deletions backend/gn_module_monitoring/config/generic/config.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
{
"tree": {
"module": {
"site": {
"visit": {
"observation": null
"sites_group": {
"site": {
"visit": {
"observation": null
}
}
}
}
},
"synthese" : "__MODULE.B_SYNTHESE",
"synthese": "__MODULE.B_SYNTHESE",
"default_display_field_names": {
"user": "nom_complet",
"nomenclature": "label_fr",
"dataset": "dataset_name",
"observer_list": "nom_liste",
"taxonomy" : "__MODULE.TAXONOMY_DISPLAY_FIELD_NAME",
"taxonomy": "__MODULE.TAXONOMY_DISPLAY_FIELD_NAME",
"taxonomy_list": "nom_liste",
"sites_group": "sites_group_name",
"habitat": "lb_hab_fr",
"area": "area_name",
"municipality": "nom_com_dept",
"site": "base_site_name"
}
}
}
15 changes: 15 additions & 0 deletions backend/gn_module_monitoring/config/generic/module.json
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,21 @@
"attribut_label": "Afficher dans le menu ?",
"definition": "Afficher le module dans le menu de GeoNature. (Recharger la page pour voir les modifications)."
},

"types_site": {
"type_widget": "datalist",
"attribut_label": "Types de sites",
"type_util": "types_site",
"keyValue": "id_nomenclature_type_site",
"keyLabel": "label",
"multiple": true,
"api" : "__MONITORINGS_PATH/sites/types",
"application": "GeoNature",
"required": true,
"data_path": "items",
"definition": "Permet de paramétrer la compatibilité de ce module avec les types de sites"
},

"medias": {
"type_widget": "medias",
"attribut_label": "Médias",
Expand Down
87 changes: 42 additions & 45 deletions backend/gn_module_monitoring/config/generic/site.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,21 @@
"base_site_name",
"base_site_code",
"base_site_description",
"id_nomenclature_type_site",
"id_inventor",
"first_use_date",
"last_visit",
"nb_visits",
"altitude_min",
"altitude_max"
"altitude_max",
"types_site"
],
"display_list": [
"base_site_name",
"base_site_code",
"id_nomenclature_type_site",
"last_visit",
"nb_visits"
"id_inventor",
"nb_visits",
"types_site"
],
"sorts": [
{"prop": "last_visit", "dir": "desc"}
Expand All @@ -35,11 +36,6 @@
"attribut_label": "Id site",
"hidden": true
},
"id_module": {
"type_widget": "text",
"attribut_label": "ID Module",
"hidden": true
},
"base_site_code": {
"type_widget": "text",
"attribut_label": "Code",
Expand All @@ -54,45 +50,20 @@
"type_widget": "textarea",
"attribut_label": "Description"
},

"id_sites_group": {
"type_widget": "datalist",
"attribut_label": "Groupe de sites",
"type_util": "sites_group",
"keyValue": "id_sites_group",
"keyLabel": "sites_group_name",
"api": "__MONITORINGS_PATH/list/__MODULE.MODULE_CODE/sites_group?id_module=__MODULE.ID_MODULE&fields=id_sites_group&fields=sites_group_name",
"application": "GeoNature",
"required": false,
"hidden": true
},
"id_nomenclature_type_site": {
"type_widget": "datalist",
"attribut_label": "Type site",
"api": "nomenclatures/nomenclature/TYPE_SITE",
"application": "GeoNature",
"keyValue": "id_nomenclature",
"keyLabel": "label_fr",
"data_path": "values",
"type_util": "nomenclature",
"required": true
},
"id_inventor": {
"type_widget": "datalist",
"attribut_label": "Descripteur",
"api": "users/menu/__MODULE.ID_LIST_OBSERVER",
"application": "GeoNature",
"keyValue": "id_role",
"keyLabel": "nom_complet",
"type_widget": "observers",
"attribut_label": "Observateur",
"type_util": "user",
"required": true
"code_list":"CODE_OBSERVERS_LIST",
"required": true,
"multi_select": false
},
"id_digitiser": {
"type_widget": "text",
"attribut_label": "Numérisateur",
"attribut_label": "Digitiser",
"type_util": "user",
"required": true,
"hidden": true,
"type_util": "user"
"hidden": true
},
"first_use_date": {
"type_widget": "date",
Expand All @@ -118,9 +89,35 @@
"type_widget": "integer",
"attribut_label": "Altitude (min)"
},
"altitude_max": {
"altitude_max": {
"type_widget": "integer",
"attribut_label": "Altitude (max)"
}
}
},
"types_site": {
"type_widget": "datalist",
"attribut_label": "Type(s) de site",
"type_util": "types_site",
"keyValue": "id_nomenclature_type_site",
"keyLabel": "label",
"multiple": true,
"api" : "__MONITORINGS_PATH/modules/__MODULE.MODULE_CODE/types_sites",
"application": "GeoNature",
"required": true,
"nullDefault":true,
"definition": "Permet de n'avoir que les types de site lié au module"
},
"id_sites_group": {
"type_widget": "datalist",
"attribut_label": "Groupe de site",
"keyValue": "id_sites_group",
"keyLabel": "sites_group_name",
"multiple": false,
"api" : "monitorings/sites_groups",
"application": "GeoNature",
"data_path":"items",
"required": false,
"default":null,
"nullDefault":true,
"definition": "Associer un site à un groupe de site"
} }
}
26 changes: 19 additions & 7 deletions backend/gn_module_monitoring/config/generic/sites_group.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
"label_list": "Groupes de sites",
"genre": "M",
"uuid_field_name": "uuid_sites_group",
"geom_field_name": "geom",
"geometry_type": "Polygon",
"display_properties": [
"sites_group_name",
"sites_group_code",
Expand All @@ -22,11 +24,6 @@
"attribut_label": "Id site",
"hidden": true
},
"id_module": {
"type_widget": "text",
"attribut_label": "ID Module",
"hidden": true
},
"sites_group_name": {
"type_widget": "text",
"attribut_label": "Nom",
Expand Down Expand Up @@ -58,6 +55,21 @@
"type_widget": "medias",
"attribut_label": "Médias",
"schema_dot_table": "gn_monitoring.t_sites_groups"
}
}
},
"altitude_min": {
"type_widget": "integer",
"attribut_label": "Altitude (min)"
},
"altitude_max": {
"type_widget": "integer",
"attribut_label": "Altitude (max)"
},
"id_digitiser": {
"type_widget": "text",
"attribut_label": "Digitiser",
"type_util": "user",
"required": true,
"hidden": true
}
}
}
Loading