[TIC-Web] add ui control by user group 49/117749/3
authorChangHyun Lee <leechwin.lee@samsung.com>
Tue, 7 Mar 2017 09:03:58 +0000 (18:03 +0900)
committerChangHyun Lee <leechwin.lee@samsung.com>
Tue, 7 Mar 2017 09:48:41 +0000 (18:48 +0900)
- hide image creation button according to group.

Change-Id: Ia227ba2c8278a5e7b77ae9edd368f94b48756394
Signed-off-by: ChangHyun Lee <leechwin.lee@samsung.com>
controller/session.js
public/src/js/page/package.js

index fb84a83..d205c22 100644 (file)
@@ -71,7 +71,8 @@ Session.prototype.getSession = function(req, res) {
     if (req.session && req.session.email) {
         res.json({
             status: STATUS.CONNECTED,
-            group: session.group
+            email: req.session.email,
+            group: req.session.group
         });
     } else {
         res.json({
index be1ca24..116acde 100644 (file)
@@ -129,11 +129,7 @@ define([
             new Promise(function (resolve, reject) {
                 var jobObj = jobItem[0];
                 newJobModel = new JobModel(jobObj);
-                if (newJobModel) {
-                    resolve(newJobModel);
-                } else {
-                    reject();
-                }
+                resolve(newJobModel);
             });
         }
 
@@ -183,14 +179,6 @@ define([
         return data[name];
     }
 
-    /**
-     * FIXME: unused code
-     */
-    function _findTreeNode(name) {
-        var regular = name.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
-        return $tree.treeview('findNodes', [  '^' + regular + '$' ])[0];
-    }
-
     function _setDefaultPackage(defaultPackages) {
         var nodes = []
         var pickDefault = _.pick(pkgInfo, defaultPackages);
@@ -1170,6 +1158,8 @@ define([
                     $('#tic-navbar-login').toggleClass('hidden', true); // hidden
                     $('#tic-navbar-logout').toggleClass('hidden', false); // visible
                     $('#tic-page-logout-dropdown-toggle').html(user.data.user_email +'<span class="caret">');
+
+                    updatePermission();
                 } else {
                     if (user.reason === 'email') {
                         logger.info('invalid email');
@@ -1199,9 +1189,37 @@ define([
                     $('#tic-navbar-logout').toggleClass('hidden', true); // hidden
                     $('#tic-page-logout-dropdown-toggle').html('');
                 }
+                updatePermission();
             });
         });
 
+        function initSession() {
+            Util.GET('api/session')
+            .then(function (user) {
+                if (user.group !== 'GUEST') {
+                    $('#tic-navbar-login').toggleClass('hidden', true); // hidden
+                    $('#tic-navbar-logout').toggleClass('hidden', false); // visible
+                    $('#tic-page-logout-dropdown-toggle').html(user.email +'<span class="caret">');
+                }
+                updatePermission();
+            });
+        }
+
+        initSession();
+    }
+
+    function updatePermission() {
+        // TODO: add permission control of group
+        Util.GET('api/session')
+        .then(function (user) {
+            if (user.group === 'ADMIN') {
+                $('#tic-package-create').toggleClass('hidden', false);
+            } else if (user.group === 'MASTER') {
+                $('#tic-package-create').toggleClass('hidden', false);
+            } else { // 'GUEST'
+                $('#tic-package-create').toggleClass('hidden', true);
+            }
+        });
     }
 
     init();