Projet

Général

Profil

Actions

Administration » Historique » Révision 10

« Précédent | Révision 10/24 (diff) | Suivant »
Ludovic Lestrat, 24/04/2018 09:11


Mode équipe

Pour permettre aux utilisateurs de voir les observations des autres utilisateurs sans pour autant les modifier il faut modifier le fichier :
Modeles\Filtres\fAppli.php /Sources/Configuration/[production]/[nom_instance]/Filtres/fAppli.php des Sources

Commenter la ligne comme ceci :
if (($droit != 'expert') && ($droit != 'admin')) {
//$filter .= ' AND numerisateur = ' . decrypteRSA(APPLI, $_SESSION[APPLI]['numerisateur']['code']);
}

Décommenter le cas que l'on veut mettre en place

Ajustement de l'outil "Filtre sur emprise"

Pour éviter une montée en charge du CPU lié à l'utilisation de cet outil, il faut modifier deux fichiers comme indiqué sur les pages github :
- Environnement/Outils/FiltreCarte.php : https://github.com/mathieubossaert/obs_occ/commit/6a1a7afc30cb01f97d7de5a1e5811b665c32c2ab
- Sources/Configuration/ConfigUtilisee.php : https://github.com/mathieubossaert/obs_occ/commit/a029fb9206edc9e430c1a0466987e55087bf3347#diff-7be1b306267c9f2d4fc3deb5a0b2c3dc

Optimisation Observateurs et structure

Pour améliorer le temps de filtrage dans l'interface de SICEN Web sur les observateurs et les structures, voici les modifications à apporter.

En base :

ALTER TABLE saisie.saisie_observation ADD COLUMN observateurs_pour_tri text;
ALTER TABLE saisie.saisie_observation ADD COLUMN structures_pour_tri text;
ALTER TABLE saisie.suivi_saisie_observation ADD COLUMN observateurs_pour_tri text;
ALTER TABLE saisie.suivi_saisie_observation ADD COLUMN structures_pour_tri text;

CREATE INDEX observateurs_pour_tri_index
  ON saisie.saisie_observation
  USING gist
  (observateurs_pour_tri COLLATE pg_catalog."default" gist_trgm_ops);

CREATE INDEX structures_pour_tri_index
  ON saisie.saisie_observation
  USING gist
  (structures_pour_tri COLLATE pg_catalog."default" gist_trgm_ops);

CREATE OR REPLACE FUNCTION saisie.alimente_observateurs_pour_tri()
  RETURNS trigger AS
$BODY$ 
BEGIN
NEW.observateurs_pour_tri = md.liste_nom_auteur(NEW.observateur);
RETURN NEW;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

CREATE TRIGGER alim_observateurs_pour_tri
  BEFORE INSERT OR UPDATE OF observateur
  ON saisie.saisie_observation
  FOR EACH ROW
  EXECUTE PROCEDURE saisie.alimente_observateurs_pour_tri();

CREATE OR REPLACE FUNCTION saisie.alimente_structures_pour_tri()
  RETURNS trigger AS
$BODY$ 
BEGIN
NEW.structures_pour_tri = md.liste_nom_structure(NEW.structure);
RETURN NEW;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

CREATE TRIGGER alim_structures_pour_tri
  BEFORE INSERT OR UPDATE OF structure
  ON saisie.saisie_observation
  FOR EACH ROW
  EXECUTE PROCEDURE saisie.alimente_structures_pour_tri();

UPDATE saisie.saisie_observation SET structures_pour_tri = md.liste_nom_structure(structure), observateurs_pour_tri = md.liste_nom_auteur(observateur);

Dans l'appli :

Dans Modeles/Adaptations/fGrille.php :
[[// $where = str_replace(' observat ', ' md.liste_nom_auteur(observateur) ', $where);
$where = str_replace(' observat ', ' observateurs_pour_tri ', $where);
// $where = str_replace(' struct ', ' md.liste_nom_structure(structure) ', $where);
$where = str_replace(' struct ', ' stuctures_pour_tri ', $where);]]

Dans Modeles/GeoJson/gjObs.php :

- remplacer les appels à md.liste_nom_structure(structure) par structures_pour_tri
- remplacer les appels à md.liste_nom_auteur(observateur) par observateurs_pour_tri

Mis à jour par Ludovic Lestrat il y a environ 7 ans · 10 révisions