X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Pman.Tab.PersonList.js;h=34173faf4e94c515fa6d4f494d90d8d8b6a09c30;hp=75fa585137fb6a32ac3532f46c215305f206e264;hb=refs%2Fheads%2Fwip_alan_T5884_add_photo_to_report;hpb=7e5f3d7451925355611b509214cc589f11975d74 diff --git a/Pman.Tab.PersonList.js b/Pman.Tab.PersonList.js index 75fa5851..34173faf 100644 --- a/Pman.Tab.PersonList.js +++ b/Pman.Tab.PersonList.js @@ -3,6 +3,8 @@ /** * * generic person list - used by perms. and staff lists. + * + * -- this is probably depreciated now.. * */ @@ -31,6 +33,7 @@ Pman.Tab.PersonList.prototype = { // teams!?! alert('person list not configured'); return false; + /* var tms = _this.getLeftSelections(); if (tms.length) { @@ -40,6 +43,7 @@ Pman.Tab.PersonList.prototype = { o.params['query[type]'] = this.type; // group type.. o.params['query[person_internal_only_all]'] = 1; o.params['query[person_inactive]'] = this.showInActive ? 0 : 1; + */ }, @@ -140,7 +144,7 @@ Pman.Tab.PersonList.prototype = { { center: { - autoScroll:true, + autoScroll:false, hideTabs: true } } @@ -148,8 +152,13 @@ Pman.Tab.PersonList.prototype = { - this.tab = parentLayout.add(region, new Roo.NestedLayoutPanel( - this.layout, {title: this.title, background: true, controller : this})); + this.tab = parentLayout.add(region, + new Roo.NestedLayoutPanel( + this.layout, { + title: this.title, + background: true, + controller : this + })); this.tab.on('activate', function() { _this.delayedCreate(); @@ -179,10 +188,10 @@ Pman.Tab.PersonList.prototype = { ds: new Roo.data.Store({ // load using HTTP proxy: new Roo.data.HttpProxy({ - url: baseURL + '/Roo/Person.html', + url: baseURL + '/Roo/core_person', method: 'GET' }), - reader: Pman.Readers.Person, + reader: new Roo.data.JsonReader({}, []), remoteSort: true, listeners : { @@ -202,7 +211,7 @@ Pman.Tab.PersonList.prototype = { // only used to change active status. new Pman.Request({ - url : baseURL + '/Roo/Person.php', + url : baseURL + '/Roo/core_person', method :'POST', params : { id : record.data.id, @@ -247,18 +256,22 @@ Pman.Tab.PersonList.prototype = { }, cellclick : function (_self, rowIndex, columnIndex, e) - { + { var di = this.colModel.getDataIndex(columnIndex); if (di != 'active') { return; } - - var rec = _this.grid.ds.getAt(rowIndex); + var rec = _this.grid.ds.getAt(rowIndex); + rec.set('active', rec.data.active ? 0 : 1); rec.commit(); - - + + var el = Roo.select('.x-grid-row-selected').item(3); + el.addClass('x-grid-row-fadeout'); + el.on('transitionend',function(){ + _this.grid.ds.remove(rec); + },this,{single:true}); } @@ -268,7 +281,8 @@ Pman.Tab.PersonList.prototype = { }); this.panel = this.layout.add('center', new Roo.GridPanel(this.grid , { fitToframe: true, - fitContainer: true, + fitContainer: true, + //background : false, id: this.id, title: this.title || "Staff", controller : this @@ -410,7 +424,7 @@ Pman.Tab.PersonList.prototype = { Roo.Ajax.request({ - url: baseURL + '/Roo/Person.html', + url: baseURL + '/Roo/core_person', method: 'GET', params: { _toggleActive : r.join(',') @@ -441,7 +455,41 @@ Pman.Tab.PersonList.prototype = { hidden : !Pman.hasPerm(_this.permName, 'D'), icon: rootURL + '/Pman/templates/images/trash.gif', handler : function(){ - Pman.genericDelete(_this, 'Person'); + //Pman.genericDelete(_this, 'Person'); + + var rec = _this.grid.ds.getAt(_this.grid.selModel.last); + + var rec_id = rec.id; + + if (rec_id * 1 < 1) { + Roo.MessageBox.alert("Error", "Select row to delete"); + return; + } + + Roo.MessageBox.confirm( + "Confirm", + "Confirm Deletion of selected row (some rows can not be deleted if they are referenced elsewhere", + function(res) { + if(res != 'yes') { + return; + } + new Pman.Request({ + method : 'POST', + url : baseURL + '/Roo/core_person', + params : { + _delete : rec_id + }, + success : function() { + _this.paging.onClick('refresh'); + //_this.grid.footer.onClick('refresh'); + } + }); + } + ); + + + + } } , @@ -562,11 +610,17 @@ Pman.Tab.PersonList.prototype = { c_name : function(cfg) { cfg = cfg || {}; return Roo.apply({ - id : (this.id + '-name').toLowerCase(), + // id : (this.id + '-name').toLowerCase(), header : "Name", dataIndex : 'name', sortable : true, - width : 150 + renderer : function(v,p,r) { + if(r.data.active != 1){ + return String.format('
{0}
', v); + } + return String.format('{0}', v); + } + // width : 150 }, cfg); }, c_company_id_comptype : function(cfg) {