Skip to content

Commit

Permalink
Merge pull request #137 from PnX-SI/develop
Browse files Browse the repository at this point in the history
Develop > Master / Prepa 0.2.9
  • Loading branch information
camillemonchicourt authored Jan 13, 2022
2 parents d351874 + e1b1087 commit 4334e63
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 102 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.8
0.2.9
48 changes: 4 additions & 44 deletions backend/monitoring/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,9 @@
from geonature.core.gn_monitoring.models import TBaseSites, TBaseVisits
from geonature.core.gn_meta.models import TDatasets
from geonature.utils.env import DB
from geonature.core.gn_commons.models import TModules
from geonature.core.gn_commons.models import TModules, cor_module_dataset
from pypnusershub.db.models import User


class CorModuleDataset(DB.Model):
__tablename__ = 'cor_module_dataset'
__table_args__ = (
DB.PrimaryKeyConstraint('id_module', 'id_dataset'),
{'schema': 'gn_commons', 'extend_existing': True}
)

id_module = DB.Column(
DB.ForeignKey('gn_commons.t_modules.id_module'),
primary_key=True
)
id_dataset = DB.Column(
DB.ForeignKey('gn_meta.t_datasets.id_dataset'),
primary_key=True
)



class CorVisitObserver(DB.Model):
__tablename__ = 'cor_visit_observer'
__table_args__ = (
DB.PrimaryKeyConstraint('id_base_visit', 'id_role'),
{'schema': 'gn_monitoring', 'extend_existing': True}
)

id_base_visit = DB.Column(
DB.ForeignKey('gn_monitoring.t_base_visits.id_base_visit'),
primary_key=True
)
id_role = DB.Column(
DB.ForeignKey('utilisateurs.t_roles.id_role'),
primary_key=True
)



from geonature.core.gn_monitoring.models import corVisitObserver

@serializable
class TMonitoringObservationDetails(DB.Model):
Expand Down Expand Up @@ -144,10 +107,8 @@ class TMonitoringVisits(TBaseVisits):

observers = DB.relationship(
User,
'gn_monitoring.cor_visit_observer',
lazy='joined',
primaryjoin=(CorVisitObserver.id_base_visit == id_base_visit),
secondaryjoin=(CorVisitObserver.id_role == User.id_role),
secondary=corVisitObserver
)

observations = DB.relation(
Expand Down Expand Up @@ -333,8 +294,7 @@ class TMonitoringModules(TModules):

datasets = DB.relationship(
'TDatasets',
secondary='gn_commons.cor_module_dataset',
secondaryjoin=TDatasets.id_dataset == CorModuleDataset.id_dataset,
secondary=cor_module_dataset,
join_depth=0,
lazy="joined",
)
Expand Down
15 changes: 4 additions & 11 deletions config/monitoring/generic/module.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,14 @@
},

"datasets": {
"type_widget": "datalist",
"attribut_label": "Jeux de données",
"multiple": true,
"type_widget": "dataset",
"multi_select": true,
"type_util": "dataset",
"api": "meta/datasets",
"application": "GeoNature",
"keyValue": "id_dataset",
"keyLabel": "dataset_shortname",
"params": {
"orderby": "dataset_name"
},
"data_path": "data",
"attribut_label": "Jeux de données",
"required": true
},


"id_list_observer": {
"type_widget": "datalist",
"attribut_label": "Liste des observateurs",
Expand Down
30 changes: 10 additions & 20 deletions config/monitoring/generic/visit.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,12 @@
"hidden": true
},
"observers": {
"type_widget": "datalist",
"type_widget": "observers",
"attribut_label": "Observateurs",
"api": "users/menu/__MODULE.ID_LIST_OBSERVER",
"application": "GeoNature",
"keyValue": "id_role",
"keyLabel": "nom_complet",
"type_util": "user",
"multiple": true,
"required": true
"required": true,
"id_list": "__MODULE.ID_LIST_OBSERVER"
},

"id_digitiser": {
"type_widget": "text",
"attribut_label": "Digitiser",
Expand All @@ -77,21 +73,15 @@
"uuid_base_visit": {
"attribut_label": "uuid"
},

"id_dataset": {
"type_widget": "datalist",
"attribut_label": "Jeu de données",
"type_widget": "dataset",
"type_util": "dataset",
"api": "meta/datasets",
"application": "GeoNature",
"keyValue": "id_dataset",
"keyLabel": "dataset_shortname",
"params": {
"orderby": "dataset_name",
"module_code": "__MODULE.MODULE_CODE"
},
"data_path": "data",
"required": true
"attribut_label": "Jeu de données",
"required": true,
"module_code": "__MODULE.MODULE_CODE"
},

"nb_observations": {
"attribut_label": "Nombre d'observations"
},
Expand Down
28 changes: 14 additions & 14 deletions data/synthese_svo.sql
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

-- Vue générique pour alimenter la synthèse dans le cadre d'un protocole site-visite-observation
--
--
-- Ce fichier peut être copié dans le dossier du sous-module et renommé en synthese.sql (et au besoin personnalisé)
-- le fichier sera joué à l'installation avec la valeur de module_code qui sera attribué automatiquement
--
Expand Down Expand Up @@ -44,9 +44,9 @@ WITH source AS (
FROM gn_monitoring.t_base_sites

), visits AS (

SELECT

id_base_visit,
uuid_base_visit,
id_module,
Expand Down Expand Up @@ -75,8 +75,8 @@ WITH source AS (
)

SELECT
o.uuid_observation AS unique_id_sinp,

o.uuid_observation AS unique_id_sinp,
v.uuid_base_visit AS unique_id_sinp_grp,
source.id_source,
o.id_observation AS entity_source_pk_value,
Expand All @@ -97,15 +97,15 @@ SELECT
ref_nomenclatures.get_id_nomenclature('IND', 'OBJ_DENBR') AS id_nomenclature_obj_count,
ref_nomenclatures.get_id_nomenclature('TYP_DENBR', 'Es') AS id_nomenclature_type_count,
-- id_nomenclature_sensitivity, --SENSIBILITE
ref_nomenclatures.get_id_nomenclature('STATUT_OBS', 'Pr') AS id_nomenclature_observation_status,
ref_nomenclatures.get_id_nomenclature('STATUT_OBS', 'Pr') AS id_nomenclature_observation_status,
-- id_nomenclature_blurring, -- DEE_FLOU
-- id_nomenclature_behaviour, -- OCC_COMPORTEMENT
ref_nomenclatures.get_id_nomenclature('STATUT_SOURCE', 'Te') AS id_nomenclature_source_status,
ref_nomenclatures.get_id_nomenclature('TYP_INF_GEO', '1') AS id_nomenclature_info_geo_type,

1 AS count_min,
1 AS count_max,
id_observation,
o.id_observation,
o.cd_nom,
t.nom_complet AS nom_cite,
--meta_v_taxref
Expand All @@ -132,28 +132,28 @@ SELECT
v.comments AS comment_context,
o.comments AS comment_description,
obs.ids_observers,

-- ## Colonnes complémentaires qui ont leur utilité dans la fonction synthese.import_row_from_table
v.id_base_site,
v.id_base_visit

FROM gn_monitoring.t_observations o
JOIN visits v
ON v.id_base_visit = o.id_base_visit
JOIN sites s
JOIN sites s
ON s.id_base_site = v.id_base_site
JOIN gn_commons.t_modules m
JOIN gn_commons.t_modules m
ON m.id_module = v.id_module
JOIN taxonomie.taxref t
JOIN taxonomie.taxref t
ON t.cd_nom = o.cd_nom
JOIN source
JOIN source
ON TRUE
JOIN observers obs ON obs.id_base_visit = v.id_base_visit

LEFT JOIN LATERAL ref_geo.fct_get_altitude_intersection(s.geom_local) alt (altitude_min, altitude_max)
ON TRUE
WHERE m.module_code = :'module_code'
;


SELECT * FROM gn_monitoring.v_synthese_:module_code
--SELECT * FROM gn_monitoring.v_synthese_:module_code
34 changes: 24 additions & 10 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
CHANGELOG
=========

0.2.9 (2022-01-13)
------------------

Compatibilité avec GeoNature version 2.9.0 et plus.

**🐛 Corrections**

* Correction de la vue ``gn_monitoring.synthese_svo.sql`` permettant d'alimenter la Synthèse de GeoNature (#64)
* Reprise du composant de la liste déroulante de sélection des jeux de données, suite au passage à ``ng-select2`` dans GeoNature 2.9.0

0.2.8 (2021-12-10)
------------------

Expand Down Expand Up @@ -30,23 +40,27 @@ Si vous mettez à jour le module :

* A partir de la version de GeoNature 2.7.5, les commandes de gestion du module ``monitorings`` sont accessibles depuis la commande ``geonature monitorings`` une fois que l'on a activé le ``venv``
* Nouvelles commandes :
* ``geonature monitorings process_export_pdf <?module_code>``
* ``geonature monitorings process_export_csv <?module_code>``
* Pour gérer et mettre à jour les exports ``pdf`` et ``csv`` pour un module si ``module_code`` est précisé ou pour tous les modules

- ``geonature monitorings process_export_pdf <?module_code>``
- ``geonature monitorings process_export_csv <?module_code>``
- Pour gérer et mettre à jour les exports ``pdf`` et ``csv`` pour un module si ``module_code`` est précisé ou pour tous les modules

* Ajout des sous-modules POPAmphibien et POPReptile (idéalement à déplacer dans un autre dépôt)
* Possibilité de choisir la couleur du tableau pour les détails d'un objet (champs ``color`` dans le fichier ``<object_type>.json``)
* Dans la partie map, possibilité de joindre les sites par des lignes pour former automatiquement une aire et calculer sa superficie
* (si le nombre des points est supérieur à 2)
* configurable depuis l'édition du module (`dessin des groupe de site`)

- (si le nombre des points est supérieur à 2)
- configurable depuis l'édition du module (`dessin des groupe de site`)

* Possibilité de choisir l'icône du module dans le menu depuis l'édition du module
* Export PDF configurables

- Bouton accessible depuis les détails

* Export CSV configurables

* export PDF configurables
* bouton accessible depuis les détails
* export CSV configurables
* bouton accessible depuis les détails
* modale pour choisir le JDD concerné par l'export
- Bouton accessible depuis les détails
- Modale pour choisir le JDD concerné par l'export

**🐛 Corrections**

Expand Down
4 changes: 2 additions & 2 deletions manifest.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package_format_version = '1'
module_code = 'MONITORINGS'
module_version = '0.2.8'
min_geonature_version = '2.7.5'
module_version = '0.2.9'
min_geonature_version = '2.9.0'
max_geonature_version = '3.0.0'
exclude_geonature_versions = [ ]

0 comments on commit 4334e63

Please sign in to comment.