3 "name": "Pman.Dialog.MTrackTime",
6 "path": "/home/alan/gitlive/Pman.MTrack/Pman.Dialog.MTrackTime.bjs",
10 "title": "Time Manager",
12 "xtype": "LayoutDialog",
18 "xtype": "LayoutRegion",
24 "xtype": "NestedLayoutPanel",
29 "xtype": "BorderLayout",
36 "xtype": "LayoutRegion",
41 "title": "Active / Logged Time",
42 "xtype": "LayoutRegion",
48 "collapsedTitle": "Ticket Details",
51 "title": "Ticket Details",
53 "xtype": "LayoutRegion",
58 "|activate": "function() {\n _this.timepanel = this;\n if (_this.timegrid) {\n // _this.grid.footer.onClick('first');\n }\n}"
64 "tableName": "cash_invoice_entry",
65 "title": "cash_invoice_entry",
71 "|render": "function() \n{\n _this.timegrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.timepanel.active) {\n // this.footer.onClick('first');\n }\n}",
72 "|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"
75 "autoExpandColumn": "activity_ref",
87 "render": "function (_self)\n{\n _this.personSelect = _self;\n}"
89 "allowBlank": "false",
90 "displayField": "name",
92 "emptyText": "Select Person",
93 "fieldLabel": "Person",
94 "forceSelection": true,
97 "loadingText": "Searching...",
101 "qtip": "Select Person",
103 "selectOnFocus": true,
104 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> {email} </div>",
105 "triggerAction": "all",
114 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.company_id_comptype = 'OWNER';\n}\n"
119 "|sortInfo": "{ direction : 'ASC', field: 'id' }",
124 "xtype": "HttpProxy",
127 "|url": "baseURL + '/Roo/Person.php'"
131 "xtype": "JsonReader",
135 "totalProperty": "total",
136 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]"
145 "*prop": "dataSource",
148 "|sortInfo": "{ field : 'action_dt', direction: 'DESC' }",
153 "beforeload": "function (This, params)\n{\n if (_this.personSelect.getValue()) {\n params.person_id = _this.personSelect.getValue();\n } else {\n params.person_id = Pman.Login.authUser.id;\n }\n \n \n}"
157 "xtype": "HttpProxy",
158 "|url": "baseURL + '/Roo/cash_invoice_entry.php'",
163 "xtype": "JsonReader",
164 "totalProperty": "total",
168 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'entry_dt',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'entered_dt',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'description',\n 'type': 'string'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'qty',\n 'type': 'string'\n },\n {\n 'name': 'invoice_id',\n 'type': 'int'\n },\n {\n 'name': 'pricevalue',\n 'type': 'float'\n },\n {\n 'name': 'qtyvalue',\n 'type': 'float'\n },\n {\n 'name': 'to_account_id',\n 'type': 'int'\n },\n {\n 'name': 'discount',\n 'type': 'float'\n },\n {\n 'name': 'action_dt',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'staff_id',\n 'type': 'int'\n },\n {\n 'name': 'invoice_id_id',\n 'type': 'int'\n },\n {\n 'name': 'invoice_id_idtxt',\n 'type': 'string'\n },\n {\n 'name': 'invoice_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'invoice_id_opened_dt',\n 'type': 'date'\n },\n {\n 'name': 'invoice_id_posted',\n 'type': 'date'\n },\n {\n 'name': 'invoice_id_post_transaction_id',\n 'type': 'int'\n },\n {\n 'name': 'invoice_id_post_account_id',\n 'type': 'int'\n },\n {\n 'name': 'invoice_id_paid',\n 'type': 'float'\n },\n {\n 'name': 'invoice_id_total',\n 'type': 'float'\n },\n {\n 'name': 'invoice_id_duedate',\n 'type': 'date'\n },\n {\n 'name': 'to_account_id_id',\n 'type': 'int'\n },\n {\n 'name': 'to_account_id_name',\n 'type': 'string'\n },\n {\n 'name': 'to_account_id_type',\n 'type': 'string'\n },\n {\n 'name': 'to_account_id_commodity',\n 'type': 'string'\n },\n {\n 'name': 'to_account_id_scu',\n 'type': 'string'\n },\n {\n 'name': 'to_account_id_description',\n 'type': 'string'\n },\n {\n 'name': 'to_account_id_parent',\n 'type': 'int'\n },\n {\n 'name': 'to_account_id_fullname',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_id',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_name',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_email',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_role',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_active',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'staff_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'staff_id_deleted_dt',\n 'type': 'date'\n }\n]"
173 "*prop": "colModel[]",
174 "dataIndex": "action_dt",
177 "xtype": "ColumnModel",
178 "|renderer": "function(v,x,r) { \n var s = r.data.qtyvalue;\n var end = v.add(Date.HOUR, s);\n return String.format('{0}-{1}', v.format('H:i'), end.format('H:i') );\n}",
182 "*prop": "colModel[]",
183 "dataIndex": "ticket_id_summary",
186 "xtype": "ColumnModel",
187 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
191 "*prop": "colModel[]",
192 "dataIndex": "notes",
195 "xtype": "ColumnModel",
196 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
205 "xtype": "NestedLayoutPanel",
210 "xtype": "BorderLayout",
217 "xtype": "LayoutRegion",
222 "title": "Task Queue",
223 "xtype": "LayoutRegion",
228 "|activate": "function() {\n _this.queuepanel = this;\n if (_this.queuegrid) {\n //_this.queuegrid.footer.onClick('first');\n }\n}"
231 "fitContainer": true,
234 "tableName": "mtrack_ticket",
235 "title": "mtrack_ticket",
236 "xtype": "GridPanel",
241 "|render": "function() \n{\n _this.queuegrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.queuepanel.active) {\n //this.footer.onClick('first');\n }\n}",
242 "|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"
245 "autoExpandColumn": "summary",
257 "render": "function (_self)\n{\n _this.projectSel = _self;\n}",
258 "beforeselect": "function (combo, record, index)\n{\n\n \n _this.queuegrid.ds.load({});\n \n \n \n}"
260 "allowBlank": "false",
261 "displayField": "name",
263 "emptyText": "Select Project",
264 "fieldLabel": "Project",
265 "forceSelection": true,
266 "hiddenName": "project_id",
268 "loadingText": "Searching...",
270 "name": "project_id_name",
272 "qtip": "Select Projects",
273 "queryParam": "query[name]",
274 "selectOnFocus": true,
275 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{code}</b> - {name}</div>",
276 "triggerAction": "all",
285 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n o.params['query[project_filter]'] = 'P,N,U'; // actually this is the default.\n \n // set more here\n}\n"
290 "|sortInfo": "{ field: 'code', direction: 'ASC' }",
295 "xtype": "HttpProxy",
298 "|url": "baseURL + '/Roo/Projects.php'"
302 "xtype": "JsonReader",
306 "totalProperty": "total",
307 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]"
316 "*prop": "dataSource",
319 "|sortInfo": "{ field : 'summary', direction: 'ASC' }",
324 "xtype": "HttpProxy",
326 "|url": "baseURL + '/Roo/mtrack_ticket.php'",
331 "xtype": "JsonReader",
332 "totalProperty": "total",
336 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'project_id',\n 'type': 'int'\n },\n {\n 'name': 'summary',\n 'type': 'string'\n },\n {\n 'name': 'description',\n 'type': 'string'\n },\n {\n 'name': 'changelog',\n 'type': 'string'\n },\n {\n 'name': 'created',\n 'type': 'int'\n },\n {\n 'name': 'updated',\n 'type': 'int'\n },\n {\n 'name': 'owner_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id',\n 'type': 'int'\n },\n {\n 'name': 'cc',\n 'type': 'string'\n },\n {\n 'name': 'status',\n 'type': 'int'\n },\n {\n 'name': 'estimated',\n 'type': 'float'\n },\n {\n 'name': 'spent',\n 'type': 'float'\n },\n {\n 'name': 'x_fieldname',\n 'type': 'string'\n },\n {\n 'name': 'developer_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_person_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_ontable',\n 'type': 'string'\n },\n {\n 'name': 'updated_onid',\n 'type': 'int'\n },\n {\n 'name': 'updated_changedate',\n 'type': 'date'\n },\n {\n 'name': 'updated_reason',\n 'type': 'string'\n },\n {\n 'name': 'created_id',\n 'type': 'int'\n },\n {\n 'name': 'created_person_id',\n 'type': 'int'\n },\n {\n 'name': 'created_ontable',\n 'type': 'string'\n },\n {\n 'name': 'created_onid',\n 'type': 'int'\n },\n {\n 'name': 'created_changedate',\n 'type': 'date'\n },\n {\n 'name': 'created_reason',\n 'type': 'string'\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 {\n 'name': 'owner_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'developer_id_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_name',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_email',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_role',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_active',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'priority_id_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_name',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_active',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_name',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_active',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_name',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_active',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_name',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_active',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'status_id',\n 'type': 'int'\n },\n {\n 'name': 'status_etype',\n 'type': 'string'\n },\n {\n 'name': 'status_name',\n 'type': 'string'\n },\n {\n 'name': 'status_active',\n 'type': 'int'\n },\n {\n 'name': 'status_seqid',\n 'type': 'int'\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': 'milestone_id_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_name',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_description',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_startdate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_duedate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_completed',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_deleted',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_created',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_updated',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_project_id',\n 'type': 'int'\n }\n]"
341 "xtype": "ColumnModel",
344 "dataIndex": "summary",
345 "|renderer": "function(v) { return String.format('{0}', v); }",
347 "*prop": "colModel[]"
355 "xtype": "ContentPanel",
360 "|actioncomplete": "function(_self,action)\n{\n \n \n Roo.log('action complete');\n Roo .log(action);\n if (action.type == 'setdata') {\n\n _this.isClose = false; // force flag..\n \n if (this.activeRecord) {\n this.saveActive( this.activeRecord);\n }\n \n \n \n // show form..\n if (!action.data || !action.data.action) {\n _this.form.el.mask('select something'); \n this.activeRecord = false;\n _this.form.reset(); \n return;\n }\n _this.form.el.unmask(); \n \n this.activeRecord = action.rec;\n \n \n\n \n \n // should save here if we are 'dirty!';\n _this.form.reset();\n _this.form.setValues(action.data);\n // set the dates so they are correct..\n _this.form.setValues( { \n \n action_dt : action.data.action_dt.format('Y-m-d H:i:s'),\n entry_dt: action.data.action_dt.format('Y-m-d'),\n qtyvalue2 : action.data.qtyvalue\n });\n // set the default values..\n // for dirty test...\n _this.form.items.each(function(f) {\n f.originalValue = f.getValue();\n });\n \n \n \n \n // form is set to an event.\n \n \n \n return;\n }\n \n \n if (action.type == 'load') {\n \n return;\n }\n if (action.type =='submit') {\n // set this on the close button..\n if (_this.isClose) {\n _this.dialog.hide();\n }\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n\n return;\n }\n}\n",
361 "|rendered": "function (form)\n{\n _this.form= form;\n}\n"
365 "style": "margin-left:10px;",
367 "|saveActive": "function(rec, effort) {\n \n effort = effort || 0;\n \n\n if (!rec) {\n Roo.log(\"ERROR: saveActive: record not set \");\n return;\n }\n\n var d = Roo.apply({}, rec.data); // copy it so changes do not affect crap...\n \n var upd = (new Date()).format('Y-m-d H:i:s');\n \n \n \n \n //Roo.log(\"SAVE IT: \" + Roo.encode(d) );\n \n // return;\n var at = typeof(d.action_dt) == 'string' ? Date.parseDate(d.action_dt, 'Y-m-d H:i:s') : d.action_dt\n \n new Pman.Request({\n url : baseURL + '/Roo/Cash_invoice_entry.php',\n method : 'POST',\n params : {\n id : d.id,\n entry_dt: at.format('Y-m-d'), // this should not change for posted entries really...\n entered_dt: upd, \n action_dt : at.format('Y-m-d H:i:s'),\n qtyvalue : d.qtyvalue,\n action: 'Hours',\n description: d.description,\n pricevalue: d.pricevalue, \n project_id : d.project_id,\n staff_id : d.staff_id * 1 ? d.staff_id : Pman.Login.authUser.id,\n ticket_id : d.ticket_id ? d.ticket_id : 0\n \n },\n success : function(res)\n {\n // everythings fine..\n \n // we have to update the view object... now...\n // we can not reload as that may blank out data..\n if (!rec.data.id) {\n Roo.log(\"Setting data id to \" + res.data.id);\n rec.set('id', res.data.id);\n\n }\n\n \n },\n failure : function()\n {\n effort++;\n if (effort > 3) {\n Roo.MessageBox.alert(\"Error\", \"Saving timesheet failed\");\n return;\n }\n _this.form.saveActive(rec, effort);\n }\n \n });\n}\n",
368 "|url": "baseURL + '/Roo/cash_invoice_entry.php'",
373 "render": "function (_self)\n{\n _this.projectSel = _self;\n}",
374 "beforeselect": "function (combo, record, index)\n{\n\n Roo.log('save it');\n var sel = _this.grid.ds.selectedBar();\n \n if (!sel) {\n Roo.log(\"nothing selected?\");\n return;\n }\n \n // active record should be the same thing.\n sel.set('project_id', record.data.id);\n sel.set('project_id_code', record.data.code);\n sel.set('project_id_name', record.data.name);\n \n \n _this.grid.ds.updateBar(sel);\n \n \n \n}"
376 "allowBlank": "false",
377 "displayField": "name",
379 "emptyText": "Select Project",
380 "fieldLabel": "Project",
381 "forceSelection": true,
382 "hiddenName": "project_id",
384 "loadingText": "Searching...",
386 "name": "project_id_name",
388 "qtip": "Select Projects",
389 "queryParam": "query[name]",
390 "selectOnFocus": true,
391 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{code}</b> - {name}</div>",
392 "triggerAction": "all",
401 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n o.params['query[project_filter]'] = 'P,N,U'; // actually this is the default.\n \n // set more here\n}\n"
406 "|sortInfo": "{ field: 'code', direction: 'ASC' }",
411 "xtype": "HttpProxy",
414 "|url": "baseURL + '/Roo/Projects.php'"
418 "xtype": "JsonReader",
422 "totalProperty": "total",
423 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]"
437 "keyup": "function (_self, e)\n{\n _this.selectedRec.set('description', this.getValue());\n _this.grid.dataSource.updateBar(_this.selectedRec);\n \n}"
439 "fieldLabel": "Description",
441 "name": "description",
497 "title": "Plan Time",
498 "xtype": "NestedLayoutPanel",
503 "xtype": "BorderLayout",
508 "title": "Open Tasks (Unassigned) / Select Project",
510 "xtype": "LayoutRegion",
515 "title": "Assigned to / Prioritized (all projects)",
516 "xtype": "LayoutRegion",
521 "|activate": "function() {\n _this.openpanel = this;\n if (_this.opengrid) {\n // _this.opengrid.footer.onClick('first');\n }\n}"
524 "fitContainer": true,
527 "tableName": "mtrack_ticket",
528 "title": "mtrack_ticket",
529 "xtype": "GridPanel",
534 "|render": "function() \n{\n _this.opengrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.openpanel.active) {\n //this.footer.onClick('first');\n }\n}",
535 "|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"
538 "autoExpandColumn": "summary",
551 "emptyText": "Select Project",
552 "fieldLabel": "mtrack_ticket",
553 "forceSelection": true,
556 "loadingText": "Searching...",
560 "qtip": "Select mtrack_ticket",
562 "selectOnFocus": true,
563 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> </div>",
564 "triggerAction": "all",
576 "|sortInfo": "{ direction : 'ASC', field: 'id' }",
578 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
583 "xtype": "HttpProxy",
586 "|url": "baseURL + '/Roo/mtrack_ticket.php'"
590 "xtype": "JsonReader",
594 "totalProperty": "total",
595 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"summary\",\"type\":\"string\"}]"
604 "*prop": "dataSource",
607 "|sortInfo": "{ field : 'summary', direction: 'ASC' }",
612 "xtype": "HttpProxy",
614 "|url": "baseURL + '/Roo/mtrack_ticket.php'",
619 "xtype": "JsonReader",
620 "totalProperty": "total",
624 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'project_id',\n 'type': 'int'\n },\n {\n 'name': 'summary',\n 'type': 'string'\n },\n {\n 'name': 'description',\n 'type': 'string'\n },\n {\n 'name': 'changelog',\n 'type': 'string'\n },\n {\n 'name': 'created',\n 'type': 'int'\n },\n {\n 'name': 'updated',\n 'type': 'int'\n },\n {\n 'name': 'owner_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id',\n 'type': 'int'\n },\n {\n 'name': 'cc',\n 'type': 'string'\n },\n {\n 'name': 'status',\n 'type': 'int'\n },\n {\n 'name': 'estimated',\n 'type': 'float'\n },\n {\n 'name': 'spent',\n 'type': 'float'\n },\n {\n 'name': 'x_fieldname',\n 'type': 'string'\n },\n {\n 'name': 'developer_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_person_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_ontable',\n 'type': 'string'\n },\n {\n 'name': 'updated_onid',\n 'type': 'int'\n },\n {\n 'name': 'updated_changedate',\n 'type': 'date'\n },\n {\n 'name': 'updated_reason',\n 'type': 'string'\n },\n {\n 'name': 'created_id',\n 'type': 'int'\n },\n {\n 'name': 'created_person_id',\n 'type': 'int'\n },\n {\n 'name': 'created_ontable',\n 'type': 'string'\n },\n {\n 'name': 'created_onid',\n 'type': 'int'\n },\n {\n 'name': 'created_changedate',\n 'type': 'date'\n },\n {\n 'name': 'created_reason',\n 'type': 'string'\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 {\n 'name': 'owner_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'developer_id_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_name',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_email',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_role',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_active',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'priority_id_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_name',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_active',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_name',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_active',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_name',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_active',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_name',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_active',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'status_id',\n 'type': 'int'\n },\n {\n 'name': 'status_etype',\n 'type': 'string'\n },\n {\n 'name': 'status_name',\n 'type': 'string'\n },\n {\n 'name': 'status_active',\n 'type': 'int'\n },\n {\n 'name': 'status_seqid',\n 'type': 'int'\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': 'milestone_id_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_name',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_description',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_startdate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_duedate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_completed',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_deleted',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_created',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_updated',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_project_id',\n 'type': 'int'\n }\n]"
629 "xtype": "ColumnModel",
632 "dataIndex": "summary",
633 "|renderer": "function(v) { return String.format('{0}', v); }",
635 "*prop": "colModel[]"
643 "|activate": "function() {\n _this.openpanel = this;\n if (_this.opengrid) {\n // _this.opengrid.footer.onClick('first');\n }\n}"
646 "fitContainer": true,
649 "tableName": "mtrack_ticket",
650 "title": "mtrack_ticket",
651 "xtype": "GridPanel",
656 "|render": "function() \n{\n _this.opengrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.openpanel.active) {\n //this.footer.onClick('first');\n }\n}",
657 "|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"
660 "autoExpandColumn": "summary",
673 "emptyText": "Select Person",
674 "fieldLabel": "mtrack_ticket",
675 "forceSelection": true,
678 "loadingText": "Searching...",
682 "qtip": "Select mtrack_ticket",
684 "selectOnFocus": true,
685 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> </div>",
686 "triggerAction": "all",
698 "|sortInfo": "{ direction : 'ASC', field: 'id' }",
700 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
705 "xtype": "HttpProxy",
708 "|url": "baseURL + '/Roo/mtrack_ticket.php'"
712 "xtype": "JsonReader",
716 "totalProperty": "total",
717 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"summary\",\"type\":\"string\"}]"
726 "*prop": "dataSource",
729 "|sortInfo": "{ field : 'summary', direction: 'ASC' }",
734 "xtype": "HttpProxy",
736 "|url": "baseURL + '/Roo/mtrack_ticket.php'",
741 "xtype": "JsonReader",
742 "totalProperty": "total",
746 "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'project_id',\n 'type': 'int'\n },\n {\n 'name': 'summary',\n 'type': 'string'\n },\n {\n 'name': 'description',\n 'type': 'string'\n },\n {\n 'name': 'changelog',\n 'type': 'string'\n },\n {\n 'name': 'created',\n 'type': 'int'\n },\n {\n 'name': 'updated',\n 'type': 'int'\n },\n {\n 'name': 'owner_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id',\n 'type': 'int'\n },\n {\n 'name': 'cc',\n 'type': 'string'\n },\n {\n 'name': 'status',\n 'type': 'int'\n },\n {\n 'name': 'estimated',\n 'type': 'float'\n },\n {\n 'name': 'spent',\n 'type': 'float'\n },\n {\n 'name': 'x_fieldname',\n 'type': 'string'\n },\n {\n 'name': 'developer_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_person_id',\n 'type': 'int'\n },\n {\n 'name': 'updated_ontable',\n 'type': 'string'\n },\n {\n 'name': 'updated_onid',\n 'type': 'int'\n },\n {\n 'name': 'updated_changedate',\n 'type': 'date'\n },\n {\n 'name': 'updated_reason',\n 'type': 'string'\n },\n {\n 'name': 'created_id',\n 'type': 'int'\n },\n {\n 'name': 'created_person_id',\n 'type': 'int'\n },\n {\n 'name': 'created_ontable',\n 'type': 'string'\n },\n {\n 'name': 'created_onid',\n 'type': 'int'\n },\n {\n 'name': 'created_changedate',\n 'type': 'date'\n },\n {\n 'name': 'created_reason',\n 'type': 'string'\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 {\n 'name': 'owner_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'owner_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'developer_id_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_name',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_email',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_role',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_active',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'developer_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'developer_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'priority_id_id',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_name',\n 'type': 'string'\n },\n {\n 'name': 'priority_id_active',\n 'type': 'int'\n },\n {\n 'name': 'priority_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_id',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_name',\n 'type': 'string'\n },\n {\n 'name': 'severity_id_active',\n 'type': 'int'\n },\n {\n 'name': 'severity_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_id',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_name',\n 'type': 'string'\n },\n {\n 'name': 'classification_id_active',\n 'type': 'int'\n },\n {\n 'name': 'classification_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_id',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_etype',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_name',\n 'type': 'string'\n },\n {\n 'name': 'resolution_id_active',\n 'type': 'int'\n },\n {\n 'name': 'resolution_id_seqid',\n 'type': 'int'\n },\n {\n 'name': 'status_id',\n 'type': 'int'\n },\n {\n 'name': 'status_etype',\n 'type': 'string'\n },\n {\n 'name': 'status_name',\n 'type': 'string'\n },\n {\n 'name': 'status_active',\n 'type': 'int'\n },\n {\n 'name': 'status_seqid',\n 'type': 'int'\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': 'milestone_id_id',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_name',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_description',\n 'type': 'string'\n },\n {\n 'name': 'milestone_id_startdate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_duedate',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_completed',\n 'type': 'date'\n },\n {\n 'name': 'milestone_id_deleted',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_created',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_updated',\n 'type': 'int'\n },\n {\n 'name': 'milestone_id_project_id',\n 'type': 'int'\n }\n]"
751 "xtype": "ColumnModel",
754 "dataIndex": "summary",
755 "|renderer": "function(v) { return String.format('{0}', v); }",
757 "*prop": "colModel[]"