]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/window/LoginWindow.js
remove unneccesary title and border
[pve-manager.git] / www / manager6 / window / LoginWindow.js
CommitLineData
88d5be7d
DM
1Ext.define('PVE.window.LoginWindow', {
2 extend: 'Ext.window.Window',
3
04237985
DM
4 controller: {
5
6 xclass: 'Ext.app.ViewController',
da096950
DM
7
8 onLogon: function() {
9 var me = this;
10
11 var form = this.lookupReference('loginForm');
12 var view = this.getView();
13
14 if(form.isValid()){
15 view.el.mask(gettext('Please wait...'), 'x-mask-loading');
16
17 form.submit({
18 failure: function(f, resp){
19 view.el.unmask();
20 var handler = function() {
21 var uf = me.lookupReference('usernameField');
22 uf.focus(true, true);
23 };
24
25 Ext.MessageBox.alert(gettext('Error'),
26 gettext("Login failed. Please try again"),
27 handler);
28 },
29 success: function(f, resp){
30 view.el.unmask();
31
32 var handler = view.handler || Ext.emptyFn;
33 handler.call(me, resp.result.data);
34 view.close();
35 }
36 });
37 }
38 },
39
40 control: {
41 'field[name=username]': {
42 specialkey: function(f, e) {
43 if (e.getKey() === e.ENTER) {
44 var pf = this.lookupReference('passwordField');
45 if (pf.getValue()) {
46 this.onLogon();
47 } else {
48 pf.focus(false);
49 }
50 }
51 }
52 },
53 'field[name=password]': {
54 specialkey: function(f, e) {
55 if (e.getKey() === e.ENTER) {
56 this.onLogon();
57 }
58 }
59 },
60 'field[name=realm]': {
61 change: function(f, value) {
62 var otp_field = this.lookupReference('otpField');
63 if (f.needOTP(value)) {
64 otp_field.setVisible(true);
65 otp_field.setDisabled(false);
66 } else {
67 otp_field.setVisible(false);
68 otp_field.setDisabled(true);
69 }
70 }
71 },
72 'field[name=lang]': {
73 change: function(f, value) {
74 var dt = Ext.Date.add(new Date(), Ext.Date.YEAR, 10);
75 Ext.util.Cookies.set('PVELangCookie', value, dt);
76 this.getView().mask(gettext('Please wait...'), 'x-mask-loading');
77 window.location.reload();
78 }
79 },
80 'button[reference=loginButton]': {
81 click: 'onLogon'
82 }
83 }
04237985 84 },
da096950 85
3262415b
DM
86 width: 400,
87
88 modal: true,
89
90 border: false,
91
92 draggable: true,
93
94 closable: false,
95
96 resizable: false,
97
98 layout: 'auto',
99
100 title: gettext('Proxmox VE Login'),
101
da096950
DM
102 items: [{
103 xtype: 'form',
104 layout: 'form',
105 url: '/api2/extjs/access/ticket',
106 reference: 'loginForm',
107
108 fieldDefaults: {
109 labelAlign: 'right',
110 allowBlank: false
111 },
112
113 items: [
114 {
115 xtype: 'textfield',
116 fieldLabel: gettext('User name'),
117 name: 'username',
118 reference: 'usernameField',
119 blankText: gettext("Enter your user name")
120 },
121 {
122 xtype: 'textfield',
123 inputType: 'password',
124 fieldLabel: gettext('Password'),
125 name: 'password',
126 reference: 'passwordField',
127 blankText: gettext("Enter your password")
128 },
129 {
130 xtype: 'textfield',
131 fieldLabel: gettext('OTP'),
132 name: 'otp',
133 reference: 'otpField',
134 allowBlank: false,
135 hidden: true
136 },
137 {
138 xtype: 'pveRealmComboBox',
139 name: 'realm'
140 },
141 {
142 xtype: 'pveLanguageSelector',
143 fieldLabel: gettext('Language'),
144 value: Ext.util.Cookies.get('PVELangCookie') || 'en',
145 name: 'lang',
146 reference: 'langField',
147 submitValue: false
148 }
149 ],
150 buttons: [
151 {
152 text: gettext('Login'),
153 reference: 'loginButton'
154 }
155 ]
156 }]
157 });