diff sat/tools/common/template_xmlui.py @ 3271:abca25af06d7

plugin pubsub schema, tools (common/template xmlui): use a JID for publisher: - a JidWidget is used instead of text for publisher, nothing is set if publisher attribute doesn't exist - added missing JidWidget implementation in tools.common.template_xmlui
author Goffi <goffi@goffi.org>
date Mon, 18 May 2020 23:37:04 +0200
parents 559a625a236b
children be6d91572633
line wrap: on
line diff
--- a/sat/tools/common/template_xmlui.py	Mon May 18 23:31:55 2020 +0200
+++ b/sat/tools/common/template_xmlui.py	Mon May 18 23:37:04 2020 +0200
@@ -22,11 +22,10 @@
 XMLUI classes from this modules can then be iterated to create the template
 """
 
+from functools import partial
 from sat.core.log import getLogger
-
-log = getLogger(__name__)
 from sat_frontends.tools import xmlui
-from functools import partial
+from sat_frontends.tools import jid
 try:
     from jinja2 import Markup as safe
 except ImportError:
@@ -35,6 +34,9 @@
     safe = lambda x: x
 
 
+log = getLogger(__name__)
+
+
 ## Widgets ##
 
 
@@ -119,6 +121,13 @@
     type = "text"
 
 
+class JidWidget(xmlui.JidWidget, ValueWidget):
+    type = "jid"
+
+    def __init__(self, xmlui_parent, value):
+        self.value = jid.JID(value)
+
+
 class LabelWidget(xmlui.LabelWidget, ValueWidget):
     type = "label"
 
@@ -137,7 +146,6 @@
 class JidInputWidget(xmlui.JidInputWidget, StringWidget):
     type = "jid"
 
-
 class TextBoxWidget(xmlui.TextWidget, InputWidget):
     type = "textbox"