]> git.proxmox.com Git - pmg-gui.git/blame - js/LoginWindow.js
avoid to many gettext entries
[pmg-gui.git] / js / LoginWindow.js
CommitLineData
fe81f069
DM
1Ext.define('PMG.window.LoginWindow', {
2 extend: 'Ext.window.Window',
3
4 controller: {
5
6 xclass: 'Ext.app.ViewController',
7
8 onLogon: function() {
9 var me = this;
10
11 var form = this.lookupReference('loginForm');
12 var unField = this.lookupReference('usernameField');
13 var view = this.getView();
14
15 if(form.isValid()){
16 view.el.mask(gettext('Please wait...'), 'x-mask-loading');
17
18 form.submit({
19 failure: function(f, resp){
20 view.el.unmask();
21 var handler = function() {
22 var uf = me.lookupReference('usernameField');
23 uf.focus(true, true);
24 };
25
26 Ext.MessageBox.alert(gettext('Error'),
27 gettext("Login failed. Please try again"),
28 handler);
29 },
30 success: function(f, resp){
31 view.el.unmask();
32
33 var handler = view.handler || Ext.emptyFn;
34 handler.call(me, resp.result.data);
35 view.close();
36 }
37 });
38 }
39 },
40
41 control: {
42 'field[name=username]': {
43 specialkey: function(f, e) {
44 if (e.getKey() === e.ENTER) {
45 var pf = this.lookupReference('passwordField');
46 if (pf.getValue()) {
47 this.onLogon();
48 } else {
49 pf.focus(false);
50 }
51 }
52 }
53 },
54 'field[name=password]': {
55 specialkey: function(f, e) {
56 if (e.getKey() === e.ENTER) {
57 this.onLogon();
58 }
59 }
60 },
61 'button[reference=loginButton]': {
62 click: 'onLogon'
63 },
64 '#': {
65 show: function() {
66 var unField = this.lookupReference('usernameField');
67 unField.focus();
68 }
69 }
70 }
71 },
72
73 width: 400,
74
75 modal: true,
76
77 border: false,
78
79 draggable: true,
80
81 closable: false,
82
83 resizable: false,
84
85 layout: 'auto',
86
87 title: gettext('Proxmox Mail Gateway Login'),
88
89 defaultFocus: 'usernameField',
90
91 items: [{
92 xtype: 'form',
93 layout: 'form',
94 url: '/api2/extjs/access/ticket',
95 reference: 'loginForm',
96
97 fieldDefaults: {
98 labelAlign: 'right',
99 allowBlank: false
100 },
101
102 items: [
103 {
104 xtype: 'textfield',
105 fieldLabel: gettext('User name'),
106 name: 'username',
107 itemId: 'usernameField',
108 reference: 'usernameField',
109 stateId: 'login-username'
110 },
111 {
112 xtype: 'textfield',
113 inputType: 'password',
114 fieldLabel: gettext('Password'),
115 name: 'password',
116 reference: 'passwordField'
117 },
118 {
119 xtype: 'hiddenfield',
120 name: 'realm',
121 value: 'pam',
122 }
123 ],
124 buttons: [
125 {
126 text: gettext('Login'),
127 reference: 'loginButton'
128 }
129 ]
130 }]
131 });