]>
git.proxmox.com Git - proxmox-backup.git/blob - www/LoginView.js
1 Ext
.define('PBS.LoginView', {
2 extend
: 'Ext.container.Container',
6 xclass
: 'Ext.app.ViewController',
8 submitForm: function() {
10 var view
= me
.getView();
11 var loginForm
= me
.lookupReference('loginForm');
12 var unField
= me
.lookupReference('usernameField');
13 var saveunField
= me
.lookupReference('saveunField');
15 if (!loginForm
.isValid()) {
19 let params
= loginForm
.getValues();
21 params
.username
= params
.username
+ '@' + params
.realm
;
24 if (loginForm
.isVisible()) {
25 loginForm
.mask(gettext('Please wait...'), 'x-mask-loading');
28 // set or clear username
29 var sp
= Ext
.state
.Manager
.getProvider();
30 if (saveunField
.getValue() === true) {
31 sp
.set(unField
.getStateId(), unField
.getValue());
33 sp
.clear(unField
.getStateId());
35 sp
.set(saveunField
.getStateId(), saveunField
.getValue());
37 Proxmox
.Utils
.API2Request({
38 url
: '/api2/extjs/access/ticket',
41 success: function(resp
, opts
) {
42 // save login data and create cookie
43 PBS
.Utils
.updateLoginData(resp
.result
.data
);
44 PBS
.app
.changeView('mainview');
46 failure: function(resp
, opts
) {
47 Proxmox
.Utils
.authClear();
51 gettext('Login failed. Please try again')
58 'field[name=username]': {
59 specialkey: function(f
, e
) {
60 if (e
.getKey() === e
.ENTER
) {
61 var pf
= this.lookupReference('passwordField');
69 change: function(f
, value
) {
70 var dt
= Ext
.Date
.add(new Date(), Ext
.Date
.YEAR
, 10);
71 Ext
.util
.Cookies
.set('PBSLangCookie', value
, dt
);
72 this.getView().mask(gettext('Please wait...'), 'x-mask-loading');
73 window
.location
.reload();
76 'button[reference=loginButton]': {
79 'window[reference=loginwindow]': {
81 var sp
= Ext
.state
.Manager
.getProvider();
82 var checkboxField
= this.lookupReference('saveunField');
83 var unField
= this.lookupReference('usernameField');
85 var checked
= sp
.get(checkboxField
.getStateId());
86 checkboxField
.setValue(checked
);
88 if(checked
=== true) {
89 var username
= sp
.get(unField
.getStateId());
90 unField
.setValue(username
);
91 var pwField
= this.lookupReference('passwordField');
117 xtype
: 'proxmoxlogo',
121 xtype
: 'versioninfo',
133 reference
: 'loginwindow',
138 defaultFocus
: 'usernameField',
144 title
: gettext('Proxmox Backup Server Login'),
152 defaultButton
: 'loginButton',
153 url
: '/api2/extjs/access/ticket',
154 reference
: 'loginForm',
164 fieldLabel
: gettext('User name'),
166 itemId
: 'usernameField',
167 reference
: 'usernameField',
168 stateId
: 'login-username'
172 inputType
: 'password',
173 fieldLabel
: gettext('Password'),
175 itemId
: 'passwordField',
176 reference
: 'passwordField',
179 xtype
: 'pmxRealmComboBox',
183 xtype
: 'proxmoxLanguageSelector',
184 fieldLabel
: gettext('Language'),
185 value
: Ext
.util
.Cookies
.get('PBSLangCookie') || Proxmox
.defaultLang
|| 'en',
187 reference
: 'langField',
194 fieldLabel
: gettext('Save User name'),
195 name
: 'saveusername',
196 reference
: 'saveunField',
197 stateId
: 'login-saveusername',
203 text
: gettext('Login'),
204 reference
: 'loginButton',