18 var logger = Logger('login.js');
21 * listener of input change in login
23 function _loginFormHandler() {
24 $('#tic-page-login-form-email').on('input change', function(e) {
25 if ($(e.target).hasClass('has-danger') === false) {
26 $('#tic-page-form-help-email').html('');
29 $('#tic-page-login-form-password').on('input change', function(e) {
30 if ($(e.target).hasClass('has-danger') === false) {
31 $('#tic-page-form-help-password').html('');
37 * listener of submit in login
39 function _loginHandler() {
40 $('#tic-page-login-form').validator().on('submit', function (e) {
41 // prevent for sumbit of form
44 Util.POST('api/session', {
45 email : $('#tic-page-login-form-email').val(),
46 password: $('#tic-page-login-form-password').val()
48 .then(function (user) {
49 if (user.result === 'success') {
50 logger.info('login success');
51 $('#tic-page-login-dropdown-toggle').dropdown('toggle');
52 // toggle for login and logout
53 $('#tic-navbar-login').toggleClass('hidden', true); // hidden
54 $('#tic-navbar-logout').toggleClass('hidden', false); // visible
55 $('#tic-page-logout-dropdown-toggle').html(user.data.user_email +'<span class="caret">');
59 if (user.reason === 'email') {
60 logger.info('invalid email');
61 $('#tic-page-form-group-email').addClass('has-error has-danger');
62 $('#tic-page-form-help-email').html('Invalid email.');
63 } else if (user.reason === 'password') {
64 logger.info('invalid password');
65 $('#tic-page-form-group-password').addClass('has-error has-danger');
66 $('#tic-page-form-help-password').html('Invalid password.');
74 * listener of submit in logout
76 function _logoutHandler() {
77 $('#tic-page-logout-form').on('submit', function (e) {
78 // prevent for sumbit of form
81 Util.DELETE('api/session')
82 .then(function (result) {
83 if (result.result === 'success') {
84 logger.info('logout success');
85 $('#tic-page-logout-dropdown-toggle').dropdown('toggle');
86 // toggle for logout and login
87 $('#tic-navbar-login').toggleClass('hidden', false); // visible
88 $('#tic-navbar-logout').toggleClass('hidden', true); // hidden
89 $('#tic-page-logout-dropdown-toggle').html('');
97 * Permission control in login
99 function _updateLogin(user) {
100 if (user.group !== 'GUEST') {
101 $('#tic-navbar-login').toggleClass('hidden', true); // hidden
102 $('#tic-navbar-logout').toggleClass('hidden', false); // visible
103 $('#tic-page-logout-dropdown-toggle').html(user.email +'<span class="caret">');
108 * Permission control in packages page
110 function _updatePackagePage(group) {
111 // Image Creation Button
112 if (group === 'GUEST') {
113 $('#tic-package-create').toggleClass('hidden', true);
115 $('#tic-package-create').toggleClass('hidden', false);
120 * Permission control in job page
122 function _updateJobPage (user) {
123 Job.updateUserInfo(user);
127 * Permission control in image page
129 function _updateImagePage (user) {
130 Image.updateImageInfo(user);
134 * Permission control of group
136 function updatePermission() {
137 Util.GET('api/session')
138 .then(function (user) {
140 _updatePackagePage(user.group);
141 _updateJobPage(user);
142 _updateImagePage(user);
160 * Update control state by permission
161 * @method updatePermission
163 updatePermission: updatePermission