X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Pman.Dialog.PersonEditor.js;h=2cee8c0bdb0128f4b10d54538dad8ab263615efa;hp=ccfa2778f973c1eef512975fd35b7afdba073531;hb=HEAD;hpb=fb7793a2bd791a7b712fc1d9955b385589d7d0f8 diff --git a/Pman.Dialog.PersonEditor.js b/Pman.Dialog.PersonEditor.js index ccfa2778..8349841b 100644 --- a/Pman.Dialog.PersonEditor.js +++ b/Pman.Dialog.PersonEditor.js @@ -31,13 +31,13 @@ Pman.Dialog.PersonEditor.prototype = { return; } var _this = this; - this.dialog = new Ext.LayoutDialog(Ext.get(document.body).createChild({tag:'div'}), + this.dialog = new Roo.LayoutDialog(Roo.get(document.body).createChild({tag:'div'}), Roo.apply({ autoCreated: true, title: 'Edit Contact Details', modal: true, width: 530, - height: 300, + height: 400, shadow:true, minWidth:200, minHeight:180, @@ -69,7 +69,7 @@ Pman.Dialog.PersonEditor.prototype = { this.layout.beginUpdate(); - this.form = new Ext.form.Form({ + this.form = new Roo.form.Form({ labelWidth: 120, listeners : { actionfailed : function(f, act) { @@ -81,8 +81,8 @@ Pman.Dialog.PersonEditor.prototype = { actioncomplete: function(f, act) { _this.dialog.el.unmask(); if (act.type == 'load') { + _this.data = act.result.data; - } @@ -90,6 +90,9 @@ Pman.Dialog.PersonEditor.prototype = { var data = _this.data; // we dont have a form where company name is sent in - and is editable.. //this.form.findField('office_id') + if(!data.countries && _this.form.findField('countries')){ + _this.form.findField('countries').setValue();// set empty array by default... + } if (_this.form.findField('company_id') && _this.form.findField('company_id').setFromData) { _this.form.findField('company_id').setFromData( data.company_id ? { @@ -134,12 +137,14 @@ Pman.Dialog.PersonEditor.prototype = { if (this.type == 'staff') { _this.form.findField('passwd1').allowBlank = false; _this.form.findField('passwd2').allowBlank = false; -// if (data.id > 0) { -// _this.form.findField('passwd1').allowBlank = true; -// _this.form.findField('passwd2').allowBlank = true; -// } + if (data.id > 0) { + _this.form.findField('passwd1').allowBlank = true; + _this.form.findField('passwd2').allowBlank = true; + } } + + return; } @@ -167,10 +172,16 @@ Pman.Dialog.PersonEditor.prototype = { this.loadItemTypes(); Roo.each(this.itemList, function(il) { if (typeof(il) != 'object') { + // no permission for Core offices.. - can not show department... + if (il == 'office_id_name' && !Pman.hasPerm('Core.Offices','S')) { + return true; + } + _this.form.addxtype(_this.itemTypes[il]); return true; } _this.form.addxtype(Roo.apply(il, _this.itemTypes[il.name])); + return true; }); var ef = this.dialog.getLayout().getEl().createChild({tag: 'div'}); @@ -178,7 +189,7 @@ Pman.Dialog.PersonEditor.prototype = { this.form.render(ef.dom); - var vp = this.dialog.getLayout().add('center', new Ext.ContentPanel(ef, { + var vp = this.dialog.getLayout().add('center', new Roo.ContentPanel(ef, { autoCreate : true, //title: 'Org Details', //toolbar: this.tb, @@ -224,10 +235,10 @@ Pman.Dialog.PersonEditor.prototype = { // load using HTTP proxy:{ xtype: 'HttpProxy', - url: baseURL + '/Roo/Companies.html', + url: baseURL + '/Roo/core_company', method: 'GET' }, - reader: Pman.Readers.Companies, + reader: new Roo.data.JsonReader({}, []), //Pman.Readers.Companies, listeners : { beforeload : function(st,o) { @@ -248,12 +259,12 @@ Pman.Dialog.PersonEditor.prototype = { forceSelection: true, //mode: 'local', triggerAction: 'all', - tpl: new Ext.Template( + tpl: new Roo.Template( '
', '{name} {address}', '
' ), - queryParam: 'query[name]', + queryParam: 'search[name_starts]', loadingText: "Searching...", listWidth: 400, @@ -297,10 +308,10 @@ Pman.Dialog.PersonEditor.prototype = { // load using HTTP proxy: { xtype : 'HttpProxy', - url: baseURL + '/Roo/Office.html', + url: baseURL + '/Roo/Core_office.html', method: 'GET' }, - reader: Pman.Readers.Office, + reader: new Roo.data.JsonReader({}, []), //Pman.Readers.Office, listeners : { beforeload : function(st,o) { @@ -326,7 +337,7 @@ Pman.Dialog.PersonEditor.prototype = { if (_this.type == 'new') { data = _this.form.findField('company_id').lastData; if (!data.id ) { - Ext.MessageBox.alert("Error", "Select An Company First"); + Roo.MessageBox.alert("Error", "Select An Company First"); return false } @@ -361,7 +372,7 @@ Pman.Dialog.PersonEditor.prototype = { beforequery : function (qe) { var coid = _this.form.findField('company_id').getValue(); if (coid < 1 ) { - Ext.MessageBox.alert("Error", "Select An Company First"); + Roo.MessageBox.alert("Error", "Select An Company First"); return false; } } @@ -373,7 +384,7 @@ Pman.Dialog.PersonEditor.prototype = { forceSelection: true, //mode: 'local', triggerAction: 'all', - tpl: new Ext.Template( + tpl: new Roo.Template( '
', '{name} {address}', '
' @@ -455,13 +466,44 @@ Pman.Dialog.PersonEditor.prototype = { xtype : 'TextField', width : 300 }, + countries : { + xtype: 'ComboBoxArray', + xns: Roo.form, + fieldLabel : 'Country', + hiddenName : 'countries', + name : 'countries_name', + width : 300, + combo : { + xtype: 'ComboBox', + xns: Roo.form, + allowBlank : true, + alwaysQuery : true, + displayField : 'title', + editable : false, + emptyText : "Select Country", + forceSelection : true, + idField : 'id', + triggerAction : 'all', + typeAhead : true, + valueField : 'code', + width : 280, + store : { + xtype: 'SimpleStore', + xns: Roo.data, + data : (function() { + return Pman.I18n.simpleStoreData('c'); + })(), + fields : [ 'code', 'title' ] + } + } + }, passwd1 : { name : 'passwd1', fieldLabel : "New Password ", value : '', - allowBlank : false, // must be filled in as we rely on it for login details.. - //inputType: 'password', - xtype : 'TextField', + allowBlank : true, // must be filled in as we rely on it for login details.. + inputType: 'password', // << if comment out this input type, it should be ok + xtype : 'SecurePass', width : 220, imageRoot : rootURL + '/Pman/templates/images' }, @@ -470,11 +512,30 @@ Pman.Dialog.PersonEditor.prototype = { name : 'passwd2', fieldLabel : "Password (type again to confirm)", value : '', - allowBlank : false, // must be filled in as we rely on it for login details.. - inputType: 'password', + allowBlank : true, // must be filled in as we rely on it for login details.. + inputType: 'password', // << if comment out this input type, it should be ok xtype : 'TextField', width : 220 }, + secure_password : { + name : 'secure_password', + fieldLabel : "Secure passwords", + inputValue : 1, + valueOff : 0, + checked : true, + xtype : 'Checkbox', + xns : Roo.form, + width : 220, + listeners : { + check : function (_self, checked) { + this.form.findField('passwd1').insecure = false; + + if(!checked){ + this.form.findField('passwd1').insecure = true; + } + } + } + }, project_id_fs : { xtype : 'FieldSetEx', name: 'project_id_fs', @@ -500,7 +561,7 @@ Pman.Dialog.PersonEditor.prototype = { width: 50, - store: new Ext.data.SimpleStore({ + store: new Roo.data.SimpleStore({ // load using HTTP fields: [ 'code', 'desc' ], data: [[ 'ACTION_REQUIRED', "Yes"] , [ 'NOTIFY', "No"] ] @@ -552,7 +613,7 @@ Pman.Dialog.PersonEditor.prototype = { } if (this.form.findField('company_id') && !this.form.findField('company_id').getValue()) { - Ext.MessageBox.alert("Error", "Select a Company"); + Roo.MessageBox.alert("Error", "Select a Company"); return; } @@ -562,19 +623,19 @@ Pman.Dialog.PersonEditor.prototype = { var p2 = this.form.findField('passwd2').getValue(); if (this.sendAfterSave && !p1.length) { - Ext.MessageBox.alert("Error", "You must create a password to send introduction mail"); + Roo.MessageBox.alert("Error", "You must create a password to send introduction mail"); return; } if (Pman.Login.authUser.id < 0 && !p1.length) { - Ext.MessageBox.alert("Error", "You must create a password for the admin account"); + Roo.MessageBox.alert("Error", "You must create a password for the admin account"); return; } if (p1.length || p2.length) { if (p1 != p2) { - Ext.MessageBox.alert("Error", "Passwords do not match"); + Roo.MessageBox.alert("Error", "Passwords do not match"); return; } } @@ -592,7 +653,7 @@ Pman.Dialog.PersonEditor.prototype = { } this.dialog.el.mask("Sending"); this.form.doAction('submit', { - url: baseURL + '/Roo/Person.html', + url: baseURL + '/Roo/core_person', method: 'POST', params: { _id: this._id , @@ -615,7 +676,7 @@ Pman.Dialog.PersonEditor.prototype = { this.dialog.show(); this.dialog.el.mask("Loading"); this.form.doAction('load', { - url: baseURL + '/Roo/Person.html', + url: baseURL + '/Roo/core_person', method: 'GET', params: { _id: this._id ,