Log in as user / Logout to real user.

This commit is contained in:
Malishev Dmitry 2011-12-30 15:48:20 +03:00
commit b13c07cca2
6 changed files with 111 additions and 32 deletions

View file

@ -11,9 +11,9 @@ $('document').ready(function() {
App.Utils.detectBrowser();
App.Ref.init();
//App.Env.world = 'USER';
App.Env.world = 'USER';
// Disabled cookie tab restoring. Enable if needed
if ('undefined' != typeof App.Tmp.loadTAB) {
/*if ('undefined' != typeof App.Tmp.loadTAB) {
App.Env.world = App.Tmp.loadTAB;
}
@ -25,7 +25,7 @@ $('document').ready(function() {
else {
App.Env.world = App.Constants.TABS[0];
}
}
}*/
App.Pages.init();
App.Core.listen();

View file

@ -1,3 +1,18 @@
App.Actions.login_as = function(evt)
{
var elm = $(evt.target);
var ref = elm.parents('.row');
var source = App.Helpers.evalJSON($(ref).find('.source').val())
App.Ajax.request('USER.loginAs', {'user': source.LOGIN_NAME}, function(reply) {
if (reply.result) {
location.href = "";
}
else {
App.Helpers.alert('You cannot do this action. Please contact support');
}
});
}
App.Actions.toggle_suspend = function(evt)
{
var elm = $(evt.target);
@ -156,6 +171,19 @@ App.Actions.change_password = function(evt)
App.Actions.profile_exit = function(evt)
{
evt.preventDefault();
if (App.Env.initialParams.real_user) { // exit "logged in as" state
App.Ajax.request('USER.logoutAs', {}, function(reply) {
if (reply.result) {
location.href = "";
}
else {
App.Helpers.alert('You cannot do this action. Please contact support');
}
});
return;
}
App.Ajax.request('MAIN.logoff', {}, function(reply) {
location.href = '';
});

View file

@ -134,6 +134,13 @@ App.Helpers.updateInitial = function()
});
$('#user-name').html(App.Env.initialParams.PROFILE.uid);
$('#page').removeClass('hidden');
if (App.Env.initialParams.real_user) {
var tpl = App.Templates.get('logged_as', 'general');
tpl.set(':YOU_ARE', App.Env.initialParams.real_user);
tpl.set(':USER', App.Env.initialParams.auth_user.uid.uid);
$('body').prepend(tpl.finalize());
}
}
App.Helpers.beforeAjax = function(jedi_method)

View file

@ -16,7 +16,8 @@ App.Templates.html = {
"Well," the farmer said, "I didn\'t have anymore rope, so I took off my belt and tied her tail to the rafter. In that moment, my pants fell down and my wife walked in ... Some things you just can\'t explain."']
},
general: {
over_bar: ['<span style="width:~!:OVER_PERCENTS~!%;right:-~!:OVER_PERCENTS_2~!%;" class="bar_overdraft"></span>'],
logged_as: ['<div id="logged-in-as">You (<i>~!:YOU_ARE~!</i>) are viewing <strong style="font-weight: bold; color: #2A8FBD;">~!:USER~!</strong> interface. Exit it to return to your own.</div>'],
over_bar: ['<span style="width:~!:OVER_PERCENTS~!%;right:-~!:OVER_PERCENTS_2~!%;" class="bar_overdraft"></span>'],
loading: ['<div id="loading" style="border-radius: 0 0 6px 6px;top: 0;font-size:19px;font-weight: bol;position:fixed;width: 150px; background-color:#6E6E62;z-index: 9999; padding: 8px;left: 50%;margin-left:-75px;">\
<center><div style="width: 105px; height:30px;background-image: url(\'../images/loading.png\');"></center>\
</div>'],
@ -397,13 +398,13 @@ App.Templates.html = {
</div>\
<div class="form-row cc">\
<label for="#" class="field-label">Package:</label>\
<select name="PACKAGE" class="styled">\
<select name="PACKAGE" class="styled disabled" >\
~!:PACKAGE_OPTIONS~!\
</select>\
</div>\
<div class="form-row cc">\
<label for="#" class="field-label">Shell:</label>\
<select class="styled" name="SHELL">\
<select class="styled disabled" name="SHELL">\
~!:SHELL_OPTIONS~!\
</select>\
</div>\
@ -474,6 +475,9 @@ App.Templates.html = {
</span>\
</div>\
<div class="user-details-box">\
<span class="prop-box prop-box_group-values cc user-details do_action_login_as">\
<span class="prop-value login-as do_action_login_as">login as</span>\
</span>\
<span class="prop-box user-name">\
<span class="prop-title">name:</span>\
<span class="prop-value">~!:FULLNAME~!</span>\