mirror of
https://github.com/ARUP-CAS/aiscr-qgis-amcr-viewer.git
synced 2026-06-17 11:22:53 +02:00
Merge pull request #28 from ARUP-CAS/relation-fix
Fix polymorphic relations not creating in some cases
This commit is contained in:
@@ -516,17 +516,25 @@ def load_amcr_data(canvas, bb, filters=None, typ_dat="akce", komponenty="false")
|
|||||||
# --- RELATIONSHIP MANAGEMENT ---
|
# --- RELATIONSHIP MANAGEMENT ---
|
||||||
# Set up automatic links between spatial layers and the component table
|
# Set up automatic links between spatial layers and the component table
|
||||||
if komponenty == "true":
|
if komponenty == "true":
|
||||||
parent_layers_ids = [vl_poly.id(), vl_line.id(), vl_point.id()]
|
parent_layers_ids = []
|
||||||
|
if feats_p:
|
||||||
|
parent_layers_ids.append(vl_poly.id())
|
||||||
|
if feats_l:
|
||||||
|
parent_layers_ids.append(vl_line.id())
|
||||||
|
if feats_pt:
|
||||||
|
parent_layers_ids.append(vl_point.id())
|
||||||
|
|
||||||
rel_manager = proj.relationManager()
|
rel_manager = proj.relationManager()
|
||||||
|
|
||||||
rel = QgsPolymorphicRelation()
|
rel = QgsPolymorphicRelation()
|
||||||
rel.setId(f"rel_komponenty_{archeologicky_zaznam}")
|
# rel.setId(f"rel_komponenty_{archeologicky_zaznam}")
|
||||||
rel.setName("Komponenty")
|
rel.setName("Komponenty")
|
||||||
rel.setReferencingLayer(vl_komponenty.id())
|
rel.setReferencingLayer(vl_komponenty.id())
|
||||||
rel.setReferencedLayerExpression("@layer_id")
|
rel.setReferencedLayerExpression("@layer_id")
|
||||||
rel.setReferencedLayerField("vrstva")
|
rel.setReferencedLayerField("vrstva")
|
||||||
rel.setReferencedLayerIds(parent_layers_ids)
|
rel.setReferencedLayerIds(parent_layers_ids)
|
||||||
rel.addFieldPair("dj_id", "Dokumentační jednotka")
|
rel.addFieldPair("dj_id", "Dokumentační jednotka")
|
||||||
|
rel.generateId()
|
||||||
|
|
||||||
if rel.isValid():
|
if rel.isValid():
|
||||||
rel_manager.addPolymorphicRelation(rel)
|
rel_manager.addPolymorphicRelation(rel)
|
||||||
|
|||||||
Reference in New Issue
Block a user