X-Git-Url: http://git.roojs.org/?p=Pman.Admin;a=blobdiff_plain;f=Pman.Tab.AdminContacts.bjs;h=4d6a5861627095d3f84ce6ec3eafa9c05187ae12;hp=550d3d0543eb6eeb50531b09ecb5da39daf64b01;hb=HEAD;hpb=1434986314e8d4be5399ce075368e1c0ae0d36fa diff --git a/Pman.Tab.AdminContacts.bjs b/Pman.Tab.AdminContacts.bjs index 550d3d0..4d6a586 100644 --- a/Pman.Tab.AdminContacts.bjs +++ b/Pman.Tab.AdminContacts.bjs @@ -1,262 +1,678 @@ { - "id": "roo-file-0", - "name": "Pman.Tab.AdminContacts", - "parent": "Pman.Tab.AdminContactsManager", - "title": "Pman.Tab.AdminContacts", - "path": "/home/alan/gitlive/Pman.Admin/Pman.Tab.AdminContacts.bjs", - "items": [ + "items" : [ + { + "$ xns" : "Roo", + "autoScroll" : true, + "bool background" : false, + "fitContainer" : true, + "fitToframe" : true, + "items" : [ + { + "$ xns" : "Roo.grid", + "* prop" : "grid", + "autoExpandColumn" : "name", + "ddGroup" : "groupDD", + "enableDrag" : true, + "items" : [ + { + "$ sortInfo" : "{ field : 'name', direction: 'ASC' }", + "$ xns" : "Roo.data", + "* prop" : "dataSource", + "items" : [ { - "listeners": { - "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}" + "$ url" : "baseURL + '/Roo/core_person'", + "$ xns" : "Roo.data", + "* prop" : "proxy", + "method" : "GET", + "xtype" : "HttpProxy" + }, + { + "$ xns" : "Roo.data", + "* prop" : "reader", + "id" : "id", + "root" : "data", + "totalProperty" : "total", + "xtype" : "JsonReader" + } + ], + "listeners" : { + "beforeload" : [ + "function (_self, o)", + "{", + " if(!_this.active_company_button.pressed){", + " o.params['!company_id_comptype'] = 'OWNER';", + " }", + " ", + " o.params['query[search]'] = _this.searchBox.getValue();", + " ", + " if (!_this.activeButton) {return; false;}", + " ", + " if (_this.companyCombo && _this.companyCombo.getValue()) {", + " o.params.company_id = _this.companyCombo.getValue();", + " }", + " ", + " ", + " o.params.active = _this.activeButton.pressed ? 0 : 1;", + " ", + " if(_this.active_company_button.pressed){", + " o.params.company_id = 0;", + " }", + " ", + " var c = Pman.Tab.AdminContactsManager.layout.getRegion('west').getActivePanel();", + " ", + " if (!c) { ", + " return false;", + " }", + " ", + " var tms = c.grid.getSelectionModel().getSelected();", + " ", + " if (!tms) {", + " return false;", + " }", + " ", + " if(c.tableName == 'Groups'){", + " o.params['query[in_group]'] = tms.data.id;", + " o.params['query[type]'] = 2; // group type..", + " }else{", + " o.params['query[in_country]'] = (tms.data.country*1 == -1) ? '' : tms.data.country;", + " o.params['query[in_group]'] = 0;", + " o.params['query[type]'] = 2;", + " }", + " /*", + " if (Pman.Tab.AdminContactsGroup && Pman.Tab.AdminContactsGroup.grid) {", + " ", + " ", + " ", + " }", + " ", + " if(Pman.Tab.AdminCountries && Pman.Tab.AdminCountries.grid){", + " var tms = Pman.Tab.AdminCountries.grid.getSelectionModel().getSelected();", + " ", + " if (!tms) {", + " return false;", + " }", + " ", + " }", + " */", + " //o.params['query[name]'] = _this.searchBox.getValue();", + " ", + "}" + ], + "update" : [ + "function (_self, record, operation)", + "{", + " if (operation != 'commit') {", + " return;", + " }", + " // only used to change active status.", + " ", + " new Pman.Request({", + " url : baseURL + '/Roo/Person.php',", + " method :'POST',", + " params : {", + " id : record.data.id,", + " active: record.data.active", + " ", + " },", + " success : function() {", + " // do nothing", + " ", + " _this.grid.ds.remove(record);", + " ", + " },", + " failure : function() ", + " {", + " Roo.MessageBox.alert(\"Error\", \"saving failed\", function() {", + " _this.grid.footer.onClick('first');", + " });", + " }", + " });", + "}" + ] + }, + "remoteSort" : true, + "xtype" : "Store" + }, + { + "$ xns" : "Roo", + "* prop" : "footer", + "displayInfo" : true, + "displayMsg" : "Displaying Person{0} - {1} of {2}", + "emptyMsg" : "No Person found", + "items" : [ + { + "$ xns" : "Roo.Toolbar", + "text" : "Drag person to add or remove from group", + "xtype" : "TextItem" + } + ], + "pageSize" : 25, + "xtype" : "PagingToolbar" + }, + { + "$ xns" : "Roo", + "* prop" : "toolbar", + "items" : [ + { + "$ xns" : "Roo.Toolbar", + "text" : "Search", + "xtype" : "TextItem" + }, + { + "$ xns" : "Roo.form", + "listeners" : { + "render" : [ + "function (_self)", + "{", + " _this.searchBox = _self;", + "}" + ], + "show" : [ + "function (_self,e)", + "{", + " if (e.getCharCode() != 13) {", + " return;", + " }", + " _this.grid.footer.onClick('first');", + "}" + ], + "specialkey" : [ + "function (_self, e)", + "{", + " if (e.getKey() == 13) {", + " _this.grid.footer.onClick('first');", + " }", + "}" + ] + }, + "xtype" : "TextField" + }, + { + "$ xns" : "Roo.form", + "displayField" : "name", + "editable" : true, + "emptyText" : "Select Company", + "forceSelection" : true, + "hiddenName" : "company_id", + "items" : [ + { + "$ sortInfo" : "{ direction : 'ASC', field: 'name' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_company'", + "$ xns" : "Roo.data", + "* prop" : "proxy", + "method" : "GET", + "xtype" : "HttpProxy" }, - "autoScroll": true, - "background": true, - "fitContainer": true, - "fitToframe": true, - "region": "center", - "tableName": "Person", - "title": "Person", - "xtype": "GridPanel", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|render": "function() \n{\n _this.grid = this; \n if (!_this.dialog) {\n _this.dialog = Pman.Dialog.PersonEdit;\n \n }\n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}", - "|rowdblclick": "function (_self, rowIndex, e)\n{\n if (!_this.dialog) return;\n _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n _this.grid.footer.onClick('first');\n }); \n}\n", - "cellclick": "function (_self, rowIndex, columnIndex, e)\n{\n\n var di = this.colModel.getDataIndex(columnIndex);\n if (di != 'active') {\n return;\n }\n \n var rec = _this.grid.ds.getAt(rowIndex);\n \n rec.set('active', rec.data.active ? 0 : 1);\n rec.commit();\n \n \n}" - }, - "*prop": "grid", - "autoExpandColumn": "name", - "ddGroup": "groupDD", - "enableDrag": true, - "loadMask": true, - "xtype": "Grid", - "|xns": "Roo.grid", - "items": [ - { - "listeners": { - "beforeload": "function (_self, o)\n{\n \n o.params['!company_id_comptype'] = 'OWNER';\n o.params['query[search]'] = _this.searchBox.getValue();\n \n if (!_this.activeButton) {return; false;}\n \n \n o.params.active = _this.activeButton.pressed ? 0 : 1;\n if (!Pman.Tab.AdminContactsGroup) { \n return false;\n }\n \n \n if (Pman.Tab.AdminContactsGroup && Pman.Tab.AdminContactsGroup.grid) {\n var tms = Pman.Tab.AdminContactsGroup.grid.getSelectionModel().getSelected();\n \n if (!tms) {\n return false;\n }\n o.params['query[in_group]'] = tms.data.id;\n o.params['query[type]'] = 2; // group type..\n \n }\n //o.params['query[name]'] = _this.searchBox.getValue();\n \n \n}", - "update": "function (_self, record, operation)\n{\n if (operation != 'commit') {\n return;\n }\n // only used to change active status.\n \n new Pman.Request({\n url : baseURL + '/Roo/Person.php',\n method :'POST',\n params : {\n id : record.data.id,\n active: record.data.active\n \n },\n success : function() {\n // do nothing\n \n _this.grid.ds.remove(record);\n \n },\n failure : function() \n {\n Roo.MessageBox.alert(\"Error\", \"saving failed\", function() {\n _this.grid.footer.onClick('first');\n });\n }\n });\n}" - }, - "*prop": "dataSource", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ field : 'name', direction: 'ASC' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|url": "baseURL + '/Roo/Person.php'", - "|xns": "Roo.data" - }, - { - "|xns": "Roo.data", - "xtype": "JsonReader", - "totalProperty": "total", - "root": "data", - "*prop": "reader", - "id": "id", - "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'office_id',\n 'type': 'int'\n },\n {\n 'name': 'name',\n 'type': 'string'\n },\n {\n 'name': 'phone',\n 'type': 'string'\n },\n {\n 'name': 'fax',\n 'type': 'string'\n },\n {\n 'name': 'email',\n 'type': 'string'\n },\n {\n 'name': 'company_id',\n 'type': 'int'\n },\n {\n 'name': 'role',\n 'type': 'string'\n },\n {\n 'name': 'active',\n 'type': 'int'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n },\n {\n 'name': 'passwd',\n 'type': 'string'\n },\n {\n 'name': 'owner_id',\n 'type': 'int'\n },\n {\n 'name': 'lang',\n 'type': 'string'\n },\n {\n 'name': 'no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'action_type',\n 'type': 'string'\n },\n {\n 'name': 'project_id',\n 'type': 'int'\n },\n {\n 'name': 'office_id_id',\n 'type': 'int'\n },\n {\n 'name': 'office_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'office_id_name',\n 'type': 'string'\n },\n {\n 'name': 'office_id_address',\n 'type': 'string'\n },\n {\n 'name': 'office_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'office_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'office_id_email',\n 'type': 'string'\n },\n {\n 'name': 'office_id_role',\n 'type': 'string'\n },\n {\n 'name': 'company_id_code',\n 'type': 'string'\n },\n {\n 'name': 'company_id_name',\n 'type': 'string'\n },\n {\n 'name': 'company_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'company_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'company_id_address',\n 'type': 'string'\n },\n {\n 'name': 'company_id_tel',\n 'type': 'string'\n },\n {\n 'name': 'company_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'company_id_email',\n 'type': 'string'\n },\n {\n 'name': 'company_id_id',\n 'type': 'int'\n },\n {\n 'name': 'company_id_isOwner',\n 'type': 'int'\n },\n {\n 'name': 'company_id_logo_id',\n 'type': 'int'\n },\n {\n 'name': 'company_id_background_color',\n 'type': 'string'\n },\n {\n 'name': 'company_id_comptype',\n 'type': 'string'\n },\n {\n 'name': 'company_id_url',\n 'type': 'string'\n },\n {\n 'name': 'company_id_main_office_id',\n 'type': 'int'\n },\n {\n 'name': 'company_id_created_by',\n 'type': 'int'\n },\n {\n 'name': 'company_id_created_dt',\n 'type': 'date'\n },\n {\n 'name': 'company_id_updated_by',\n 'type': 'int'\n },\n {\n 'name': 'company_id_updated_dt',\n 'type': 'date'\n },\n {\n 'name': 'company_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'project_id_id',\n 'type': 'int'\n },\n {\n 'name': 'project_id_name',\n 'type': 'string'\n },\n {\n 'name': 'project_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'project_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'project_id_code',\n 'type': 'string'\n },\n {\n 'name': 'project_id_active',\n 'type': 'int'\n },\n {\n 'name': 'project_id_type',\n 'type': 'string'\n },\n {\n 'name': 'project_id_client_id',\n 'type': 'int'\n },\n {\n 'name': 'project_id_team_id',\n 'type': 'int'\n },\n {\n 'name': 'project_id_file_location',\n 'type': 'string'\n },\n {\n 'name': 'project_id_open_date',\n 'type': 'date'\n },\n {\n 'name': 'project_id_open_by',\n 'type': 'int'\n },\n {\n 'name': 'project_id_close_date',\n 'type': 'date'\n },\n {\n 'name': 'project_id_countries',\n 'type': 'string'\n },\n {\n 'name': 'project_id_languages',\n 'type': 'string'\n },\n {\n 'name': 'project_id_agency_id',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_id',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_name',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_email',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_role',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_active',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'owner_id_project_id',\n 'type': 'int'\n }\n]" - } - ] - }, - { - "*prop": "footer", - "xtype": "PagingToolbar", - "pageSize": 25, - "displayInfo": true, - "displayMsg": "Displaying Person{0} - {1} of {2}", - "emptyMsg": "No Person found", - "|xns": "Roo", - "items": [ - { - "text": "Drag person to add or remove from group", - "xtype": "TextItem", - "|xns": "Roo.Toolbar" - } - ] - }, - { - "*prop": "toolbar", - "xtype": "Toolbar", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|click": "function()\n{\n \n _this.dialog.show( { id : 0 } , function() {\n _this.grid.footer.onClick('first');\n }); \n}\n" - }, - "cls": "x-btn-text-icon", - "text": "Add", - "xtype": "Button", - "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", - "|xns": "Roo.Toolbar" - }, - { - "listeners": { - "|click": "function()\n{\n \n Pman.Dialog.PersonBulkAdd.show( { id : 0 } , function() {\n _this.grid.footer.onClick('first');\n }); \n}\n" - }, - "cls": "x-btn-text-icon", - "text": "Bulk Add", - "xtype": "Button", - "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", - "|xns": "Roo.Toolbar" - }, - { - "listeners": { - "|click": "function()\n{\n var s = _this.grid.getSelectionModel().getSelections();\n if (!s.length || (s.length > 1)) {\n Roo.MessageBox.alert(\"Error\", s.length ? \"Select only one Row\" : \"Select a Row\");\n return;\n }\n \n _this.dialog.show(s[0].data, function() {\n _this.grid.footer.onClick('first');\n }); \n \n}\n" - }, - "cls": "x-btn-text-icon", - "text": "Edit", - "xtype": "Button", - "|icon": "Roo.rootURL + 'images/default/tree/leaf.gif'", - "|xns": "Roo.Toolbar" - }, - { - "|xns": "Roo.Toolbar", - "xtype": "Separator" - }, - { - "text": "Search", - "xtype": "TextItem", - "|xns": "Roo.Toolbar" - }, - { - "listeners": { - "render": "function (_self)\n{\n _this.searchBox = _self;\n}", - "show": "function (_self,e)\n{\n if (e.getCharCode() != 13) {\n return;\n }\n _this.grid.footer.onClick('first');\n}", - "specialkey": "function (_self, e)\n{\n if (e.getKey() == 13) {\n _this.grid.footer.onClick('first');\n }\n}" - }, - "xtype": "TextField", - "|xns": "Roo.form" - }, - { - "listeners": { - "|click": "function (_self, e)\n{\n_this.grid.footer.onClick('first');\n}" - }, - "cls": "x-btn-icon", - "xtype": "Button", - "|icon": "rootURL + '/Pman/templates/images/search.gif'", - "|xns": "Roo.Toolbar" - }, - { - "listeners": { - "|click": "function (_self, e)\n{\n_this.searchBox.setValue('');\n _this.grid.footer.onClick('first');\n}" - }, - "cls": "x-btn-icon", - "xtype": "Button", - "|icon": "rootURL + '/Pman/templates/images/edit-clear.gif'", - "|xns": "Roo.Toolbar" - }, - { - "|xns": "Roo.Toolbar", - "xtype": "Fill" - }, - { - "listeners": { - "toggle": "function (_self, pressed)\n{\n _this.grid.footer.onClick('first');\n this.setText(pressed ? \"Show Active\" : \"Show Removed\");\n \n \n}", - "render": "function (_self)\n{\n _this.activeButton = _self;\n}" - }, - "enableToggle": true, - "text": "Show Removed", - "xtype": "Button", - "|xns": "Roo.Toolbar" - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "project_id_code", - "header": "Project", - "hidden": true, - "sortable": true, - "width": 75, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r) { \n return String.format('{1}', \n r.data.project_id_name,\n v);\n }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "company_id_comptype", - "header": "Type", - "sortable": true, - "width": 50, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r) {\n if (r.data.office_id) {\n return String.format('{0} - {1}', v, r.data.office_id_name); \n } \n return String.format('{0}', v); \n}", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "company_id_name", - "header": "Company", - "sortable": true, - "width": 150, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r) {\n if (r.data.office_id) {\n return String.format('{0} - {1}', v, r.data.office_id_name); \n } \n return String.format('{0}', v); \n}", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "name", - "header": "Name", - "sortable": true, - "width": 200, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "role", - "header": "Role", - "width": 100, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "phone", - "header": "Phone", - "width": 100, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "fax", - "header": "Fax", - "width": 100, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "email", - "header": "Email", - "sortable": true, - "width": 200, - "xtype": "ColumnModel", - "|renderer": "function(v) {\n return (v.length && v.indexOf('@') > 0 ) ? \n String.format('{0}',v) : v;\n }", - "|xns": "Roo.grid" - }, - { - "*prop": "colModel[]", - "dataIndex": "active", - "header": "Active", - "width": 75, - "xtype": "ColumnModel", - "|renderer": "function(v) { \n var state = v> 0 ? '-checked' : '';\n\n return '';\n \n }", - "|xns": "Roo.grid" - } - ] - } + { + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"code\",\"type\":\"string\"}]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "id" : "id", + "root" : "data", + "totalProperty" : "total", + "xtype" : "JsonReader" + } + ], + "listeners" : { + "|beforeload" : [ + "function (_self, o){", + " o.params = o.params || {};", + " // set more here", + "}", + "" ] + }, + "remoteSort" : true, + "xtype" : "Store" + } + ], + "listWidth" : 400, + "listeners" : { + "render" : [ + "function (_self)", + "{", + " _this.companyCombo = _self;", + "}" + ], + "select" : [ + "function (combo, record, index)", + "{", + " _this.grid.footer.onClick.defer(300,_this.grid.footer,[ 'first'] );", + "}" + ] + }, + "loadingText" : "Searching...", + "minChars" : 2, + "name" : "company_name", + "pageSize" : 20, + "qtip" : "Select Companies", + "queryParam" : "query[name]", + "selectOnFocus" : true, + "tpl" : "