plugin schema: when publishing a schema, check that values of list are allowed, else use default value
This commit is contained in:
parent
3fe93a1b45
commit
a8f192a2e4
1 changed files with 7 additions and 0 deletions
|
|
@ -285,6 +285,13 @@ class PubsubSchema(object):
|
|||
values_list = [C.bool(v) for v in values_list]
|
||||
elif 'jid' in field.fieldType:
|
||||
values_list = [jid.JID(v) for v in values_list]
|
||||
if 'list' in field.fieldType:
|
||||
# for lists, we check that given values are allowed in form
|
||||
allowed_values = [o.value for o in field.options]
|
||||
values_list = [v for v in values_list if v in allowed_values]
|
||||
if not values_list:
|
||||
# if values don't map to allowed values, we use default ones
|
||||
values_list = field.values
|
||||
field.values = values_list
|
||||
|
||||
yield self._p.sendItem(client, service, nodeIdentifier, form.toElement(), item_id, extra)
|
||||
|
|
|
|||
Loading…
Reference in a new issue