"permname" : "",
"modOrder" : "001",
"strings" : {
- "fd7535ce3979bb8547e2c01689db0767" : "Select Person ",
+ "340c2ee497b85d5954b01c64de7f44f6" : "Select Person",
"b9dd47d69178dbf735bfcd2733fd4ea6" : "Add Comment / Update",
"290612199861c31d1036b185b4e69b75" : "Summary",
"8a223eb0008a86f053b2a7eac0fa6eac" : "Select priority",
+ "04720e14ddfde3154a120fdd0ae73d19" : "Action Required By",
+ "ef6703d6c606526cece4a9eda9d49045" : "Your comment",
"c76a5e84e4bdee527e274ea30c680d79" : "active",
"502996d9790340c5fd7b86a5b93b1c9f" : "Priority",
+ "40bed7cf9b3d4bb3a3d7a7e3eb18c5eb" : "Person ",
"5c9335b28e6277ddbe0137f04e5e58a7" : "Classification",
"7e5ddb4ca31c30e778f4d9c57b9577b1" : "Change Status",
"1fd968087e03faeb2e87df1e9849d983" : "Spent",
"672caf27f5363dc833bda5099775e891" : "Developer",
"6a7e73161603d87b26a8eac49dab0a9c" : "Hours",
"ff0a3b7f3daef040faf89a88fdac01b7" : "Updated",
- "340c2ee497b85d5954b01c64de7f44f6" : "Select Person",
"b1550c2a1a5eb0d078d92eef8a0ef883" : "ID#",
- "ec53a8c4f07baed5d8825072c89799be" : "Status",
"9e727fdd3aec8274f46685441900280d" : "Project",
+ "ec53a8c4f07baed5d8825072c89799be" : "Status",
"ea4788705e6873b424c65e91c2846b19" : "Cancel",
+ "a3edc4e7beafdcd450f339ec414b7508" : "Developer / Action Required By",
"c1c694bd849d91d0eb34bfef8c2d8894" : "Tickets",
"a5ffb2a210f259195a75e5abca8db4a2" : "Select mtrack_milestone",
"3efbc55730fd4af147b96183d8afbd3b" : "mtrack_ticket",
"e9c626b8a8b62de7562dfbf51a576ae5" : "Milestone",
"b26917587d98330d93f87808fc9d7267" : "Subscribe",
"f691f042a559b1c1a4f89826c6f75760" : "Resolved",
- "c9cc8cce247e49bae79f15173ce97354" : "Save",
"007cc9547ae8884ad597cd92ba505422" : "Severity",
+ "c9cc8cce247e49bae79f15173ce97354" : "Save",
"01bd6a16732dfa2b760dc8566c58afae" : "Download to Excel",
"887950755a62e33c26209bdcbdc1d3d3" : "Bulk Change",
"7025046a3448dfea367705b884148992" : "Select classification"
},
+ "named_strings" : {
+ "priority_id_name_qtip" : "8a223eb0008a86f053b2a7eac0fa6eac",
+ "severity_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "developer_id_emptyText" : "340c2ee497b85d5954b01c64de7f44f6",
+ "developer_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "status_name_emptyText" : "7e5ddb4ca31c30e778f4d9c57b9577b1",
+ "severity_id_name_emptyText" : "423570be9f14a39fe88384797ee376fd",
+ "classification_id_name_emptyText" : "7025046a3448dfea367705b884148992",
+ "status_name_fieldLabel" : "ec53a8c4f07baed5d8825072c89799be",
+ "developer_id_qtip" : "340c2ee497b85d5954b01c64de7f44f6",
+ "developer_id_name_emptyText" : "340c2ee497b85d5954b01c64de7f44f6",
+ "classification_id_name_qtip" : "7025046a3448dfea367705b884148992",
+ "developer_id_fieldLabel" : "40bed7cf9b3d4bb3a3d7a7e3eb18c5eb",
+ "developer_id_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "cm_status_name_value" : "c76a5e84e4bdee527e274ea30c680d79",
+ "milestone_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "priority_id_name_emptyText" : "8a223eb0008a86f053b2a7eac0fa6eac",
+ "status_name_qtip" : "7e5ddb4ca31c30e778f4d9c57b9577b1",
+ "status_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "milestone_id_name_emptyText" : "a5ffb2a210f259195a75e5abca8db4a2",
+ "developer_id_name_qtip" : "340c2ee497b85d5954b01c64de7f44f6",
+ "reason_fieldLabel" : "ef6703d6c606526cece4a9eda9d49045",
+ "cm_status_name_fieldLabel" : "ec53a8c4f07baed5d8825072c89799be",
+ "priority_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af",
+ "milestone_id_name_qtip" : "a5ffb2a210f259195a75e5abca8db4a2",
+ "developer_id_name_fieldLabel" : "a3edc4e7beafdcd450f339ec414b7508",
+ "severity_id_name_qtip" : "423570be9f14a39fe88384797ee376fd",
+ "classification_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af"
+ },
"items" : [
{
"listeners" : {
"activate" : "function (_self)\n{\n _this.panel = _self;\n (function () {\n if (_this.tpanel) {\n _this.panel.layout.getRegion('south').hide();\n //_this.panel.layout.getRegion('north').hide();\n }\n }).defer(100);\n try {\n if (!_this.url || !_this.project || (_this.project != MTrack.projectCombo.getValue())) {\n (function() { \n if (_this.tpanel) { \n // _this.tpanel.mload(\"/Report/1\"); \n }\n }).defer(300);\n }\n \n \n } catch(e) {Roo.log(\"activate fail\" + e.toString()); }\n}"
},
+ "background" : true,
"region" : "center",
"fitToFrame" : true,
- "background" : true,
"title" : "Tickets",
"xtype" : "NestedLayoutPanel",
"fitContainer" : true,
"items" : [
{
"xtype" : "LayoutRegion",
- "$ xns" : "Roo",
"tabPosition" : "top",
+ "$ xns" : "Roo",
"* prop" : "center"
},
{
"listeners" : {
"|activate" : "function() {\n _this.gpanel = this;\n if (_this.grid) {\n _this.grid.ds.load({});\n }\n}"
},
+ "background" : true,
"region" : "north",
"fitToframe" : true,
- "background" : true,
"title" : "mtrack_ticket",
"xtype" : "GridPanel",
"fitContainer" : true,
"items" : [
{
"listeners" : {
- "cellselect" : "function (_self, rowIndex, colIndex)\n{\n return false;\n var rec = _this.grid.ds.getAt(rowIndex);\n \n // verify nothing has chagned.. \n \n // load the ticked, and render a view of it...\n new Pman.Request({\n url : baseURL + '/Roo/mtrack_ticket',\n method : 'GET',\n params : { \n _id : rec.data.id\n },\n success : function(res) {\n //Roo.log(res.data);\n // render it into a template..\n _this.tpanel.setContent(Pman.MTrack.template.ticket_view(res.data));\n _this.tpanel.el.scrollTo('top',0);\n \n //... ehh\n Pman.MTrack.loadAudit(rec.data.id, _this.tpanel.el.select('.mtrack-ticket-events',true).first());\n \n \n \n new Pman.Request({\n url : baseURL + '/Roo/Images',\n method : 'GET',\n params : { \n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n },\n success : function(ares) {\n Roo.log(ares.data);\n var el = Roo.select('.ticket-status-attachments .attachments-list', true).first();\n // fill in the attachement area with data from this..\n el.dom.innerHTML = Pman.MTrack.template.ticket_attachments(ares) ;\n }\n });\n \n \n _this.form.reset();\n\n _this.form.setValues({\n id : rec.data.id,\n owner_id : rec.data.owner_id,\n owner_id_name : rec.data.owner_id_name,\n status : rec.data.status,\n status_name : \"No Change\"\n }); \n \n \n for(var k in res.data) {\n rec.set(k,res.data[k]);\n }\n \n }\n });\n \n \n \n}",
- "afterselectionchange" : "function (_self, rowIndex, colIndex)\n{\n \n var sels = _this.grid.selModel.getSelections();\n \n if (!sels || sels.length > 1) {\n \n return;\n }\n \n var rec = sels[0];\n \n // verify nothing has chagned.. \n \n // load the ticked, and render a view of it...\n new Pman.Request({\n url : baseURL + '/Roo/mtrack_ticket',\n method : 'GET',\n params : { \n _id : rec.data.id\n },\n success : function(res) {\n //Roo.log(res.data);\n // render it into a template..\n _this.tpanel.setContent(Pman.MTrack.template.ticket_view(res.data));\n _this.tpanel.el.scrollTo('top',0);\n \n //... ehh\n Pman.MTrack.loadAudit(rec.data.id, _this.tpanel.el.select('.mtrack-ticket-events',true).first());\n \n \n \n new Pman.Request({\n url : baseURL + '/Roo/Images',\n method : 'GET',\n params : { \n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n },\n success : function(ares) {\n Roo.log(ares.data);\n var el = Roo.select('.ticket-status-attachments .attachments-list', true).first();\n // fill in the attachement area with data from this..\n el.dom.innerHTML = Pman.MTrack.template.ticket_attachments(ares) ;\n }\n });\n \n \n _this.form.reset();\n\n _this.form.setValues({\n id : rec.data.id,\n owner_id : rec.data.owner_id,\n owner_id_name : rec.data.owner_id_name,\n status : rec.data.status,\n status_name : \"No Change\"\n }); \n \n \n for(var k in res.data) {\n rec.set(k,res.data[k]);\n }\n \n }\n });\n \n \n \n}"
+ "afterselectionchange" : "function (_self, rowIndex, colIndex)\n{\n \n var sels = _this.grid.selModel.getSelections();\n \n if (!sels || sels.length > 1) {\n \n return;\n }\n \n var rec = sels[0];\n \n // verify nothing has chagned.. \n \n // load the ticked, and render a view of it...\n new Pman.Request({\n url : baseURL + '/Roo/mtrack_ticket',\n method : 'GET',\n params : { \n _id : rec.data.id\n },\n success : function(res) {\n //Roo.log(res.data);\n // render it into a template..\n _this.tpanel.setContent(Pman.MTrack.template.ticket_view(res.data));\n _this.tpanel.el.scrollTo('top',0);\n \n //... ehh\n Pman.MTrack.loadAudit(rec.data.id, _this.tpanel.el.select('.mtrack-ticket-events',true).first());\n \n \n \n new Pman.Request({\n url : baseURL + '/Roo/Images',\n method : 'GET',\n params : { \n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n },\n success : function(ares) {\n Roo.log(ares.data);\n var el = Roo.select('.ticket-status-attachments .attachments-list', true).first();\n // fill in the attachement area with data from this..\n el.dom.innerHTML = Pman.MTrack.template.ticket_attachments(ares) ;\n }\n });\n \n \n _this.form.reset();\n\n _this.form.setValues({\n id : rec.data.id,\n owner_id : rec.data.owner_id,\n owner_id_name : rec.data.owner_id_name,\n status : rec.data.status,\n status_name : \"No Change\"\n }); \n \n \n for(var k in res.data) {\n rec.set(k,res.data[k]);\n }\n \n }\n });\n \n \n \n}",
+ "cellselect" : "function (_self, rowIndex, colIndex)\n{\n return false;\n var rec = _this.grid.ds.getAt(rowIndex);\n \n // verify nothing has chagned.. \n \n // load the ticked, and render a view of it...\n new Pman.Request({\n url : baseURL + '/Roo/mtrack_ticket',\n method : 'GET',\n params : { \n _id : rec.data.id\n },\n success : function(res) {\n //Roo.log(res.data);\n // render it into a template..\n _this.tpanel.setContent(Pman.MTrack.template.ticket_view(res.data));\n _this.tpanel.el.scrollTo('top',0);\n \n //... ehh\n Pman.MTrack.loadAudit(rec.data.id, _this.tpanel.el.select('.mtrack-ticket-events',true).first());\n \n new Pman.Request({\n url : baseURL + '/Roo/Images',\n method : 'GET',\n params : { \n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n },\n success : function(ares) {\n Roo.log(ares.data);\n var el = Roo.select('.ticket-status-attachments .attachments-list', true).first();\n // fill in the attachement area with data from this..\n el.dom.innerHTML = Pman.MTrack.template.ticket_attachments(ares) ;\n }\n });\n \n \n _this.form.reset();\n\n _this.form.setValues({\n id : rec.data.id,\n owner_id : rec.data.owner_id,\n owner_id_name : rec.data.owner_id_name,\n status : rec.data.status,\n status_name : \"No Change\"\n }); \n \n \n for(var k in res.data) {\n rec.set(k,res.data[k]);\n }\n \n }\n });\n \n \n \n}"
},
"xtype" : "RowSelectionModel",
"$ xns" : "Roo.grid",
"items" : [
{
"$ url" : "baseURL + '/Roo/mtrack_ticket.php'",
- "xtype" : "HttpProxy",
"method" : "GET",
+ "xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
},
{
"listeners" : {
- "click" : "function (_self, e)\n{\n params = {};\n params.project_id = Pman.Tab.DocumentsTab.panel.getProjectId(); // testing.\n params.limit = 999;\n // columns...\n params['query[viewtype]'] = 'active'\n \n for (var k in _this.filterBtn) {\n if (_this.filterBtn[k].pressed) {\n params['query[viewtype]'] = k;\n }\n }\n var ii =0;\n params['csvCols['+ii+']'] = 'jira_ref';\n params['csvTitles['+ii+']'] = \"Jira ID\";\n ii++;\n \n Roo.each(_this.grid.colModel.config, function(c,i) {\n params['csvCols['+ii+']'] = c.dataIndex;\n params['csvTitles['+ii+']'] = c.header;\n try {\n if (typeof( c.editor.field.name) != 'undefined') {\n params['csvCols['+ii+']'] = c.editor.field.name;\n }\n } catch(e) {}\n ii++;\n });\n \n params['csvCols['+ii+']'] = 'description';\n params['csvTitles['+ii+']'] = \"Details\";\n \n \n\n \n \n new Pman.Download({\n url: baseURL + '/Roo/mtrack_ticket',\n method: 'GET' ,\n params: params\n \n });\n \n \n}"
+ "click" : "function (_self, e)\n{\n params = {};\n params.project_id = Pman.Tab.DocumentsTab.panel.getProjectId(); // testing.\n params.limit = 999;\n // columns...\n params['query[viewtype]'] = 'active';\n \n for (var k in _this.filterBtn) {\n if (_this.filterBtn[k].pressed) {\n params['query[viewtype]'] = k;\n }\n }\n var ii =0;\n params['csvCols['+ii+']'] = 'jira_ref';\n params['csvTitles['+ii+']'] = \"Jira ID\";\n ii++;\n \n Roo.each(_this.grid.colModel.config, function(c,i) {\n params['csvCols['+ii+']'] = c.dataIndex;\n params['csvTitles['+ii+']'] = c.header;\n try {\n if (typeof( c.editor.field.name) != 'undefined') {\n params['csvCols['+ii+']'] = c.editor.field.name;\n }\n } catch(e) {}\n ii++;\n });\n \n params['csvCols['+ii+']'] = 'description';\n params['csvTitles['+ii+']'] = \"Details\";\n \n \n\n \n \n new Pman.Download({\n url: baseURL + '/Roo/mtrack_ticket',\n method: 'GET' ,\n params: params\n \n });\n \n \n}"
},
"text" : "Download to Excel",
"xtype" : "Button",
},
{
"listeners" : {
- "click" : "function (_self, e)\n{\n var sels = _this.grid.selModel.getSelections()\n\n var pid = 0;\n var ids = [];\n Roo.each(sels, function(s) {\n ids.push(s.data.id);\n if (pid && s.data.project_id != pid) {\n pid = -1;\n return false;\n }\n pid = s.data.project_id ;\n \n });\n if (pid < 1) {\n Roo.MessageBox.alert(\"Error\", \"selected tickets must be of the same project\");\n return;\n }\n \n // permission based?\n \n Pman.Dialog.MTrackBulkChange.show({\n project_id : sels[0].data.project_id,\n project_id_name : sels[0].data.project_id_name,\n ids : ids.join(',')\n }, function(res) {\n Roo.log(res);\n var tks = {};\n \n Roo.each(res.data, function(d) {\n tks[d.id*1] = d;\n });\n \n Roo.each(sels, function(sel) {\n var record = _this.grid.ds.getById(sel.data.id);\n record.modified = record.modified || {};\n\n Roo.log(tks[record.data.id*1]);\n \n for (var k in tks[record.data.id*1]) {\n // update the \n \n \n if (k.match(/_id$/) || k.match(/_id_/) || k.match(/^status_/)) {\n\n\n Roo.log(\"SET \" + k + \"=\" + tks[record.data.id*1][k]);\n record.data[k] = tks[record.data.id*1][k];\n record.modified[k] = tks[record.data.id*1][k];\n }\n }\n record.store.afterEdit(record);\n });\n \n });\n\n \n \n}"
+ "click" : "function (_self, e)\n{\n var sels = _this.grid.selModel.getSelections();\n\n var pid = 0;\n var ids = [];\n Roo.each(sels, function(s) {\n ids.push(s.data.id);\n if (pid && s.data.project_id != pid) {\n pid = -1;\n return false;\n }\n pid = s.data.project_id ;\n \n });\n if (pid < 1) {\n Roo.MessageBox.alert(\"Error\", \"selected tickets must be of the same project\");\n return;\n }\n \n // permission based?\n \n Pman.Dialog.MTrackBulkChange.show({\n project_id : sels[0].data.project_id,\n project_id_name : sels[0].data.project_id_name,\n ids : ids.join(',')\n }, function(res) {\n Roo.log(res);\n var tks = {};\n \n Roo.each(res.data, function(d) {\n tks[d.id*1] = d;\n });\n \n Roo.each(sels, function(sel) {\n var record = _this.grid.ds.getById(sel.data.id);\n record.modified = record.modified || {};\n\n Roo.log(tks[record.data.id*1]);\n \n for (var k in tks[record.data.id*1]) {\n // update the \n \n \n if (k.match(/_id$/) || k.match(/_id_/) || k.match(/^status_/)) {\n\n\n Roo.log(\"SET \" + k + \"=\" + tks[record.data.id*1][k]);\n record.data[k] = tks[record.data.id*1][k];\n record.modified[k] = tks[record.data.id*1][k];\n }\n }\n record.store.afterEdit(record);\n });\n \n });\n\n \n \n}"
},
"text" : "Bulk Change",
"xtype" : "Button",
"load" : "function (_self, records, options)\n{\n Roo.log(records);\n var ua = _this.personSel.store.reader.newRow({\n developer_id : -1,\n developer_id_name : '-- Un-assigned --'\n });\n this.insert(0,[ua]);\n// records.unshift(ua);\n}"
},
"xtype" : "Store",
- "$ xns" : "Roo.data",
"$ sortInfo" : "{ field : 'developer_id_name' , dir : 'ASC' }",
+ "$ xns" : "Roo.data",
"* prop" : "store",
"items" : [
{
"$ url" : "baseURL + '/Roo/Mtrack_ticket.php'",
- "method" : "GET",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
"items" : [
{
"xtype" : "SimpleStore",
- "$ data" : "[ \n [ 'active', \"Active\"],\n [ 'me' , \"Assigned to me\"],\n [ 'me-all' , \"Assigned to me (All projects)\"], \n [ 'closed' , \"Closed\"],\n [ 'pending' , \"Pending Review / Resolved\"],\n [ 'in-progress' , \"In Progress\"],\n [ 'all' , \"All States\"]\n \n]\n",
+ "$ data" : "[ \n [ 'active', \"Active\"],\n [ 'me' , \"Assigned to me\"],\n [ 'me-all' , \"Assigned to me (All projects)\"], \n [ 'closed' , \"Closed\"],\n [ 'on-hold' , \"On Hold\"],\n [ 'pending' , \"Pending Review / Resolved\"],\n [ 'in-progress' , \"In Progress\"],\n [ 'all' , \"All States\"]\n \n]\n",
"$ fields" : "[ 'ftype', 'fname']",
"$ xns" : "Roo.data",
"* prop" : "store"
"items" : [
{
"$ url" : "baseURL + '/Roo/mtrack_milestone.php'",
- "xtype" : "HttpProxy",
"method" : "GET",
+ "xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
},
{
"xtype" : "ColumnModel",
- "width" : 200,
"header" : "Summary",
+ "width" : 200,
"$ renderer" : "function(v,x,r) { \n \n var col = '#000'; // closed?\n switch (r.data.status_name) {\n case 'resolved':\n col = '#0cc'; break; // blue\n case 'open':\n case 'reopened': \n case 'new': \n col = '#c00'; break; // redish\n case 'closed': \n col = '#999'; break; // grey\n }\n \n return String.format(\n r.data.status_name == 'closed' ?\n '{2}</span><s style=\"color:{3}\">[{1}]</s> {0}':\n '{2}<span style=\"color:{3}\">[{1}]</span> {0}',\n v,\n r.data.status_name == 'closed' ?\n r.data.resolution_id_name : \n r.data.status_name ,\n r.json.jira_ref ? (r.json.jira_ref+ ' ') : '',\n col\n ); \n}\n",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
},
{
"xtype" : "ColumnModel",
- "width" : 75,
"header" : "Owner",
+ "width" : 75,
"$ renderer" : "function(v) { return String.format('{0}', v); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
},
{
"xtype" : "ColumnModel",
- "width" : 75,
"header" : "Developer",
+ "width" : 75,
"$ renderer" : "function(v,x,r) { return String.format('{0}', r.data.developer_id_name); }",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"items" : [
{
"$ url" : "baseURL + '/Roo/Person.php'",
- "xtype" : "HttpProxy",
"method" : "GET",
+ "xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
"items" : [
{
"$ url" : "baseURL + '/Roo/core_enum.php'",
- "method" : "GET",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
"items" : [
{
"$ url" : "baseURL + '/Roo/core_enum.php'",
- "method" : "GET",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
"items" : [
{
"$ url" : "baseURL + '/Roo/core_enum.php'",
- "method" : "GET",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
},
{
"xtype" : "ColumnModel",
- "width" : 50,
"header" : "Hours",
+ "width" : 50,
"$ renderer" : "function(v,x,r) { \n return String.format('{0}/{1}', r.data.spent, v); \n}",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"resize" : "function (_self, width, height)\n{\n // create and update the CSS style\n \n if (!_this.css) {\n _this.css = Roo.util.CSS;\n \n _this.css.createStyleSheet(\n \n \".ticket-view-main .ticket-left-col { }\\n\" +\n \".ticket-view-main .readonly-tkt-description { }\\n\" +\n \".ticket-view-main .mtrack-ticket-events {} \\n\"\n ,\n Roo.id()\n ); \n \n }\n var w = width - 400;\n Roo.log(\"new width: \" + Math.max(0,w));\n \n _this.css.updateRule(\n \".ticket-view-main .ticket-left-col\", \n \"width\", Math.max(0, w) + 'px'\n );\n _this.css.updateRule(\n \".ticket-view-main .readonly-tkt-description\",\n \"width\", Math.max(0, w-10) + 'px'\n );\n _this.css.updateRule(\n \".ticket-view-main .mtrack-ticket-events\",\n \"width\", Math.max(0, w-10) + 'px'\n );\n}"
},
"autoScroll" : true,
- "fitToFrame" : true,
"background" : false,
+ "fitToFrame" : true,
"region" : "center",
"title" : "Tickets",
"xtype" : "ContentPanel",
"items" : [
{
"listeners" : {
- "click" : "function (_self, e)\n{\n \n \n \n var sels = _this.grid.getSelectionModel().getSelections()\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n function ok()\n {\n _this.panel.layout.getRegion('south').show();\n _this.panel.layout.getRegion('north').hide();\n _this.form.reset();\n \n _this.form.setValues({\n id : rec.data.id,\n developer_id : rec.data.developer_id,\n developer_id_name : rec.data.developer_id_name\n });\n \n }\n \n if (_this.panel.layout.getRegion('south').isVisible() && _this.form.isDirty()) {\n Roo.MessageBox.confirm(\"Cancel\", \"Are you sure you want to cancel editing\", function(r) {\n if (r !='yes') {\n return;\n }\n ok(); \n \n });\n return;\n }\n \n ok();\n \n\n\n}"
+ "click" : "function (_self, e)\n{\n \n \n \n var sels = _this.grid.getSelectionModel().getSelections();\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n function ok()\n {\n _this.panel.layout.getRegion('south').show();\n _this.panel.layout.getRegion('north').hide();\n _this.form.reset();\n \n _this.form.setValues({\n id : rec.data.id,\n developer_id : rec.data.developer_id,\n developer_id_name : rec.data.developer_id_name\n });\n \n }\n \n if (_this.panel.layout.getRegion('south').isVisible() && _this.form.isDirty()) {\n Roo.MessageBox.confirm(\"Cancel\", \"Are you sure you want to cancel editing\", function(r) {\n if (r !='yes') {\n return;\n }\n ok(); \n \n });\n return;\n }\n \n ok();\n \n\n\n}"
},
"text" : "Add Comment / Update",
"xtype" : "Button",
},
{
"listeners" : {
- "click" : "function (_self, e)\n{\n var sels = _this.grid.getSelectionModel().getSelections()\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n \n \n Pman.Dialog.MTrackTicket.show({ id : rec.data.id } , function(res) {\n // apply the data to the current row, and reload the display part..\n \n });\n \n \n \n}"
+ "click" : "function (_self, e)\n{\n var sels = _this.grid.getSelectionModel().getSelections();\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n \n \n Pman.Dialog.MTrackTicket.show({ id : rec.data.id } , function(res) {\n // apply the data to the current row, and reload the display part..\n \n });\n \n \n \n}"
},
"text" : "Edit original ticket",
"xtype" : "Button",
},
{
"listeners" : {
- "click" : "function (_self, e)\n{\n var sels = _this.grid.getSelectionModel().getSelections()\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n Pman.Dialog.Image.show( {\n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n } ,\n function(res) {\n // update the body part..\n \n }\n );\n \n \n \n \n}"
+ "click" : "function (_self, e)\n{\n var sels = _this.grid.getSelectionModel().getSelections();\n if (!sels || sels.length > 1) {\n Roo.MessageBox.alert(\"Error\", \"Select a ticket\");\n return;\n }\n var rec = sels[0];\n \n Pman.Dialog.Image.show( {\n onid : rec.data.id,\n ontable : 'mtrack_ticket'\n } ,\n function(res) {\n // update the body part..\n \n }\n );\n \n \n \n \n}"
},
"text" : "Add Attachment / Patch",
"xtype" : "Button",
"|rendered" : "function (form)\n{\n _this.form= form;\n}\n"
},
"$ url" : "baseURL + '/Roo/mtrack_ticket.php'",
- "method" : "POST",
"xtype" : "Form",
+ "method" : "POST",
"style" : "margin:10px;",
"$ xns" : "Roo.form",
"items" : [
{
"xtype" : "Row",
- "width" : 900,
"$ xns" : "Roo.form",
+ "width" : 900,
"items" : [
{
"labelAlign" : "top",
"items" : [
{
"$ url" : "baseURL + '/Roo/Mtrack_ticket.php'",
- "method" : "GET",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
"items" : [
{
"listeners" : {
- "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params['query[ticket_id]'] =_this.grid.getSelected().data.id;\n \n o.params['query[project_id]']= _this.grid.getSelected().data.project_id;\n o.params._anyrole = 1;\n \n o.params.limit = 999;\n}\n"
+ "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params['query[ticket_id]'] =_this.grid.sm.getSelected().data.id;\n \n o.params['query[project_id]']= _this.grid.sm.getSelected().data.project_id;\n o.params._anyrole = 1;\n \n o.params.limit = 999;\n}\n"
},
"xtype" : "Store",
"remoteSort" : true,
"* prop" : "store",
"items" : [
{
- "$ url" : "baseURL + '/Roo/Person.php'",
- "xtype" : "HttpProxy",
+ "$ url" : "baseURL + '/Roo/core_person.php'",
"method" : "GET",
+ "xtype" : "HttpProxy",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},