Pman.Dialog.Login.bjs
[Pman.BAdmin] / Pman.Dialog.Login.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Roo.namespace('Pman.Dialog');
6
7 Pman.Dialog.Login= function() {}
8 Roo.apply(Pman.Dialog.Login.prototype, {
9
10  _strings : {
11   'e50b62fb8271673bacc2cfd9d80fbe7a' :"Login to the Management Portal",
12   '99dea78007133396a7b8ed70578ac6ae' :"Login",
13   'cfcd208495d565ef66e7dff9f98764da' :"0",
14   'cd4bcecae78474ea24c3f28350758a8c' :"Forgot your password ?",
15   'dc647eb65e6711e155375218212b3964' :"Password",
16   '06cf692a8d2bb0ab8318dc6c839ae931' :"Two-Factor Authentication Number (if relevant)",
17   '11163ed17ad9afc7680bb9e92f15d6fd' :"We have sent you a link to reset your password",
18   '5047040b025ce0295b58d42250014417' :"<div id=\"login-err\" class=\"dialog-err\" style=\"color:red\"></div>",
19   '24efa7ee4511563b16144f39706d594f' :"Notice",
20   '643a860f992333b8600ea264aca7c4fc' :"Email Address"
21  },
22  _named_strings : {
23   'username_placeholder' : '643a860f992333b8600ea264aca7c4fc' /* Email Address */ ,
24   '_force_value' : 'cfcd208495d565ef66e7dff9f98764da' /* 0 */ ,
25   'password_placeholder' : 'dc647eb65e6711e155375218212b3964' /* Password */ ,
26   'oath_password_placeholder' : '06cf692a8d2bb0ab8318dc6c839ae931' /* Two-Factor Authentication Number (if relevant) */ ,
27   'OK_html' : '99dea78007133396a7b8ed70578ac6ae' /* Login */ 
28  },
29
30  dialog : false,
31  callback:  false,
32
33  show : function(data, cb)
34  {
35   if (!this.dialog) {
36    this.create();
37   }
38
39   this.callback = cb;
40   this.data = data;
41   this.dialog.show(this.data._el);
42   if (this.form) {
43    this.form.reset();
44    this.form.setValues(data);
45    this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
46   }
47
48  },
49
50  create : function()
51  {
52   var _this = this;
53   this.dialog = Roo.factory({
54     xtype : 'Modal',
55     allow_close : false,
56     buttonPosition : 'center',
57     cls : 'enable-overflow login-dialog padding-bottom-trim',
58     _dialog_title_login : _this._strings['e50b62fb8271673bacc2cfd9d80fbe7a'] /* Login to the Management Portal */,
59     listeners : {
60      btnclick : function (e)
61       {
62           if(e == 'cancel'){
63               _this.dialog.hide();
64               return;
65           }
66           
67           _this.dialog.el.select('.modal-content', true).first().mask('Sending...');
68           _this.form.doAction('submit');
69       },
70      render : function (_self) {
71       
72           Roo.get('login-err').dom.innerHTML = "";
73           _this.dialog.el.select('.modal-content', true).first().unmask();
74           
75           if(Roo.isTouch){
76               this.animate = false;
77           }
78       },
79      show : function (_self)
80       {
81           this.setTitle( _this.dialog._dialog_title_login );
82           
83           if (!Roo.state.Manager.getProvider().expires) {
84               Roo.state.Manager.setProvider(new Roo.state.CookieProvider());
85           }
86           
87           _this.lastLogin = Roo.state.Manager.get('Pman.Login', {});
88           _this.form.findField('username').focus();
89           
90           if(_this.data.disable_oath == 0) {
91               _this.form.findField('oath_password').hide();
92               return;
93           }
94           
95           _this.form.findField('oath_password').show();
96       }
97     },
98     xns : Roo.bootstrap,
99     '|xns' : 'Roo.bootstrap',
100     buttons : [
101      {
102       xtype : 'Button',
103       html : _this._strings['99dea78007133396a7b8ed70578ac6ae'] /* Login */,
104       name : 'OK',
105       style : 'float: right',
106       weight : 'primary',
107       xns : Roo.bootstrap,
108       '|xns' : 'Roo.bootstrap'
109      },
110      {
111       xtype : 'Button',
112       _forgot_passwd_success_body : _this._strings['11163ed17ad9afc7680bb9e92f15d6fd'] /* We have sent you a link to reset your password */,
113       _forgot_passwd_success_title : _this._strings['24efa7ee4511563b16144f39706d594f'] /* Notice */,
114       href : '#',
115       html : _this._strings['cd4bcecae78474ea24c3f28350758a8c'] /* Forgot your password ? */,
116       removeClass : true,
117       style : 'float: left',
118       tag : 'a',
119       weight : 'link',
120       listeners : {
121        click : function () {
122         
123             _this.dialog.hide();
124             
125             var email = _this.form.findField('username').getValue();
126             
127             var _self = this;
128             
129             Pman.Dialog.BAdminForgotPassword.show({email : email}, function(){
130                 Roo.bootstrap.MessageBox.alert(_self._forgot_passwd_success_title, _self._forgot_passwd_success_body);
131             });
132         }
133       },
134       xns : Roo.bootstrap,
135       '|xns' : 'Roo.bootstrap'
136      }
137     ],
138     items  : [
139      {
140       xtype : 'Row',
141       listeners : {
142        render : function (_self)
143         {
144             _this.login = this;
145             
146             this.el.setVisibilityMode(Roo.Element.DISPLAY);
147         }
148       },
149       xns : Roo.bootstrap,
150       '|xns' : 'Roo.bootstrap',
151       items  : [
152        {
153         xtype : 'Column',
154         xs : 12,
155         xns : Roo.bootstrap,
156         '|xns' : 'Roo.bootstrap',
157         items  : [
158          {
159           xtype : 'Row',
160           xns : Roo.bootstrap,
161           '|xns' : 'Roo.bootstrap',
162           items  : [
163            {
164             xtype : 'Container',
165             cls : 'col-md-12',
166             xns : Roo.bootstrap,
167             '|xns' : 'Roo.bootstrap',
168             items  : [
169              {
170               xtype : 'Form',
171               labelAlign : 'left',
172               loadMask : false,
173               method : 'POST',
174               url : baseURL + '/Login',
175               listeners : {
176                actioncomplete : function (_self, action) {
177                     
178                     if(action.type == 'setdata'){
179                 
180                         if(
181                             _this.lastLogin && 
182                             _this.lastLogin.login_provider == ''
183                         ){
184                             _this.form.findField('username').setValue(_this.lastLogin.email);
185                         }
186                         
187                         Roo.get('login-err').dom.innerHTML = "";
188                         _this.errorRow.hide();
189                         _this.dialog.el.select('.modal-content', true).first().unmask();
190                         this.clearInvalid();
191                         return;
192                     }
193                      
194                     if(action.type == 'load'){
195                         
196                         return;
197                     }
198                     
199                     if (action.type =='submit') {
200                     
201                         _this.dialog.hide();
202                         
203                         var cb = function(){
204                             if (_this.callback) {
205                                 _this.callback.call(_this, action.result);
206                             }
207                             
208                             _this.form.reset();
209                             
210                             return;
211                         }
212                         
213                         if(
214                             !action.result.data.oath_key_enable &&
215                             !action.result.data.disable_oath
216                         ) {
217                             Pman.Dialog.BAdminStaffTwoFactorQRCode.show(
218                                 {id: action.result.data.id},
219                                 cb
220                             );
221                         }
222                         
223                         
224                     }
225                 },
226                actionfailed : function (_self, action) {
227                     Roo.log('action failed?!');
228                     Roo.log(action);
229                     
230                     _this.dialog.el.select('.modal-content', true).first().unmask();
231                     
232                     if (typeof(action) != 'undefined' && action.failureType == 'server') {
233                         
234                         switch (action.result.errorMsg) {
235                                     
236                             case 'Authenticated' :
237                                 
238                                 var data = Roo.apply(action.result.errors);
239                                 
240                                 data.target = _this.form.findField('username').getValue();
241                                 
242                                 Roo.bootstrap.MessageBox.alert("Error", "odd error messages");
243                                 
244                                 break;
245                                 
246                             case 'NEW-IP-ADDRESS' :
247                             case 'PENDING-IP-ADDRESS' :
248                             case 'BAD-IP-ADDRESS' :
249                             case 'BLOCKED-IP-ADDRESS' :
250                                 
251                                 _this.dialog.hide();
252                                 
253                                 Pman.Dialog.LoginNotice.show({
254                                     status : action.result.errorMsg,
255                                     ip : action.result.errors.ip
256                                 });
257                                 
258                                 break;
259                                 
260                             default:
261                                _this.errorRow.show();
262                                 Roo.get('login-err').dom.innerHTML = action.result.errorMsg;
263                                 break;
264                         }
265                         
266                         return;
267                     }
268                     
269                     Roo.get('login-err').dom.innerHTML = "Fill in all the required fields";
270                 },
271                render : function (_self) {
272                     _this.form = _self;
273                 }
274               },
275               xns : Roo.bootstrap,
276               '|xns' : 'Roo.bootstrap',
277               items  : [
278                {
279                 xtype : 'Container',
280                 cls : 'col-sm-12',
281                 xns : Roo.bootstrap,
282                 '|xns' : 'Roo.bootstrap',
283                 items  : [
284                  {
285                   xtype : 'Input',
286                   allowBlank : false,
287                   inputType : 'email',
288                   name : 'username',
289                   placeholder : _this._strings['643a860f992333b8600ea264aca7c4fc'] /* Email Address */,
290                   vtype : 'email',
291                   listeners : {
292                    specialkey : function (_self, e)
293                     {
294                         if(e.getKey() == 13){
295                             _this.dialog.el.select('.modal-content', true).first().mask('Sending...');
296                             _this.form.doAction('submit');
297                         }
298                         
299                     }
300                   },
301                   xns : Roo.bootstrap,
302                   '|xns' : 'Roo.bootstrap'
303                  },
304                  {
305                   xtype : 'Input',
306                   allowBlank : false,
307                   inputType : 'password',
308                   name : 'password',
309                   placeholder : _this._strings['dc647eb65e6711e155375218212b3964'] /* Password */,
310                   listeners : {
311                    specialkey : function (_self, e)
312                     {
313                         if(e.getKey() == 13){
314                             _this.dialog.el.select('.modal-content', true).first().mask('Sending...');
315                             _this.form.doAction('submit');
316                         }
317                     }
318                   },
319                   xns : Roo.bootstrap,
320                   '|xns' : 'Roo.bootstrap'
321                  },
322                  {
323                   xtype : 'NumberField',
324                   allowBlank : true,
325                   allowDecimals : false,
326                   allowNegative : false,
327                   allowZero : true,
328                   decimalPrecision : 0,
329                   maxLength : 6,
330                   name : 'oath_password',
331                   placeholder : _this._strings['06cf692a8d2bb0ab8318dc6c839ae931'] /* Two-Factor Authentication Number (if relevant) */,
332                   listeners : {
333                    specialkey : function (_self, e)
334                     {
335                         if(e.getKey() == 13){
336                             _this.dialog.el.select('.modal-content', true).first().mask('Sending...');
337                             _this.form.doAction('submit');
338                         }
339                     }
340                   },
341                   xns : Roo.bootstrap,
342                   '|xns' : 'Roo.bootstrap'
343                  },
344                  {
345                   xtype : 'Input',
346                   inputType : 'hidden',
347                   name : '_force',
348                   value : 0,
349                   xns : Roo.bootstrap,
350                   '|xns' : 'Roo.bootstrap'
351                  }
352                 ]
353                }
354               ]
355              }
356             ]
357            }
358           ]
359          },
360          {
361           xtype : 'Row',
362           listeners : {
363            render : function (_self)
364             {
365                 _this.errorRow = this;
366             }
367           },
368           xns : Roo.bootstrap,
369           '|xns' : 'Roo.bootstrap',
370           items  : [
371            {
372             xtype : 'Container',
373             cls : 'col-md-12',
374             xns : Roo.bootstrap,
375             '|xns' : 'Roo.bootstrap',
376             items  : [
377              {
378               xtype : 'Container',
379               cls : 'bg-danger',
380               html : _this._strings['5047040b025ce0295b58d42250014417'] /* <div id="login-err" class="dialog-err" style="color:red"></div> */,
381               style : 'margin-bottom: 15px;\n    padding: 5px;',
382               xns : Roo.bootstrap,
383               '|xns' : 'Roo.bootstrap'
384              }
385             ]
386            }
387           ]
388          }
389         ]
390        }
391       ]
392      }
393     ]
394    }  );
395  }
396 });
397 Roo.apply(Pman.Dialog.Login, Pman.Dialog.Login.prototype);