# HG changeset patch # User Goffi # Date 1508481654 -7200 # Node ID 4c883d1c3e811eb36673f1784b6021747793f7c4 # Parent a59f2abd970ea82256c4e49d27a834dae2038f91 plugin schema: when publishing a schema, check that values of list are allowed, else use default value diff -r a59f2abd970e -r 4c883d1c3e81 src/plugins/plugin_exp_pubsub_schema.py --- a/src/plugins/plugin_exp_pubsub_schema.py Fri Oct 20 08:39:58 2017 +0200 +++ b/src/plugins/plugin_exp_pubsub_schema.py Fri Oct 20 08:40:54 2017 +0200 @@ -285,6 +285,13 @@ 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)