From 839eb525e4f851eb5e8b7ab4d865401e711f845d Mon Sep 17 00:00:00 2001
From: Tom LAVEILLE
Date: Mon, 7 Oct 2024 17:17:27 +0200
Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?=
=?UTF-8?q?"CenRa=5FFLUX"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CenRa_FLUX/FluxCEN.py | 48 ++++++++++++++++++++++++++++++++++++++---
CenRa_FLUX/metadata.txt | 4 +++-
2 files changed, 48 insertions(+), 4 deletions(-)
diff --git a/CenRa_FLUX/FluxCEN.py b/CenRa_FLUX/FluxCEN.py
index 31ad09ca..b01ef815 100644
--- a/CenRa_FLUX/FluxCEN.py
+++ b/CenRa_FLUX/FluxCEN.py
@@ -34,6 +34,8 @@ import os.path, os, shutil
from qgis.core import *
from qgis.gui import *
from qgis.utils import *
+from .forms.about_form import FluxAboutDialog
+import qgis
import processing
import psycopg2
import psycopg2.extras
@@ -136,6 +138,14 @@ class FluxCEN:
'i18n',
'FluxCEN_{}.qm'.format(locale))
+ version = qgis.utils.pluginMetadata('CenRa_FLUX','version')
+ # Display About window on first use
+ s = QSettings()
+ versionUse = s.value("flux/version", 1, type=str)
+ if str(versionUse) != str(version) :
+ s.setValue("flux/version", str(version))
+ self.open_about_dialog()
+
if os.path.exists(locale_path):
self.translator = QTranslator()
self.translator.load(locale_path)
@@ -205,6 +215,10 @@ class FluxCEN:
# else:
# iface.messageBar().pushMessage("Information :", "Une nouvelle version de FluxCEN est disponible, veuillez mettre à jour le plugin !", level=Qgis.Info, duration=120)
+ def open_about_dialog(self):
+ dialog = FluxAboutDialog(self.iface)
+ dialog.exec_()
+
def _mousePressEvent(self, event):
self.dlg.lineEdit.setText("")
self.dlg.lineEdit.mousePressEvent = None
@@ -338,6 +352,7 @@ class FluxCEN:
self.iface.removeToolBarIcon(action)
def bd_source(self):
+ self.dlg.activateWindow()
bd_origine=self.dlg.comboBox_2.currentText()
if bd_origine == 'REF':
self.run_ref()
@@ -713,13 +728,40 @@ class FluxCEN:
table = self.dlg.tableWidget_2.item(row,2).text()#.split("?", 1)[0]
uri = QgsDataSourceUri()
uri.setConnection(host ,port ,dbtype ,user ,mdp)
+
# nom du schéma à remplacer: "hydrographie" à supprimer et mettre "couches_collaboratives" lorsqu'on aura regroupé les couches à modifier dans un même schéma
+
uri.setDataSource(schema, table, "geom")
uri.setKeyColumn('gid')
+
# Chargement de la couche PostGIS
- layer = QgsVectorLayer(uri.uri(), table, "postgres")
- # Ajout de la couche au canevas QGIS
- QgsProject.instance().addMapLayer(layer)
+ geom_type ='SELECT right(st_geometrytype(geom),-3) as a FROM '+schema+'.'+table+' GROUP BY a'
+ cur.execute(geom_type)
+ list_typegeom = cur.fetchall()
+ print(len(list_typegeom))
+ if len(list_typegeom) > 1:
+ for typegeom in list_typegeom:
+ if typegeom[0] == 'MultiPolygon':
+ uri.setWkbType(QgsWkbTypes.MultiPolygon)
+ elif typegeom[0] == 'MultiLineString':
+ uri.setWkbType(QgsWkbTypes.MultiLineString)
+ elif typegeom[0] == 'Point':
+ uri.setWkbType(QgsWkbTypes.Point)
+ if typegeom[0] == 'Polygon':
+ uri.setWkbType(QgsWkbTypes.Polygon)
+ elif typegeom[0] == 'LineString':
+ uri.setWkbType(QgsWkbTypes.LineString)
+ elif typegeom[0] == 'MultiPoint':
+ uri.setWkbType(QgsWkbTypes.MultiPoint)
+ if (typegeom[0] != None and typegeom[0] != 'Polygon'):
+ uri.setSrid('2154')
+ layer = QgsVectorLayer(uri.uri(), table, "postgres")
+ # Ajout de la couche au canevas QGIS
+ QgsProject.instance().addMapLayer(layer)
+ else:
+ layer = QgsVectorLayer(uri.uri(), table, "postgres")
+ # Ajout de la couche au canevas QGIS
+ QgsProject.instance().addMapLayer(layer)
'''
try:
service = re.search('SERVICE=(.+?)&VERSION', self.dlg.tableWidget_2.item(row,4).text()).group(1)
diff --git a/CenRa_FLUX/metadata.txt b/CenRa_FLUX/metadata.txt
index c68c89df..0208c39d 100644
--- a/CenRa_FLUX/metadata.txt
+++ b/CenRa_FLUX/metadata.txt
@@ -6,7 +6,7 @@
name=CenRa_FLUX
qgisMinimumVersion=3.0
description=Permet d'ouvrire une table dans la base PostGis
-version=1.9
+version=1.14
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -32,6 +32,8 @@ icon=cenra.png
# experimental flag
experimental=False
+changelog=CenRA_FLUX:
03/10/2024 - Version 1.14:
- Remonte la fênetre dans la pille.
13/09/2024 - Version 1.13:
- MAJ sur le lien du changelog- Bug-fix: Ouvre MultiPolygone et Polygon séparément.10/09/2024 - Version 1.11:
- Ouverture de table contenant plusieurs géométries.26/08/2024 - Version 1.10:
- Ajoute d'un changelog et vérification de mise à jour.
+
# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False