//<script type="text/javascript">
+/**
+ * login code -
+ * fires Pman 'authrefreshed' event on every poll to server..
+ *
+ */
/***
re-arrange language code...
-
* flipping language should be like this:
*
* Ext.apply(_T, _T[lang]);
events : {
'render' : true
+
},
disabled : false,
versionWarn: false,
sending : false,
+ checkConnection : false, // the Roo.data.Connection for checking if still authenticated.
+
onLoad : function() // called on page load...
{
// load
//console.log('call failure');
return Pman.Login.failure(response,opts);
}
+
+
if (!res.data.id) { // id=0 == login failure.
return this.show(true);
}
this.fillAuth(res.data);
this.checkFails =0;
Pman.onload();
+ return false;
},
failure : Pman.Login.show,
scope : Pman.Login
return;
}
this.sending = true;
-
- Roo.Ajax.request({
+ if (!this.checkConnection) {
+ this.checkConnection = new Roo.data.Connection();
+ }
+ this.checkConnection.request({
url: baseURL + '/Login.js',
params: {
getAuthUser: true
var res = Pman.processResponse(response);
//console.log(res);
if ( Pman.Login.checkFails > 2) {
- Pman.Preview.disable();
+ if (typeof(Pman.Preview) != 'undefined') {
+ Pman.Preview.disable(); // not sure why this was added - but MO chrome does not have it.
+ }
Roo.MessageBox.alert("Error", res.errorMsg ? res.errorMsg :
"Error getting authentication status. - try reloading");
return;
this.fillAuth(res.data);
this.checkFails =0;
- Pman.onload();
+
+
+ if (Pman.onload) {
+ Pman.onload();
+ }
+ if (Pman.Login.callback) {
+ Pman.Login.callback();
+
+ }
+ return false;
},
fillAuth: function(au) {
this.authUserId = au.id;
this.authUser = au;
this.lastChecked = new Date();
- Pman.fireEvent('authrefreshed', au);
+ // if login is used on other applicaitons..
+ if (Pman.fireEvent) { Pman.fireEvent('authrefreshed', au); }
+
+
//Pman.Tab.FaxQueue.newMaxId(au.faxMax);
//Pman.Tab.FaxTab.setTitle(au.faxNumPending);
Pman.Login.intervalID = window.setInterval(function() {
Pman.Login.check(false);
}, 120000); // every 120 secs = 2mins..
-
+ return true;
},
Roo.MessageBox.alert("Error", "Fill in your email address");
return;
}
- Roo.Ajax.request({
- url: baseURL + '/Login.js',
+ new Pman.Request({
+ url: baseURL + '/Login.js',
+ mask : "Sending Password Reset email",
params: {
passwordRequest: n
},
method: 'POST',
- success: function(response, opts) { // check successfull...
+ success: function(res) { // check successfull...
- var res = Pman.processResponse(response);
if (!res.success) { // error!
Roo.MessageBox.alert("Error" , res.errorMsg ? res.errorMsg : "Problem Requesting Password Reset");
return;
//act.result.errorMsg// invalid form element list...
Pman.Login.dialog.el.unmask();
- Roo.MessageBox.alert("Error", act.result.errorMsg ? act.result.errorMsg :
- "Login failed - communication error - try again.");
+ var msg = act.result.errorMsg || act.result.message;
+ msg = msg || "Login failed - communication error - try again.";
+ Roo.MessageBox.alert("Error", msg);
},
actioncomplete: function(re, act) {
//Roo.get('loading').show();
Roo.get('loading-mask').show();
}
-
- Pman.onload();
-
+ if (Pman.onload) {
+ Pman.onload();
+ }
+ if (Pman.Login.callback) {
+ Pman.Login.callback();
+ }
}
}
if (ev.keyCode == 13) {
Pman.Login.dialog.el.mask("Logging in");
Pman.Login.form.doAction('submit', {
- url: baseURL + '/Login.json',
+ url: baseURL + '/Login',
method: 'POST'
});
}
ef.dom.style.margin = 10;
this.form.render(ef.dom);
- // logoprefix comes from base config.
- Pman.Login.form.el.createChild({
+ // logoprefix comes from base config - normally the owner company logo...
+ // ???
+
+ var img = typeof(appLogo) != 'undefined' && appLogo.length ? appLogo :
+ rootURL + '/Pman/'+appNameShort + '/templates/images/logo.gif' ;
+
+ Pman.Login.form.el.createChild({
tag: 'img',
- src: rootURL + '/Pman/'+appNameShort + '/templates/images/logo.gif',
+ src: img,
style: 'margin-bottom: 10px;'
},
Pman.Login.form.el.dom.firstChild
- );
+ ).on('error', function() {
+ this.dom.style.visibility = 'hidden';
+ this.dom.style.height = '10px';
+ });
var vp = this.dialog.getLayout().add('center', new Roo.ContentPanel(ef, {
autoCreate : true,
this.resizeToLogo.defer(1000,this);
return;
}
- var w = Ext.lib.Dom.getViewWidth() - 100;
- var h = Ext.lib.Dom.getViewHeight() - 100;
+ var w = Roo.lib.Dom.getViewWidth() - 100;
+ var h = Roo.lib.Dom.getViewHeight() - 100;
Pman.Login.dialog.resizeTo(Math.max(350, Math.min(sz.width + 30, w)),Math.min(sz.height+200, h));
Pman.Login.dialog.center();
},
- show: function (modal)
+ show: function (modal, cb)
{
if (this.disabled) {
return;
}
+
+
+
+ this.callback = cb; // used for non-pman usage..
modal = modal || false;
if (Pman.Login.authUserId < 0) { // logout!?
return;
}
//incomming._node = tnode;
+ // why we want this non-modal????
this.form.reset();
this.dialog.modal = !modal;
this.dialog.show();
this.dialog.el.unmask();
this.resizeToLogo.defer(1000,this);
+ // if we have not created a provider.. do it now...
+ if (!Roo.state.Manager.getProvider().expires) {
+ Roo.state.Manager.setProvider(new Roo.state.CookieProvider());
+ }
+
this.form.setValues({
'username' : Roo.state.Manager.get('Pman.Login.username.'+appNameShort, ''),
});
},
switchLang : function (lang) {
- if (!lang.length) {
+ if (!lang || !lang.length) {
return;
}
if (typeof(_T.en) == 'undefined') {