From: Zhou Zheng Sheng <zhshzhou@linux.vnet.ibm.com>
Add minimal UI just enough to re-produce issue 342.
https://github.com/kimchi-project/kimchi/issues/342
Signed-off-by: Zhou Zheng Sheng <zhshzhou@linux.vnet.ibm.com>
Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
---
plugins/sample/__init__.py | 3 ++-
plugins/sample/sample.conf | 5 +++++
plugins/sample/ui/config/tab-ext.xml | 9 +++++----
plugins/sample/ui/pages/i18n.json.tmpl | 9 +++++++++
plugins/sample/ui/pages/tab.html.tmpl | 6 ++++++
5 files changed, 27 insertions(+), 5 deletions(-)
create mode 100644 plugins/sample/ui/pages/i18n.json.tmpl
create mode 100644 plugins/sample/ui/pages/tab.html.tmpl
diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py
index 3183898..2101aed 100644
--- a/plugins/sample/__init__.py
+++ b/plugins/sample/__init__.py
@@ -26,6 +26,7 @@ from cherrypy import expose
from kimchi.config import PluginPaths
from kimchi.control.base import Collection, Resource
+from kimchi.root import Root
from plugins.sample.i18n import messages
from plugins.sample.model import Model
@@ -33,7 +34,7 @@ from plugins.sample.model import Model
model = Model()
-class Drawings(Resource):
+class Drawings(Root):
def __init__(self):
Resource.__init__(self, model)
self.description = Description(model)
diff --git a/plugins/sample/sample.conf b/plugins/sample/sample.conf
index c4e80f7..78a9f4e 100644
--- a/plugins/sample/sample.conf
+++ b/plugins/sample/sample.conf
@@ -5,3 +5,8 @@ uri = "/plugins/sample"
[/]
tools.trailing_slash.on = False
+tools.sessions.on = True
+tools.sessions.name = 'kimchi'
+tools.sessions.httponly = True
+tools.sessions.locking = 'explicit'
+tools.sessions.storage_type = 'ram'
diff --git a/plugins/sample/ui/config/tab-ext.xml b/plugins/sample/ui/config/tab-ext.xml
index 948fa07..b98c126 100644
--- a/plugins/sample/ui/config/tab-ext.xml
+++ b/plugins/sample/ui/config/tab-ext.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<!--<tabs-ext>
+<tabs-ext>
<tab>
- <title>Test</title>
- <filePath>plugins/sample/ui/tab.html</filePath>
+ <title>SampleTab</title>
+ <path>plugins/sample/tab.html</path>
+ <nls>plugins/sample/i18n.html</nls>
here, an nls tag is designed for user to specify which file is used
for i18n content.
But go through ' [PATCH V2 5/7] Issue #342: load i18n.html of the
plugin'.
In javascript code, the path is hardcoded to be below
var pluginI18nUrl = 'plugins/{plugin}/i18n.json';
If it is mandatory for a plugin to put i18n content to a file named i18n.html directly under the plugin folder. then remove that nls tag.
Personally, as a plugin descriptor xml file is provided for a plugin developer to specify configuration of a plugin,
I prefer to leave the nls tag there to give the plugin developer the freedom to put wherever the i18n file to be.
</tab>
-</tabs-ext>-->
\ No newline at end of file
+</tabs-ext>
diff --git a/plugins/sample/ui/pages/i18n.json.tmpl b/plugins/sample/ui/pages/i18n.json.tmpl
new file mode 100644
index 0000000..a153e2d
--- /dev/null
+++ b/plugins/sample/ui/pages/i18n.json.tmpl
@@ -0,0 +1,9 @@
+#unicode UTF-8
+#import gettext
+#from kimchi.cachebust import href
+#silent t = gettext.translation($lang.domain, $lang.localedir, languages=$lang.lang)
+#silent _ = t.gettext
+#silent _t = t.gettext
+{
+ "SampleTab": "$_("SampleTab")"
+}
diff --git a/plugins/sample/ui/pages/tab.html.tmpl b/plugins/sample/ui/pages/tab.html.tmpl
new file mode 100644
index 0000000..49fc4ec
--- /dev/null
+++ b/plugins/sample/ui/pages/tab.html.tmpl
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html>
+<body>
+Hello, world
+</body>
+</html>