mirror of
https://github.com/ARUP-CAS/aiscr-qgis-amcr-viewer.git
synced 2026-08-14 19:09:00 +02:00
feature/projektové akce: filtrování a sloupec Projekt v akcích (#53)
* feature/projektove-akce: do dialogu akce přidán checkbox pro filtrování projektových akcí + backend logika * feature/projektove-akce: do atributové tabulky akcí přidáno pole Projekt (prázdné, pokud nejde o projektovou akci)
This commit is contained in:
@@ -169,6 +169,8 @@ class AmcrFilterDialog(QDialog):
|
|||||||
if self.typ_dat == "akce":
|
if self.typ_dat == "akce":
|
||||||
self.chk_posevidence = QCheckBox("Pouze pozitivní zjištění")
|
self.chk_posevidence = QCheckBox("Pouze pozitivní zjištění")
|
||||||
layout.addWidget(self.chk_posevidence)
|
layout.addWidget(self.chk_posevidence)
|
||||||
|
self.chk_proj_akce = QCheckBox("Pouze projektové akce")
|
||||||
|
layout.addWidget(self.chk_proj_akce)
|
||||||
|
|
||||||
layout.addSpacing(10)
|
layout.addSpacing(10)
|
||||||
|
|
||||||
@@ -453,6 +455,8 @@ class AmcrFilterDialog(QDialog):
|
|||||||
if self.typ_dat == "akce":
|
if self.typ_dat == "akce":
|
||||||
if self.chk_posevidence.isChecked():
|
if self.chk_posevidence.isChecked():
|
||||||
filters['posevidence'] = 'true'
|
filters['posevidence'] = 'true'
|
||||||
|
if self.chk_proj_akce.isChecked():
|
||||||
|
filters['proj_akce'] = 'true'
|
||||||
if self.selection_cache['organizace']:
|
if self.selection_cache['organizace']:
|
||||||
filters['f_organizace'] = self.selection_cache['organizace']
|
filters['f_organizace'] = self.selection_cache['organizace']
|
||||||
if self.selection_cache['typ_akce']:
|
if self.selection_cache['typ_akce']:
|
||||||
|
|||||||
@@ -317,6 +317,12 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
else False
|
else False
|
||||||
)
|
)
|
||||||
|
|
||||||
|
only_projektove_akce = (
|
||||||
|
filters.get('proj_akce') == 'true'
|
||||||
|
if filters
|
||||||
|
else False
|
||||||
|
)
|
||||||
|
|
||||||
# Check whether we should filter results based on component filters
|
# Check whether we should filter results based on component filters
|
||||||
filter_areal = "f_areal" in filters if filters else False
|
filter_areal = "f_areal" in filters if filters else False
|
||||||
filter_datace = "f_obdobi" in filters if filters else False
|
filter_datace = "f_obdobi" in filters if filters else False
|
||||||
@@ -439,6 +445,9 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
if not piani:
|
if not piani:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if only_projektove_akce and not doc.get("akce_projekt", False):
|
||||||
|
continue
|
||||||
|
|
||||||
actions_with_geom += 1
|
actions_with_geom += 1
|
||||||
|
|
||||||
# Extract protected fields ('or {}' – key may hold None)
|
# Extract protected fields ('or {}' – key may hold None)
|
||||||
@@ -515,6 +524,11 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
if doc.get('akce_je_nz') is True
|
if doc.get('akce_je_nz') is True
|
||||||
else "Ne"
|
else "Ne"
|
||||||
),
|
),
|
||||||
|
"projekt": g(
|
||||||
|
doc,
|
||||||
|
'akce_projekt',
|
||||||
|
""
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
|
||||||
elif typ_dat == "lokalita":
|
elif typ_dat == "lokalita":
|
||||||
@@ -741,6 +755,7 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
QgsField("vedlejsi_typ", QMetaType.Type.QString),
|
QgsField("vedlejsi_typ", QMetaType.Type.QString),
|
||||||
QgsField("zjisteni", QMetaType.Type.QString),
|
QgsField("zjisteni", QMetaType.Type.QString),
|
||||||
QgsField("nahrazuje_NZ", QMetaType.Type.QString),
|
QgsField("nahrazuje_NZ", QMetaType.Type.QString),
|
||||||
|
QgsField("projekt", QMetaType.Type.QString),
|
||||||
]
|
]
|
||||||
elif typ_dat == "lokalita":
|
elif typ_dat == "lokalita":
|
||||||
cols += [
|
cols += [
|
||||||
@@ -784,6 +799,7 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
"komponenta": "Komponenta",
|
"komponenta": "Komponenta",
|
||||||
"komponenta_areal": "Areál",
|
"komponenta_areal": "Areál",
|
||||||
"komponenta_obdobi": "Období",
|
"komponenta_obdobi": "Období",
|
||||||
|
"projekt": "Projekt",
|
||||||
}
|
}
|
||||||
|
|
||||||
if komponenty == "true":
|
if komponenty == "true":
|
||||||
@@ -917,7 +933,8 @@ def load_amcr_data(canvas, bb, filters=None,
|
|||||||
meta['akce_hlavni_typ'],
|
meta['akce_hlavni_typ'],
|
||||||
meta['akce_vedlejsi_typ'],
|
meta['akce_vedlejsi_typ'],
|
||||||
meta['dj_negativni'],
|
meta['dj_negativni'],
|
||||||
meta['akce_je_nz']
|
meta['akce_je_nz'],
|
||||||
|
meta['projekt'],
|
||||||
])
|
])
|
||||||
else:
|
else:
|
||||||
atributy.extend([
|
atributy.extend([
|
||||||
|
|||||||
Reference in New Issue
Block a user