Forked mumble-django project from https://bitbucket.org/Svedrin/mumble-django
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.5 KiB

// kate: space-indent on; indent-width 4; replace-tabs on;
Ext.namespace('Ext.ux');
Ext.ux.ButtonLogout = Ext.extend(Ext.Button, {
text: gettext('Logout'),
handler: function(){
Accounts.logout( function(provider, response){
if( response.result.success ){
window.location.reload();
}
else{
Ext.Msg.show({
title: gettext("Login error"),
msg: gettext("Unable to log out."),
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK
});
}
} );
}
});
function handleLogin(){
Accounts.login(Ext.fly('login_field_username').getValue(), Ext.fly('login_field_password').getValue(),
function(provider, response){
if( response.result.success ){
window.location.reload();
}
else{
Ext.Msg.show({
title: gettext("Login error"),
msg: gettext("Unable to log in."),
icon: Ext.MessageBox.ERROR,
buttons: Ext.MessageBox.OK
});
}
});
}
Ext.ux.ButtonLogin = Ext.extend(Ext.Button, {
text: gettext('Login'),
enableToggle: true,
toggleHandler: function(button, state){
if( !this.wnd ){
this.wnd = new Ext.Window({
title: gettext('Login'),
closable: false,
width: 300,
height: 130,
layout: 'fit',
items: {
id: 'login_form',
layout: 'form',
border: false,
defaults: { anchor: '-20px' },
buttons: [{
text: gettext('Submit'),
handler: handleLogin
}],
items: [{
id: 'login_field_username',
xtype: "textfield",
width: 50,
fieldLabel: gettext("User name"),
name: "username",
listeners: {
specialkey: function( f, e ){
if( e.getKey() == e.ENTER )
Ext.fly('login_field_password').focus();
}
}
}, {
id: 'login_field_password',
xtype: 'textfield',
fieldLabel: gettext("Password"),
inputType: "password",
name: "password",
listeners: {
specialkey: function( f, e ){
if( e.getKey() == e.ENTER )
handleLogin();
}
}
}],
},
});
}
if( state ){
this.wnd.show();
mypos = this.getPosition();
mysize = this.getSize();
winsize = this.wnd.getSize();
this.wnd.setPosition(
mypos[0] + mysize.width - winsize.width,
mypos[1] - winsize.height
);
(function(){
Ext.fly('login_field_username').focus();
}).defer(250);
}
else
this.wnd.hide();
}
});