/**
*
- * >>> Pman.layout.getRegion('center').tabs.stripWrap
- * ==> tab.???
- * var tbh = Pman.layout.getRegion('center').tabs.stripWrap.child('div').createChild(
- *
- * {tag: 'div', style: 'display:block;position:absolute;top:2;left:300;width:100%;height:25px'});
- *
- *
+ *
* CHANGES
* - gtranslate moved to Pman.GoogleTranslate
*
-Roo.XComponent.on('register', function(e) { return Pman.xregister(e); });
+Roo.XComponent.on('register', function(e) {
+ if (typeof(Pman) != 'undefined') { return Pman.xregister(e); } return true;
+});
+Roo.XComponent.on('beforebuild', function(e) {
+ if (typeof(Pman) != 'undefined') { return Pman.xbeforebuild(e); } return true;
+});
+
+Roo.XComponent.on('buildcomplete',
+ function() {
+ Pman.building = false;
+ Pman.layout.getRegion('center').showPanel(0);
+ Pman.layout.endUpdate();
+ Pman.addTopToolbar();
+ Pman.finalize();
+ Pman.fireEvent('load',this);
+
+ if (!Pman.layout.getRegion('south').panels.length) {
+ Pman.layout.getRegion('south').hide();
+ }
+
+
+} );
+//Roo.debug = 1;
Pman = new Roo.Document(
},
- fakeRoot : {
+ fakeRoot : new Roo.XComponent( {
modKey : '000',
- module : Pman,
+ module : 'Pman',
region : 'center',
parent : false,
isTop : true,
name : "Pman Base",
disabled : false,
- permname: ''
- },
+ permname: '' ,
+ render : function (el) { this.el = this.layout; }
+ }),
layout: false,
}
});
-
-
- Pman.register( this.fakeRoot );
+ this.fakeRoot.layout = this.layout;
+ /*
+ Pman.register( Roo.apply(this.fakeRoot, {
+ layout : this.layout
+
+
+ } ) );
+ */
// creates all the modules ready to load..
this.layout.beginUpdate();
Pman.building = true;
-
- this.buildModules(this,
- function() {
-
- _this.layout.getRegion('center').showPanel(0);
- _this.layout.endUpdate();
- _this.addTopToolbar();
- _this.finalize();
- _this.fireEvent('load',this);
-
- if (!_this.layout.getRegion('south').panels.length) {
- _this.layout.getRegion('south').hide();
- }
-
-
- }
- );
+ Roo.XComponent.build();
+
var tbl = se.child('table', true);
tbl.setAttribute('width', '100%');
}
- lotb.add(
- new Roo.Toolbar.Fill(),
-
- {
- text: "Change Password",
- cls: 'x-btn-text-icon',
- icon: rootURL + '/Pman/templates/images/change-password.gif',
- handler : function(){
- Pman.PasswordChange.show({});
- }
- }, '-'
- );
-
+ if (Pman.hasPerm('Core.ChangePassword','S')) {
+
+ lotb.add(
+ new Roo.Toolbar.Fill(),
+
+ {
+ text: "Change Password",
+ cls: 'x-btn-text-icon',
+ icon: rootURL + '/Pman/templates/images/change-password.gif',
+ handler : function(){
+ Pman.PasswordChange.show({});
+ }
+ }, '-'
+ );
+ }
+
if (this.topMenuItems.length) {
Roo.each(this.topMenuItems, function (mi) {
return;
}
if (!data || !data.id) {
- Pman.Dialog.Companies.show( { id : 0, isOwner : 1, comptype: 'OWNER' }, function(data) {
+ Pman.Dialog.CoreCompanies.show( { id : 0, comptype: 'OWNER' }, function(data) {
+ Roo.log("company dialog returned");
+ Roo.log(data);
forceCompany(data);
});
return;
Pman.Login.authUser.company_id_id = data.id;
Pman.Login.authUser.company_id = data.id;
Pman.Login.authUser.company_id_name = data.name;
+ Roo.log("forcing admin");
forceAdmin();
}
onLoadTrackCall : function(id,cb, cls) {
Roo.get(document.body).mask("Loading Document details");
- Pman.request({
+ new Pman.Request({
url: baseURL + '/Roo/Documents.html',
params: {
_id: id
},
method: 'GET',
- success : function(data) {
+ success : function(res) {
+ var data = res.data;
Roo.get(document.body).unmask();
Roo.MessageBox.alert("Error", "Select at least one Row to delete" );
return '';
}
-
+ var reader = tab.grid.reader || tab.grid.ds.reader;
for(var i = 0; i < s.length; i++) {
- r.push(s[i].data.id);
+ r.push(reader.getId(s[i]));
}
Roo.MessageBox.confirm("Confirm", "Are you sure you want to delete that?",
}
// what about the toolbar??
tab.grid.getView().mainWrap.mask("Deleting");
- Pman.request({
+ new Pman.Request({
url: baseURL + '/Roo/'+tbl+'.php',
- method: 'GET',
+ method: 'POST',
params: {
_delete : r.join(',')
},
tab.grid.getView().mainWrap.unmask();
if ( tab.paging ) {
tab.paging.onClick('refresh');
- } else if (tab.refresh) {
- tab.refresh();
} else if (tab.grid.footer && tab.grid.footer.onClick) {
// new xtype built grids
tab.grid.footer.onClick('refresh');
+ } else if (tab.refresh) {
+ tab.refresh(); // this might cause problems as panels have a refresh method?
} else {
tab.grid.getDataSource().load();
}
},
failure: function(act) {
+ Roo.log(act);
+ var msg = '';
+ try {
+ msg = act.errorMsg;
+ } catch(e) {
+ msg = "Error deleting";
+ }
tab.grid.getView().mainWrap.unmask();
- Roo.MessageBox.alert("Error", "Error Deleting");
+ Roo.MessageBox.alert("Error", msg);
}
});
},
/**
* Depreciated - USE new Pman.Request
- *
+ * We need to replace all the uses with this, however the api is slightly different,
+ * the success argument is res.data, not res..
*
*/
request : function(c) {
- var r= new Roo.data.Connection({
- timeout : typeof(c.timeout) == 'undefined' ? 30000 : c.timeout
- });
- r.request({
- url: c.url,
- method : c.method,
- params: c.params,
- xmlData : c.xmlData,
- success: function(response, opts) { // check successfull...
-
- var res = Pman.processResponse(response);
-
- if (!res.success) { // error!
- if (c.failure) {
- if (true === c.failure.call(this,response, opts)) {
- return;
- }
- }
- Roo.MessageBox.hide();
- Roo.MessageBox.alert("Error", res.errorMsg ? res.errorMsg : "Error Sending");
- return;
- }
-
- c.success.call(this, res.data);
-
- return;
- },
- failure : function(response, opts) { // check successfull...
-
- if (c.failure) {
- if (true === c.failure.call(this,response, opts)) {
- return;
- }
- }
- Roo.MessageBox.hide();
- Roo.MessageBox.alert("Error", "Connection timed out sending");
- Roo.log(response);
-
- },
- scope: this
-
- });
+ return new Pman.Request(c);
+
},
{
// work out owner..
- if (!this.appModules === false) {
- this.appModules = typeof(AppModules ) == 'undefined'? [] :
+ if (!Pman.appModules === false) {
+ Pman.appModules = typeof(AppModules ) == 'undefined'? [] :
AppModules.split(',');
}
// previously we did not a good naming policy for module and parts
// most things that are called module here, really are 'parts'
// new versions should have 'part' as [ module : part ]
-
-
- if (typeof(obj.part) != 'undefined') {
-
+ if (typeof(obj.part) != 'undefined') {
+
var permname = obj.part.join('.');
// we now have permission...
// obj.moduleOwner '.' lname
-
- if (this.hasPermExists(permname) && !this.hasPerm(permname,'S')) {
- // it's a turned off permission...
- Roo.log(permname + " is Disabled for this user");
- obj.disabled = true;
- return;
- }
+
+
if (appDisabled.indexOf(permname) > -1) {
Roo.log(permname + " is Disabled for this site");
obj.disabled = true;
}
+
+
if ( obj.isTop) {
// false parent... use it..
return;
}
- if (obj.parent === Pman) {
+ if (obj.parent === Pman || obj.parent == 'Pman') {
+ Roo.log("PARENT OF : " + obj.name + " replacing with fake");
obj.parent = Pman.fakeRoot;
}
if (typeof(obj.parent) == 'undefined') {
- console.log("Parent is undefined");
- console.log(obj);
+ Roo.log("Parent is undefined");
+ Roo.log(obj);
obj.disabled = true;
return;
}
if (obj.parent === false) {
obj.disabled = true;
- console.log('ignoring top level object (as parent===false found)');
- console.log(obj);
+ Roo.log('ignoring top level object (as parent===false found)');
+ Roo.log(obj);
return;
}
// this is an error condition - the parent does not exist..
},
+ /**
+ * fired before building on each compoenent
+ * used to apply permissions.
+ */
+
+ xbeforebuild : function(obj)
+ {
+ if (typeof(obj.part) != 'undefined') {
+
+ if (!obj.part[1].length) {
+ obj.part[1] = obj.part[0];
+ }
+ var permname = obj.part.join('.');
+
+ Roo.log("CHECKING: "+ permname);
+
+ // we now have permission...
+ // obj.moduleOwner '.' lname
+
+ if (Pman.hasPermExists(permname) && !Pman.hasPerm(permname,'S')) {
+ // it's a turned off permission...
+ Roo.log(permname + " is Disabled for this user");
+ obj.disabled = true;
+ return;
+ }
+
+
+
+ }
+
+
+ },
+
/**
* DEPRICATED : use Roo.XComponents now..
*
//this.xregister(obj);
- Roo.log("CALLING XComponent register with : " + obj.name);
-
- // this will call xregister as it's the on.register handler..
- Roo.XComponent.register(obj);
- /*
-
- if (obj.disabled) {
- return;
- }
+ // old style calls go in here..
+ // we need to convert the object so that it looks a bit like an XCompoenent..
- if (!obj.parent.modules) {
- obj.parent.modules = new Roo.util.MixedCollection(false, function(o) { return o.modKey });
- }
-
- obj.parent.modules.add(obj);
- */
- },
-
-
- buildModules : function(parent, onComplete)
- {
- Roo.XComponent.build();
- /*
- var _this = this;
- var cmp = function(a,b) {
- return String(a).toUpperCase() > String(b).toUpperCase() ? 1 : -1;
-
- };
- if (!parent.modules) {
- return;
- }
- parent.modules.keySort('ASC', cmp );
- var mods = [];
-
-
- // add modules to their parents..
- var addMod = function(m) {
- // console.log(m.modKey);
-
- mods.push(m);
- if (m.module.modules) {
- m.module.modules.keySort('ASC', cmp );
- m.module.modules.each(addMod);
- }
- if (m.finalize) {
- m.finalize.name = m.name + " (clean up) ";
- mods.push(m.finalize);
+ obj.render = function()
+ {
+ if (!this.parent) {
+ Roo.log("Skip module, as parent does not exist");
+ Roo.log(this);
+ return;
}
-
- }
-
- parent.modules.each(addMod);
- //this.allmods = mods;
- //console.log(mods);
- //return;
- if (!mods.length) {
- if (onComplete) onComplete();
- return;
- }
- // flash it up as modal - so we store the mask!?
- Roo.MessageBox.show({ title: 'loading' });
- Roo.MessageBox.show({
- title: "Please wait...",
- msg: "Building Interface...",
- width:450,
- progress:true,
- closable:false,
- modal: false
-
- });
- var n = 0;
- var progressRun = function() {
-
- var mod = mods[n];
-
-
- Roo.MessageBox.updateProgress(
- (n+1)/mods.length, "Building Interface " + (n+1) +
- " of " + mods.length +
- (mod.name ? (' - ' + mod.name) : '')
- );
-
-
-
- if (typeof(mod) == 'function') {
- mod();
+ //if (typeof(mod) == 'function') {
+ // mod();
- } else if (typeof(mod.region) == 'undefined') {
+ if (typeof(this.region) == 'undefined') {
Roo.log("Module does not have region defined, skipping");
- Roo.log(mod);
-
- } else if (mod.parent.layout && !mod.module.disabled) {
- // honour permname setings..
- if (mod.permname && mod.permname.length) {
- if (Pman.hasPerm(mod.permname, 'S')) {
- mod.module.add(mod.parent.layout, mod.region);
- }
- } else {
- mod.module.add(mod.parent.layout, mod.region);
- }
+ Roo.log(this);
+ return;
+ }
+ if (this.module.disabled) {
+ Roo.log("Module disabled, should not rendering")
+ Roo.log(this);
+ return;
}
-
- n++;
- if (n >= mods.length) {
- onComplete();
+ if (!this.parent.layout) {
+ Roo.log("Module parent does not have property layout.")
+ Roo.log(this);
return;
}
+
+ // honour DEPRICATED permname setings..
+ // new code should use PART name, and matching permissions.
+ if (this.permname && this.permname.length) {
+ if (!Pman.hasPerm(this.permname, 'S')) {
+ return;
+ }
+ }
+ this.add(this.parent.layout, this.region);
+ this.el = this.layout;
- progressRun.defer(10, Pman);
- }
- progressRun.defer(1, Pman);
- */
+
+
+ };
+ // map some of the standard properties..
+ obj.order = obj.modKey;
+ // a bit risky...
- },
-
+
+
+ // the other issue we have is that
+
+
+ // Roo.log("CALLING XComponent register with : " + obj.name);
+
+ // this will call xregister as it's the on.register handler..
+ Roo.XComponent.register(obj.isTop ? obj : Roo.apply(obj.module, obj));
+
+ } ,
invertColor : function(c)
{
// read..