Skip to content

Commit 8c661ff

Browse files
committed
Honour ValueRelation AllowMulti option
1 parent ff2fc5d commit 8c661ff

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

src/config_generator/dnd_form_generator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ def __create_editor_widget(self, maplayer, projectname, layername, project, fiel
193193
key = editWidget.find("config/Option/Option[@name='Key']").get('value')
194194
value = editWidget.find("config/Option/Option[@name='Value']").get('value')
195195
layer = editWidget.find("config/Option/Option[@name='LayerName']").get('value')
196+
allowMulti = editWidget.find("config/Option/Option[@name='AllowMulti']").get('value')
196197
# Lookup shortname
197198
for maplayer in project.findall('.//maplayer'):
198199
layernameEl = maplayer.find('layername')
@@ -204,6 +205,7 @@ def __create_editor_widget(self, maplayer, projectname, layername, project, fiel
204205
widget.set("name", "kvrel__{field}__{kvtable}__{keyfield}__{valuefield}".format(
205206
field=prefix + field, kvtable=layer, keyfield=key, valuefield=value
206207
))
208+
widget.set("allowMulti", allowMulti)
207209
return widget
208210
elif editWidget.get("type") == "ExternalResource":
209211
widget.set("class", "QLineEdit")

src/config_generator/qgs_reader.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,11 +544,14 @@ def __edit_widget_constraints(self, maplayer, field, keyvaltables):
544544
"config/Option/Option[@name='LayerName']").get('value')
545545
layerSource = edit_widget.find(
546546
"config/Option/Option[@name='LayerSource']").get('value')
547+
allowMulti = edit_widget.find(
548+
"config/Option/Option[@name='AllowMulti']").get('value') == "true"
547549

548550
# Lookup shortname
549551
layerName = self.__lookup_short_name(layerName)
550552

551553
constraints['keyvalrel'] = self.map_prefix + "." + layerName + ":" + key + ":" + value
554+
constraints['allowMulti'] = allowMulti
552555
keyvaltables[self.map_prefix + "." + layerName] = self.__table_metadata(layerSource)
553556
keyvaltables[self.map_prefix + "." + layerName]['qgs_name'] = self.map_prefix
554557
keyvaltables[self.map_prefix + "." + layerName]['layername'] = layerName

0 commit comments

Comments
 (0)