Pman.Dialog.CoreCompanies.bjs
[Pman.Core] / Pman.Dialog.CoreCompanies.js
index b41dab9..b8bacc9 100644 (file)
@@ -30,6 +30,26 @@ Pman.Dialog.CoreCompanies = {
         this.dialog = Roo.factory({
             xtype: 'LayoutDialog',
             xns: Roo,
+            listeners : {
+                beforeshow : function (_self)
+                {
+                    if (data.isOwner || !Pman.Login.isOwner()) {
+                        this.dialog.setTitle("Your Company Details");
+                        if (_this.form.findField('comptype')) {
+                            _this.form.findField('comptype').disable();
+                        }
+                        
+                        
+                        
+                        
+                    } else {
+                        this.dialog.setTitle(data.id ? "Edit Company" : "Add Company");
+                        if (_this.form.findField('comptype')) {
+                            _this.form.findField('comptype').enable();
+                        }
+                    }
+                }
+            },
             autoCreate : 'true',
             closable : false,
             collapsible : false,
@@ -61,10 +81,36 @@ Pman.Dialog.CoreCompanies = {
                                     _this.dialog.el.unmask();
                                     //console.log('load completed'); 
                                     // error messages?????
-                                    
+                                    if(act.type == 'setdata'){
+                                        if (act.data._fetch) {
+                                            _this.dialog.el.mask("Loading");
+                                            _this.form.doAction('load', {
+                                                url: baseURL + '/Roo/Companies.html',
+                                                method: 'GET',
+                                                params: {
+                                                    _id: this._id ,
+                                                    _ts : Math.random()
+                                                } 
+                                            });
+                                            return;
+                                        } else {
+                                            _this.form.setValues(data);
+                                        }
+                                        
+                                        if (act.data.isOwner || !Pman.Login.isOwner()) {
+                                            _this.dialog.setTitle("Your Company Details");
+                                            if (_this.form.findField('comptype')) {
+                                                _this.form.findField('comptype').disable();
+                                            }
+                                        } else {
+                                            _this.dialog.setTitle(data.id ? "Edit Company" : "Add Company");
+                                            if (_this.form.findField('comptype')) {
+                                                _this.form.findField('comptype').enable();
+                                            }
+                                        }
+                                    }
                                    
                                     if (act.type == 'load') {
-                                        
                                         _this.data = act.result.data;
                                         var meth = _this.data.isOwner || !Pman.Login.isOwner() ? 'disable' : 'enable';
                                      
@@ -95,38 +141,167 @@ Pman.Dialog.CoreCompanies = {
                             },
                             fileUpload : true,
                             labelWidth : 160,
+                            url : baseURL + '/Roo/Person.php',
                             items : [
                                 {
-                                    xtype: 'TextField',
+                                    xtype: 'Column',
                                     xns: Roo.form,
-                                    allowBlank : false,
-                                    fieldLabel : 'Company ID (for filing Ref.)',
-                                    name : 'code',
-                                    qtip : "Enter code",
-                                    width : 100
+                                    width : 500,
+                                    items : [
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : false,
+                                            fieldLabel : 'Company ID (for filing Ref.)',
+                                            name : 'code',
+                                            qtip : "Enter code",
+                                            width : 100
+                                        },
+                                        {
+                                            xtype: 'ComboBox',
+                                            xns: Roo.form,
+                                            allowBlank : false,
+                                            displayField : 'desc',
+                                            editable : false,
+                                            emptyText : "Select Type",
+                                            fieldLabel : 'Type',
+                                            hiddenName : 'comptype',
+                                            listWidth : 250,
+                                            name : 'comptype_name',
+                                            qtip : "Select Company type",
+                                            selectOnFocus : true,
+                                            triggerAction : 'all',
+                                            typeAhead : false,
+                                            valueField : 'val',
+                                            width : 200,
+                                            store : {
+                                                xtype: 'SimpleStore',
+                                                xns: Roo.data,
+                                                data : '[ \'CONSULTANT\', "Consultant" ],[ \'CLIENT\'    ,  "Client" ],[ \'CONTRACTOR\' , "Contractor" ]',
+                                                fields : '[\'val\', \'desc\']'
+                                            }
+                                        },
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Company Name',
+                                            name : 'name',
+                                            qtip : "Enter Company Name",
+                                            width : 300
+                                        },
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Phone',
+                                            name : 'tel',
+                                            qtip : "Enter Phone Number",
+                                            width : 300
+                                        },
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Fax',
+                                            name : 'fax',
+                                            qtip : "Enter Fax Number",
+                                            width : 300
+                                        },
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Email',
+                                            name : 'email',
+                                            qtip : "Enter Email Address",
+                                            width : 300
+                                        },
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Address',
+                                            name : 'address',
+                                            qtip : "Enter Address",
+                                            width : 300
+                                        },
+                                        {
+                                            xtype: 'TextArea',
+                                            xns: Roo.form,
+                                            allowBlank : true,
+                                            fieldLabel : 'Remarks',
+                                            height : 40,
+                                            name : 'remarks',
+                                            qtip : "Enter remarks",
+                                            width : 300
+                                        }
+                                    ]
                                 },
                                 {
-                                    xtype: 'ComboBox',
+                                    xtype: 'Column',
                                     xns: Roo.form,
-                                    allowBlank : false,
-                                    displayField : 'desc',
-                                    editable : true,
-                                    emptyText : "",
-                                    hiddenName : '',
-                                    listWidth : 250,
-                                    name : 'comptype_name',
-                                    qtip : "Select Company type",
-                                    selectOnFocus : true,
-                                    triggerAction : '',
-                                    typeAhead : true,
-                                    valueField : 'val',
+                                    labelAlign : 'top',
                                     width : 200,
-                                    store : {
-                                        xtype: 'SimpleStore',
-                                        xns: Roo.data,
-                                        data : '[ \'CONSULTANT\', "Consultant" ],[ \'CLIENT\'    ,  "Client" ],[ \'CONTRACTOR\' , "Contractor" ]',
-                                        fields : '[\'val\', \'desc\']'
-                                    }
+                                    items : [
+                                        {
+                                            xtype: 'TextField',
+                                            xns: Roo.form,
+                                            fieldLabel : 'Background Colour',
+                                            name : 'background_color'
+                                        },
+                                        {
+                                            xtype: 'DisplayField',
+                                            xns: Roo.form,
+                                            fieldLabel : 'Logo Image',
+                                            height : 170,
+                                            icon : 'rootURL + \'images/default/dd/drop-add.gif\'',
+                                            name : 'logo_id',
+                                            style : 'border: 1px solid #ccc;',
+                                            width : 170,
+                                            valueRenderer : function(v) {
+                                                //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO';
+                                                if (!v) {
+                                                    return "No Image Available" + '<BR/>';
+                                                }
+                                                return String.format('<img src="{0}" width="150">', 
+                                                        baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg'
+                                                );
+                                            }
+                                        },
+                                        {
+                                            xtype: 'Button',
+                                            xns: Roo,
+                                            listeners : {
+                                                click : function (_self, e)
+                                                {
+                                                    var _t = _this.form.findField('logo_id');
+                                                                         
+                                                    Pman.Dialog.Image.show({
+                                                        onid :_this.data.id,
+                                                        ontable : 'Companies',
+                                                        imgtype : 'LOGO'
+                                                    }, function(data) {
+                                                        if  (data) {
+                                                            _t.setValue(data.id);
+                                                        }
+                                                        
+                                                    });
+                                                }
+                                            },
+                                            text : "Add Image"
+                                        }
+                                    ]
+                                },
+                                {
+                                    xtype: 'Hidden',
+                                    xns: Roo.form,
+                                    name : 'isOwner'
+                                },
+                                {
+                                    xtype: 'Hidden',
+                                    xns: Roo.form,
+                                    name : 'id'
                                 }
                             ]
                         }