[Kimchi-devel] [PATCH V2 2/4] Authorization: remove host/template tabs for non-root users

wenwang at linux.vnet.ibm.com wenwang at linux.vnet.ibm.com
Mon Jul 21 08:21:14 UTC 2014


From: Wen Wang <wenwang at linux.vnet.ibm.com>

V1 -> V2:
read only "roles" from cookie instead of roles of each tab(Aline)

This patch removed host/template tabs from non-root users

Signed-off-by: Wen Wang <wenwang at linux.vnet.ibm.com>
---
 ui/js/src/kimchi.main.js |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/kimchi.main.js
index 8eb4d73..9488299 100644
--- a/ui/js/src/kimchi.main.js
+++ b/ui/js/src/kimchi.main.js
@@ -23,13 +23,16 @@ kimchi.main = function() {
         $(tabs).each(function(i, tab) {
             var title = tab['title'];
             var path = tab['path'];
-            tabsHtml.push(
-                '<li>',
-                    '<a class="item" href="', path, '">',
-                        title,
-                    '</a>',
-                '</li>'
-            );
+            var mode = tab['mode'];
+            if (mode != 'none') {
+                tabsHtml.push(
+                    '<li>',
+                        '<a class="item" href="', path, '">',
+                            title,
+                        '</a>',
+                    '</li>'
+                );
+            }
         });
         return tabsHtml.join('');
     };
@@ -41,9 +44,14 @@ kimchi.main = function() {
             var titleKey = $tab.find('title').text();
             var title = i18n[titleKey] ? i18n[titleKey] : titleKey;
             var path = $tab.find('path').text();
+            var roles = kimchi.cookie.get('roles');
+            var roleString = 'JSON.parse(roles).' + titleKey.toLowerCase();
+            var role = eval(roleString);
+            var mode = $tab.find('[role="' + role + '"]').attr('mode');
             tabs.push({
                 title: title,
-                path: path
+                path: path,
+                mode: mode
             });
         });
 
-- 
1.7.1




More information about the Kimchi-devel mailing list