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 ---
|
||||
# Set up automatic links between spatial layers and the component table
|
||||
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 = QgsPolymorphicRelation()
|
||||
rel.setId(f"rel_komponenty_{archeologicky_zaznam}")
|
||||
# rel.setId(f"rel_komponenty_{archeologicky_zaznam}")
|
||||
rel.setName("Komponenty")
|
||||
rel.setReferencingLayer(vl_komponenty.id())
|
||||
rel.setReferencedLayerExpression("@layer_id")
|
||||
rel.setReferencedLayerField("vrstva")
|
||||
rel.setReferencedLayerIds(parent_layers_ids)
|
||||
rel.addFieldPair("dj_id", "Dokumentační jednotka")
|
||||
rel.generateId()
|
||||
|
||||
if rel.isValid():
|
||||
rel_manager.addPolymorphicRelation(rel)
|
||||
|
||||
Reference in New Issue
Block a user