Skip to content

Commit 5974b5b

Browse files
committed
Include virtual fields in edit config
1 parent c5f65ab commit 5974b5b

File tree

3 files changed

+9
-18
lines changed

3 files changed

+9
-18
lines changed

src/config_generator/dnd_form_generator.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,6 @@ def __create_relation_widget(self, projectname, layername, project, relation, sh
285285
fields = referencingLayer.findall("fieldConfiguration/field")
286286
col = 0
287287
for field in fields:
288-
# Skip expression fields
289-
if referencingLayer.find("expressionfields/field[@name='%s']" % field.get("name")) is not None:
290-
continue
291288

292289
# Skip foreign key field
293290
if field.get("name") == fkField:
@@ -437,10 +434,6 @@ def __add_autolayout_fields(self, maplayer, projectname, layername, project, par
437434
row = 0
438435

439436
for field in fields:
440-
# Skip expression fields
441-
if maplayer.find("expressionfields/field[@name='%s']" % field.get("name")) is not None:
442-
continue
443-
444437
editorWidget = self.__create_editor_widget(maplayer, projectname, layername, project, field.get("name"))
445438
if editorWidget is None:
446439
continue

src/config_generator/map_viewer_config.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -966,10 +966,6 @@ def edit_config(self, map_name, cfg_item, assets_dir):
966966
for attr in meta.get('attributes'):
967967
field = meta['fields'].get(attr, {})
968968

969-
if field.get('expression'):
970-
# Skip expression field
971-
continue
972-
973969
alias = field.get('alias', attr)
974970
data_type = self.EDIT_FIELD_TYPES.get(
975971
field.get('data_type'), 'text'
@@ -988,6 +984,9 @@ def edit_config(self, map_name, cfg_item, assets_dir):
988984
if 'filterExpression' in field:
989985
edit_field['filterExpression'] = field['filterExpression']
990986

987+
if 'expression' in field:
988+
edit_field['expression'] = field['expression']
989+
991990
if 'constraints' in field:
992991
# add any constraints
993992
edit_field['constraints'] = field['constraints']

src/config_generator/qgs_reader.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,12 @@ def __attributes_metadata(self, maplayer):
435435
if default is not None and default.get('expression'):
436436
fields[field]['defaultValue'] = default.get('expression')
437437

438-
# any any filter expression
438+
# virtual fields
439+
expressionField = maplayer.find("expressionfields/field[@name='%s']" % field)
440+
if expressionField is not None and expressionField.get('expression'):
441+
fields[field]['expression'] = expressionField.get('expression')
442+
443+
# filter expression
439444
filterExpression = maplayer.find("fieldConfiguration/field[@name='%s']/editWidget[@type='ValueRelation']/config/Option/Option[@name='FilterExpression']" % field)
440445
if filterExpression is not None and filterExpression.get('value'):
441446
fields[field]['filterExpression'] = filterExpression.get('value')
@@ -445,12 +450,6 @@ def __attributes_metadata(self, maplayer):
445450
if constraints:
446451
fields[field]['constraints'] = constraints
447452

448-
expressionfields_field = maplayer.find(
449-
"expressionfields/field[@name='%s']" % field
450-
)
451-
if expressionfields_field is not None:
452-
fields[field]['expression'] = expressionfields_field.get('expression').lstrip("'").rstrip("'")
453-
454453
fields[field]['joinfield'] = joinfields.get(field, None)
455454

456455
displayField = None

0 commit comments

Comments
 (0)