From: Alan Knowles Date: Wed, 23 Dec 2020 05:20:20 +0000 (+0800) Subject: Uncommited changes synced X-Git-Url: http://git.roojs.org/?p=Pman.MTrack;a=commitdiff_plain;h=fd0ef5529d6e24ed259ff957af4d26bd96673b7d Uncommited changes synced --- diff --git a/DataObjects/Core_project.php b/DataObjects/Core_project.php index 702d578..3f2e615 100644 --- a/DataObjects/Core_project.php +++ b/DataObjects/Core_project.php @@ -63,6 +63,27 @@ class Pman_MTrack_DataObjects_Core_project extends Pman_Core_DataObjects_Core_pr } + + if (isset($q['_with_tickets'])) { + $this->selectAdd(" + COALESCE(( + SELECT + count(mtrack_ticket.id) + FROM + mtrack_ticket + LEFT JOIN + core_enum as join_status_id + ON + join_status_id.id = mtrack_ticket.status + WHERE + (join_status_id.name NOT IN('closed', 'on hold') OR mtrack_ticket.status = 0) + AND + mtrack_ticket.project_id = core_project.id + ),0) as no_tickets + "); + + } + if (isset($q['_mtrack_repos_only'])) { //?/ should we hide closed projects by default even from admin? diff --git a/DataObjects/Mtrack_ticket.php b/DataObjects/Mtrack_ticket.php index 3c50c5a..a1a46c0 100644 --- a/DataObjects/Mtrack_ticket.php +++ b/DataObjects/Mtrack_ticket.php @@ -679,7 +679,8 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject function beforeUpdate($old, $req, $roo) { - if (!empty($req['reason'])) { + + if (!empty($req['reason'])) { $ch = DB_DataObject::factory('mtrack_change'); $ch->beginChange($this, $req['reason']); $this->_mtrack_change= $ch; @@ -722,6 +723,28 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject $roo->jok("UPDATED"); } + if (isset($req['_before']) || isset($req['_after'])) { + $req['_after'] = isset($req['_after']) ? $req['_after'] : 0; + $req['_before'] = isset($req['_before']) ? $req['_before'] : 0; + $old->updateSequence($req['_before'],$req['_after']); + + + if ($req['_before']) { + $before = DB_DataObject::factory('mtrack_ticket'); + $before->get($req['_before']); + $this->seqid = $before->seqid; + } else if ($req['_after']) { + $after = DB_DataObject::factory('mtrack_ticket'); + $after->get($req['_after']); + $this->seqid = $after->seqid+1; + } else { + + + + } + } + + } @@ -849,8 +872,10 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject } // http://roojs.com/admin.php/Roo/Mtrack_ticket?_post=1&id=733&_reorder=0 - function updateSequence($tbefore) + function updateSequence($tbefore, $tafter = 0) { + // fix empty sequences? + $tn = $this->tableName(); $t = DB_DataObject::factory('mtrack_ticket'); $tt = clone($t); @@ -859,7 +884,7 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject $t->autoJoin(); $t->selectAdd(); // we still apply to closed tickets???? - //$t->whereAdd("join_status_id.name != 'closed'"); + $t->whereAdd("join_status_id.name != 'closed'"); $t->applySort(false, 'old_style', false); $old_seqid = $this->seqid; @@ -883,14 +908,24 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject $old_seqid = $t->seqid; } + + + + $before_seq_id = 0; if ($tbefore) { $before = DB_DataObject::factory('mtrack_ticket'); $before->get($tbefore); $before_seq_id = $before->seqid; + } - + if ($tafter) { + $after = DB_DataObject::factory('mtrack_ticket'); + $after->get($tafter); + $before_seq_id = $after->seqid+1; + } + $t = DB_DataObject::factory('mtrack_ticket'); diff --git a/Merger.php b/Merger.php index 881b22f..3a7c864 100644 --- a/Merger.php +++ b/Merger.php @@ -35,7 +35,7 @@ class Pman_MTrack_Merger extends Pman { } - function get($pi) + function get($pi, $opts= array()) { $this->pi = 'default/roojs1'; // fixme.. diff --git a/Pman.Dialog.MTrackTicket.bjs b/Pman.Dialog.MTrackTicket.bjs index 2a45df8..9104539 100644 --- a/Pman.Dialog.MTrackTicket.bjs +++ b/Pman.Dialog.MTrackTicket.bjs @@ -1,611 +1,680 @@ { - "id": "roo-file-232", - "name": "Pman.Dialog.MTrackTicket", - "parent": "", - "title": "", - "path": "/home/alan/gitlive/Pman.MTrack/Pman.Dialog.MTrackTicket.bjs", - "items": [ + "name" : "Pman.Dialog.MTrackTicket", + "parent" : "", + "title" : "", + "path" : "/home/alan/gitlive/Pman.MTrack/Pman.Dialog.MTrackTicket.bjs", + "permname" : "", + "modOrder" : "001", + "strings" : { + "a02a8093b46b8e647c29727fb50d67e4" : "Select milestone", + "672caf27f5363dc833bda5099775e891" : "Developer", + "9e727fdd3aec8274f46685441900280d" : "Project", + "6a58f977f2b623b695a340766f2a6843" : "Select Project", + "a5ffb2a210f259195a75e5abca8db4a2" : "Select mtrack_milestone", + "6c768695a8efb18436d5b7b4374cdb45" : "Select core_enum", + "007cc9547ae8884ad597cd92ba505422" : "Severity", + "86e9400686e8e080ef3c8995afb5eb86" : "Select Priority", + "ddcf50c29294d4414f3f7c1bbc892cb5" : "Resources", + "290612199861c31d1036b185b4e69b75" : "Summary", + "1cb251ec0d568de6a929b520c4aed8d1" : "text", + "5c9335b28e6277ddbe0137f04e5e58a7" : "Classification", + "3c311fbd0f9e51ce27b984f55164cf83" : "Estimated", + "1243daf593fa297e07ab03bf06d925af" : "Searching...", + "c4ca4238a0b923820dcc509a6f75849b" : "1", + "ea4788705e6873b424c65e91c2846b19" : "Cancel", + "502996d9790340c5fd7b86a5b93b1c9f" : "Priority", + "b6f4a2ec6356bbd56d49f2096bf9d3d3" : "Owner", + "ff18c41b7689060c39934dbb74de1e9c" : "Edit or Create Ticket", + "24f27bda5dd2c488aa9bc7700ba98c34" : "Select Projects", + "340c2ee497b85d5954b01c64de7f44f6" : "Select Person", + "23e6bcd09b259e6de4cd972516cb4214" : "View as", + "590fc197fe73db0aa2ec03687a372eea" : "markdown", + "e9c626b8a8b62de7562dfbf51a576ae5" : "Milestone", + "43371ce8259ba854b1ae3543fd477874" : "Select Severity", + "a8dbd02aaca3948002718aeb2babeefe" : "Summary / Details", + "9fc2d28c05ed9eb1d75ba4465abf15a9" : "Properties", + "b5a7adde1af5c87d7fd797b6245c2a39" : "Description", + "c9cc8cce247e49bae79f15173ce97354" : "Save", + "fcb17935fd52e65b8f223778c9e70313" : "Select Classification" + }, + "named_strings" : { + "view_as_markdown_value" : "c4ca4238a0b923820dcc509a6f75849b", + "estimated_fieldLabel" : "3c311fbd0f9e51ce27b984f55164cf83", + "severity_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "developer_id_name_qtip" : "340c2ee497b85d5954b01c64de7f44f6", + "milestone_id_name_fieldLabel" : "e9c626b8a8b62de7562dfbf51a576ae5", + "priority_id_name_qtip" : "6c768695a8efb18436d5b7b4374cdb45", + "view_as_text_boxLabel" : "1cb251ec0d568de6a929b520c4aed8d1", + "developer_id_name_fieldLabel" : "672caf27f5363dc833bda5099775e891", + "severity_id_name_fieldLabel" : "007cc9547ae8884ad597cd92ba505422", + "developer_id_name_emptyText" : "340c2ee497b85d5954b01c64de7f44f6", + "summary_fieldLabel" : "290612199861c31d1036b185b4e69b75", + "classification_id_name_emptyText" : "fcb17935fd52e65b8f223778c9e70313", + "severity_id_name_qtip" : "6c768695a8efb18436d5b7b4374cdb45", + "description_fieldLabel" : "b5a7adde1af5c87d7fd797b6245c2a39", + "owner_id_name_emptyText" : "340c2ee497b85d5954b01c64de7f44f6", + "project_id_name_qtip" : "24f27bda5dd2c488aa9bc7700ba98c34", + "severity_id_name_emptyText" : "43371ce8259ba854b1ae3543fd477874", + "milestone_id_name_qtip" : "a5ffb2a210f259195a75e5abca8db4a2", + "priority_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "classification_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "milestone_id_name_emptyText" : "a02a8093b46b8e647c29727fb50d67e4", + "priority_id_name_emptyText" : "86e9400686e8e080ef3c8995afb5eb86", + "developer_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "milestone_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "project_id_name_emptyText" : "6a58f977f2b623b695a340766f2a6843", + "owner_id_name_qtip" : "340c2ee497b85d5954b01c64de7f44f6", + "view_as_text_fieldLabel" : "23e6bcd09b259e6de4cd972516cb4214", + "priority_id_name_fieldLabel" : "502996d9790340c5fd7b86a5b93b1c9f", + "project_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "owner_id_name_fieldLabel" : "b6f4a2ec6356bbd56d49f2096bf9d3d3", + "view_as_text_value" : "c4ca4238a0b923820dcc509a6f75849b", + "owner_id_name_loadingText" : "1243daf593fa297e07ab03bf06d925af", + "view_as_markdown_boxLabel" : "590fc197fe73db0aa2ec03687a372eea", + "project_id_name_fieldLabel" : "9e727fdd3aec8274f46685441900280d", + "classification_id_name_fieldLabel" : "5c9335b28e6277ddbe0137f04e5e58a7", + "classification_id_name_qtip" : "6c768695a8efb18436d5b7b4374cdb45" + }, + "items" : [ + { + "listeners" : { + "resize" : "function (_self, width, height)\n{\n var bw = width - 320;\n _this.form.findField('description').el.setWidth(bw);\n _this.summaryBox.el.setWidth(bw+30);\n _this.summaryCol.el.setWidth(bw+45);\n _this.descCol.el.setWidth(bw+35);\n \n}" + }, + "modal" : true, + "collapsible" : false, + "title" : "Edit or Create Ticket", + "xtype" : "LayoutDialog", + "width" : 700, + "$ xns" : "Roo", + "closable" : false, + "resizable" : true, + "height" : 450, + "items" : [ + { + "xtype" : "LayoutRegion", + "$ xns" : "Roo", + "* prop" : "center" + }, + { + "region" : "center", + "xtype" : "ContentPanel", + "$ xns" : "Roo", + "items" : [ + { + "listeners" : { + "|actioncomplete" : "function(_self,action)\n{\n if (action.type == 'setdata') {\n \n this.load({ method: 'GET', params: { '_id' : _this.data.id || 0}});\n \n return;\n }\n if (action.type == 'load') {\n if (!_this.data.id) {\n this.setValues(_this.data);\n }\n return;\n }\n \n \n if (action.type =='submit') {\n \n if (!_this.data.id * 1) {\n Roo.MessageBox.confirm(\"Close?\", \n \"The new ticket id is #\" + action.result.data.id + \", Press yes to close, or no to keep editing\",\n function (res) {\n if (res == 'yes') {\n \n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset(); \n return;\n }\n _this.data.id = action.result.data.id;\n _this.form.fireEvent('actioncomplete', _this.form, { type : 'setdata', data : {}});\n return;\n }\n );\n \n \n \n \n return;\n }\n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset(); \n\n return;\n }\n}\n", + "|rendered" : "function (form)\n{\n _this.form= form;\n}\n" + }, + "$ url" : "baseURL + '/Roo/mtrack_ticket.php'", + "xtype" : "Form", + "method" : "POST", + "style" : "margin:10px;width:1000px;margin-top:0px;", + "$ xns" : "Roo.form", + "items" : [ { - "listeners": { - "resize": "function (_self, width, height)\n{\n var bw = width - 320;\n _this.form.findField('description').el.setWidth(bw);\n _this.summaryBox.el.setWidth(bw+30);\n _this.summaryCol.el.setWidth(bw+45);\n _this.descCol.el.setWidth(bw+35);\n \n}" + "xtype" : "Column", + "$ xns" : "Roo.form", + "width" : 210, + "items" : [ + { + "labelAlign" : "top", + "style" : "width:190px;", + "legend" : "Properties", + "xtype" : "FieldSet", + "$ xns" : "Roo.form", + "items" : [ + { + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Project", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Project", + "hiddenName" : "project_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "project_id_name", + "qtip" : "Select Projects", + "queryParam" : "query[name]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'name' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/Projects.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] }, - "closable": false, - "collapsible": false, - "height": 450, - "modal": true, - "resizable": true, - "title": "Edit or Create Ticket", - "width": 700, - "xtype": "LayoutDialog", - "|xns": "Roo", - "items": [ + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Milestone", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select milestone", + "hiddenName" : "milestone_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "milestone_id_name", + "qtip" : "Select mtrack_milestone", + "queryParam" : "query[name]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'milestone';\n o.params.project_id = _this.form.findField('project_id').getValue();\n if (!o.params.project_id) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'startdate' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ { - "|xns": "Roo", - "xtype": "LayoutRegion", - "*prop": "center" + "$ url" : "baseURL + '/Roo/mtrack_milestone.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "region": "center", - "xtype": "ContentPanel", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|actioncomplete": "function(_self,action)\n{\n if (action.type == 'setdata') {\n \n this.load({ method: 'GET', params: { '_id' : _this.data.id || 0}});\n \n return;\n }\n if (action.type == 'load') {\n if (!_this.data.id) {\n this.setValues(_this.data);\n }\n return;\n }\n \n \n if (action.type =='submit') {\n \n if (!_this.data.id * 1) {\n Roo.MessageBox.confirm(\"Close?\", \n \"The new ticket id is #\" + action.result.data.id + \", Press yes to close, or no to keep editing\",\n function (res) {\n if (res == 'yes') {\n \n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset(); \n return;\n }\n _this.data.id = action.result.data.id;\n _this.form.fireEvent('actioncomplete', _this.form, { type : 'setdata', data : {}});\n return;\n }\n );\n \n \n \n \n return;\n }\n \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset(); \n\n return;\n }\n}\n", - "|rendered": "function (form)\n{\n _this.form= form;\n}\n" - }, - "method": "POST", - "style": "margin:10px;width:1000px;margin-top:0px;", - "xtype": "Form", - "|url": "baseURL + '/Roo/mtrack_ticket.php'", - "|xns": "Roo.form", - "items": [ - { - "width": 210, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "labelAlign": "top", - "legend": "Properties", - "style": "width:190px;", - "xtype": "FieldSet", - "|xns": "Roo.form", - "items": [ - { - "allowBlank": "false", - "displayField": "name", - "editable": "false", - "emptyText": "Select Project", - "fieldLabel": "Project", - "forceSelection": true, - "hiddenName": "project_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "project_id_name", - "pageSize": 20, - "qtip": "Select Projects", - "queryParam": "query[name]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'name' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/Projects.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]" - } - ] - } - ] - }, - { - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select milestone", - "fieldLabel": "Milestone", - "forceSelection": true, - "hiddenName": "milestone_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "milestone_id_name", - "pageSize": 20, - "qtip": "Select mtrack_milestone", - "queryParam": "query[name]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'milestone';\n o.params.project_id = _this.form.findField('project_id').getValue();\n if (!o.params.project_id) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'startdate' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/mtrack_milestone.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]" - } - ] - } - ] - }, - { - "allowBlank": false, - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select Priority", - "fieldLabel": "Priority", - "forceSelection": true, - "hiddenName": "priority_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "priority_id_name", - "pageSize": 20, - "qtip": "Select core_enum", - "queryParam": "query[etype]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'priority';\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'seqid' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/core_enum.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]" - } - ] - } - ] - }, - { - "allowBlank": false, - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select Severity", - "fieldLabel": "Severity", - "forceSelection": true, - "hiddenName": "severity_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "severity_id_name", - "pageSize": 20, - "qtip": "Select core_enum", - "queryParam": "query[etype]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'severity';\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'seqid' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/core_enum.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]" - } - ] - } - ] - }, - { - "allowBlank": false, - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select Classification", - "fieldLabel": "Classification", - "forceSelection": true, - "hiddenName": "classification_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "classification_id_name", - "pageSize": 20, - "qtip": "Select core_enum", - "queryParam": "query[etype]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'classification';\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'seqid' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/core_enum.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]" - } - ] - } - ] - } - ] - }, - { - "legend": "Resources", - "style": "width: 190px", - "xtype": "FieldSet", - "|xns": "Roo.form", - "items": [ - { - "labelAlign": "top", - "width": 190, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "allowBlank": "false", - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select Person", - "fieldLabel": "Developer", - "forceSelection": true, - "hiddenName": "developer_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "developer_id_name", - "pageSize": 20, - "qtip": "Select Person", - "queryParam": "query[name]", - "selectOnFocus": true, - "tpl": "
{name} <{email}>
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n \n // set more here\n o.params['query[project_id]'] = _this.form.findField('project_id').getValue();\n if (!o.params['query[project_id]']) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n o.params['query[role]'] = 'DEVELOPER';\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'name' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/Person.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]" - } - ] - } - ] - }, - { - "allowBlank": "false", - "alwaysQuery": true, - "displayField": "name", - "editable": "false", - "emptyText": "Select Person", - "fieldLabel": "Owner", - "forceSelection": true, - "hiddenName": "owner_id", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "owner_id_name", - "pageSize": 20, - "qtip": "Select Person", - "queryParam": "query[name]", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 180, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params['query[project_id]']= _this.form.findField('project_id').getValue();\n if (!o.params['query[project_id]']) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'name' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/Person.php'" - }, - { - "*prop": "reader", - "xtype": "JsonReader", - "|xns": "Roo.data", - "id": "id", - "root": "data", - "totalProperty": "total", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]" - } - ] - } - ] - } - ] - }, - { - "labelAlign": "right", - "labelWidth": 100, - "width": 190, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "style": "align:right;", - "fieldLabel": "Estimated", - "name": "estimated", - "width": 75, - "xtype": "NumberField", - "|xns": "Roo.form" - } - ] - } - ] - } - ] - }, - { - "listeners": { - "show": "function (_self)\n{\n\n}", - "render": "function (_self)\n{\n _this.summaryCol = _self;\n}" - }, - "style": "margin-left:10px", - "width": 430, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "show": "function (_self)\n{\n\n}", - "render": "function (_self)\n{\n _this.summaryBox = _self;\n}" - }, - "legend": "Summary / Details", - "style": "width:410px", - "xtype": "FieldSet", - "|xns": "Roo.form", - "items": [ - { - "labelAlign": "top", - "width": 400, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "fieldLabel": "Summary", - "name": "summary", - "width": 400, - "xtype": "TextField", - "|xns": "Roo.form" - } - ] - }, - { - "labelWidth": 70, - "style": "float:left; width:400px", - "width": 400, - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "check": "function (_self, checked)\n{\n\n if (!_this.form) {\n return;\n }\n if (checked) {\n \n _this.form.findField('view_as').setValue('text');\n }\n \n \n \n if (this.radio) {\n return;\n }\n var md = _this.form.findField('view_as_markdown');\n\n md.radio = true;\n md.setValue(checked ? 0 : 1);\n \n md.radio = false;\n}" - }, - "boxLabel": "text", - "fieldLabel": "View as", - "name": "view_as_text", - "value": 1, - "width": 100, - "xtype": "Checkbox", - "|xns": "Roo.form" - }, - { - "hideLabels": true, - "style": "float: left", - "width": 100, - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "check": "function (_self, checked)\n{\n if (!_this.form) {\n return;\n }\n \n if (checked) {\n \n _this.form.findField('view_as').setValue('markdown');\n }\n \n if (this.radio) {\n return;\n }\n var md = _this.form.findField('view_as_text');\n\n md.radio = true;\n md.setValue(checked ? 0 : 1);\n md.radio = false;\n}" - }, - "boxLabel": "markdown", - "name": "view_as_markdown", - "value": 1, - "xtype": "Checkbox", - "|xns": "Roo.form" - } - ] - } - ] - }, - { - "listeners": { - "show": "function (_self)\n{\n\n}", - "render": "function (_self)\n{\n _this.descCol = _self;\n}" - }, - "labelAlign": "top", - "width": 400, - "xtype": "Column", - "|xns": "Roo.form", - "items": [ - { - "fieldLabel": "Description", - "height": 250, - "name": "description", - "width": 400, - "xtype": "TextArea", - "|xns": "Roo.form" - } - ] - } - ] - } - ] - }, - { - "name": "id", - "|xns": "Roo.form", - "xtype": "Hidden" - }, - { - "name": "view_as", - "xtype": "Hidden", - "|xns": "Roo.form" - } - ] - } - ] + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Priority", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Priority", + "hiddenName" : "priority_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "priority_id_name", + "qtip" : "Select core_enum", + "queryParam" : "query[etype]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'priority';\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'seqid' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_enum.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "listeners": { - "click": "function (_self, e)\n{\n _this.dialog.hide();\n}" - }, - "*prop": "buttons[]", - "text": "Cancel", - "xtype": "Button", - "|xns": "Roo" + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Severity", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Severity", + "hiddenName" : "severity_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "severity_id_name", + "qtip" : "Select core_enum", + "queryParam" : "query[etype]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'severity';\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'seqid' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_enum.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "listeners": { - "click": "function (_self, e)\n{\n // do some checks?\n \n \n \n _this.form.doAction(\"submit\");\n\n}" - }, - "*prop": "buttons[]", - "text": "Save", - "xtype": "Button", - "|xns": "Roo" + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" } - ] + ] + } + ] + }, + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Classification", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Classification", + "hiddenName" : "classification_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "classification_id_name", + "qtip" : "Select core_enum", + "queryParam" : "query[etype]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'classification';\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'seqid' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_enum.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + } + ] + }, + { + "xtype" : "FieldSet", + "legend" : "Resources", + "style" : "width: 190px", + "$ xns" : "Roo.form", + "items" : [ + { + "labelAlign" : "top", + "xtype" : "Column", + "width" : 190, + "$ xns" : "Roo.form", + "items" : [ + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Developer", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Person", + "hiddenName" : "developer_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : true, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "developer_id_name", + "qtip" : "Select Person", + "queryParam" : "query[name]", + "tpl" : "
{name} <{email}>
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n \n // set more here\n o.params['query[project_id]'] = _this.form.findField('project_id').getValue();\n if (!o.params['query[project_id]']) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n o.params['query[role]'] = 'DEVELOPER';\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'name' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/Person.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Owner", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Select Person", + "hiddenName" : "owner_id", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 180, + "$ xns" : "Roo.form", + "name" : "owner_id_name", + "qtip" : "Select Person", + "queryParam" : "query[name]", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params['query[project_id]']= _this.form.findField('project_id').getValue();\n if (!o.params['query[project_id]']) {\n Roo.MessageBox.alert(\"Error\", \"Select Project\");\n return false;\n }\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'name' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/Person.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + } + ] + }, + { + "labelAlign" : "right", + "xtype" : "Column", + "labelWidth" : 100, + "width" : 190, + "$ xns" : "Roo.form", + "items" : [ + { + "fieldLabel" : "Estimated", + "style" : "align:right;", + "xtype" : "NumberField", + "width" : 75, + "$ xns" : "Roo.form", + "name" : "estimated" + } + ] + } + ] + } + ] + }, + { + "listeners" : { + "show" : "function (_self)\n{\n\n}", + "render" : "function (_self)\n{\n _this.summaryCol = _self;\n}" + }, + "xtype" : "Column", + "style" : "margin-left:10px", + "width" : 430, + "$ xns" : "Roo.form", + "items" : [ + { + "listeners" : { + "show" : "function (_self)\n{\n\n}", + "render" : "function (_self)\n{\n _this.summaryBox = _self;\n}" + }, + "xtype" : "FieldSet", + "legend" : "Summary / Details", + "style" : "width:410px", + "$ xns" : "Roo.form", + "items" : [ + { + "labelAlign" : "top", + "xtype" : "Column", + "width" : 400, + "$ xns" : "Roo.form", + "items" : [ + { + "fieldLabel" : "Summary", + "xtype" : "TextField", + "width" : 400, + "$ xns" : "Roo.form", + "name" : "summary" + } + ] + }, + { + "style" : "float:left; width:400px", + "xtype" : "Row", + "labelWidth" : 70, + "width" : 400, + "$ xns" : "Roo.form", + "items" : [ + { + "listeners" : { + "check" : "function (_self, checked)\n{\n\n if (!_this.form) {\n return;\n }\n if (checked) {\n \n _this.form.findField('view_as').setValue('text');\n }\n \n \n \n if (this.radio) {\n return;\n }\n var md = _this.form.findField('view_as_markdown');\n\n md.radio = true;\n md.setValue(checked ? 0 : 1);\n \n md.radio = false;\n}" + }, + "fieldLabel" : "View as", + "value" : 1, + "xtype" : "Checkbox", + "boxLabel" : "text", + "width" : 100, + "$ xns" : "Roo.form", + "name" : "view_as_text" + }, + { + "hideLabels" : true, + "style" : "float: left", + "xtype" : "Row", + "width" : 100, + "$ xns" : "Roo.form", + "items" : [ + { + "listeners" : { + "check" : "function (_self, checked)\n{\n if (!_this.form) {\n return;\n }\n \n if (checked) {\n \n _this.form.findField('view_as').setValue('markdown');\n }\n \n if (this.radio) {\n return;\n }\n var md = _this.form.findField('view_as_text');\n\n md.radio = true;\n md.setValue(checked ? 0 : 1);\n md.radio = false;\n}" + }, + "value" : 1, + "xtype" : "Checkbox", + "boxLabel" : "markdown", + "$ xns" : "Roo.form", + "name" : "view_as_markdown" + } + ] + } + ] + }, + { + "listeners" : { + "show" : "function (_self)\n{\n\n}", + "render" : "function (_self)\n{\n _this.descCol = _self;\n}" + }, + "labelAlign" : "top", + "xtype" : "Column", + "width" : 400, + "$ xns" : "Roo.form", + "items" : [ + { + "fieldLabel" : "Description", + "xtype" : "TextArea", + "width" : 400, + "$ xns" : "Roo.form", + "name" : "description", + "height" : 250 + } + ] + } + ] + } + ] + }, + { + "xtype" : "Hidden", + "$ xns" : "Roo.form", + "name" : "id" + }, + { + "xtype" : "Hidden", + "$ xns" : "Roo.form", + "name" : "view_as" } - ], - "permname": "", - "modOrder": "001" + ] + } + ] + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n _this.dialog.hide();\n}" + }, + "text" : "Cancel", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n // do some checks?\n \n \n \n _this.form.doAction(\"submit\");\n\n}" + }, + "text" : "Save", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + } + ] + } + ] } \ No newline at end of file diff --git a/Pman.Dialog.MTrackTicket.js b/Pman.Dialog.MTrackTicket.js index 86ef9d2..5402460 100644 --- a/Pman.Dialog.MTrackTicket.js +++ b/Pman.Dialog.MTrackTicket.js @@ -2,757 +2,882 @@ // Auto generated file - created by app.Builder.js- do not edit directly (at present!) +Roo.namespace('Pman.Dialog'); + Pman.Dialog.MTrackTicket = { - dialog : false, - callback: false, + _strings : { + 'a02a8093b46b8e647c29727fb50d67e4' :"Select milestone", + '672caf27f5363dc833bda5099775e891' :"Developer", + '9e727fdd3aec8274f46685441900280d' :"Project", + '6a58f977f2b623b695a340766f2a6843' :"Select Project", + 'a5ffb2a210f259195a75e5abca8db4a2' :"Select mtrack_milestone", + '6c768695a8efb18436d5b7b4374cdb45' :"Select core_enum", + '007cc9547ae8884ad597cd92ba505422' :"Severity", + '86e9400686e8e080ef3c8995afb5eb86' :"Select Priority", + 'ddcf50c29294d4414f3f7c1bbc892cb5' :"Resources", + '290612199861c31d1036b185b4e69b75' :"Summary", + '1cb251ec0d568de6a929b520c4aed8d1' :"text", + '5c9335b28e6277ddbe0137f04e5e58a7' :"Classification", + '3c311fbd0f9e51ce27b984f55164cf83' :"Estimated", + '1243daf593fa297e07ab03bf06d925af' :"Searching...", + 'c4ca4238a0b923820dcc509a6f75849b' :"1", + 'ea4788705e6873b424c65e91c2846b19' :"Cancel", + '502996d9790340c5fd7b86a5b93b1c9f' :"Priority", + 'b6f4a2ec6356bbd56d49f2096bf9d3d3' :"Owner", + 'ff18c41b7689060c39934dbb74de1e9c' :"Edit or Create Ticket", + '24f27bda5dd2c488aa9bc7700ba98c34' :"Select Projects", + '340c2ee497b85d5954b01c64de7f44f6' :"Select Person", + '23e6bcd09b259e6de4cd972516cb4214' :"View as", + '590fc197fe73db0aa2ec03687a372eea' :"markdown", + 'e9c626b8a8b62de7562dfbf51a576ae5' :"Milestone", + '43371ce8259ba854b1ae3543fd477874' :"Select Severity", + 'a8dbd02aaca3948002718aeb2babeefe' :"Summary / Details", + '9fc2d28c05ed9eb1d75ba4465abf15a9' :"Properties", + 'b5a7adde1af5c87d7fd797b6245c2a39' :"Description", + 'c9cc8cce247e49bae79f15173ce97354' :"Save", + 'fcb17935fd52e65b8f223778c9e70313' :"Select Classification" + }, + _named_strings : { + 'view_as_markdown_value' : 'c4ca4238a0b923820dcc509a6f75849b' /* 1 */ , + 'estimated_fieldLabel' : '3c311fbd0f9e51ce27b984f55164cf83' /* Estimated */ , + 'severity_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'developer_id_name_qtip' : '340c2ee497b85d5954b01c64de7f44f6' /* Select Person */ , + 'milestone_id_name_fieldLabel' : 'e9c626b8a8b62de7562dfbf51a576ae5' /* Milestone */ , + 'priority_id_name_qtip' : '6c768695a8efb18436d5b7b4374cdb45' /* Select core_enum */ , + 'view_as_text_boxLabel' : '1cb251ec0d568de6a929b520c4aed8d1' /* text */ , + 'developer_id_name_fieldLabel' : '672caf27f5363dc833bda5099775e891' /* Developer */ , + 'severity_id_name_fieldLabel' : '007cc9547ae8884ad597cd92ba505422' /* Severity */ , + 'developer_id_name_emptyText' : '340c2ee497b85d5954b01c64de7f44f6' /* Select Person */ , + 'summary_fieldLabel' : '290612199861c31d1036b185b4e69b75' /* Summary */ , + 'classification_id_name_emptyText' : 'fcb17935fd52e65b8f223778c9e70313' /* Select Classification */ , + 'severity_id_name_qtip' : '6c768695a8efb18436d5b7b4374cdb45' /* Select core_enum */ , + 'description_fieldLabel' : 'b5a7adde1af5c87d7fd797b6245c2a39' /* Description */ , + 'owner_id_name_emptyText' : '340c2ee497b85d5954b01c64de7f44f6' /* Select Person */ , + 'project_id_name_qtip' : '24f27bda5dd2c488aa9bc7700ba98c34' /* Select Projects */ , + 'severity_id_name_emptyText' : '43371ce8259ba854b1ae3543fd477874' /* Select Severity */ , + 'milestone_id_name_qtip' : 'a5ffb2a210f259195a75e5abca8db4a2' /* Select mtrack_milestone */ , + 'priority_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'classification_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'milestone_id_name_emptyText' : 'a02a8093b46b8e647c29727fb50d67e4' /* Select milestone */ , + 'priority_id_name_emptyText' : '86e9400686e8e080ef3c8995afb5eb86' /* Select Priority */ , + 'developer_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'milestone_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'project_id_name_emptyText' : '6a58f977f2b623b695a340766f2a6843' /* Select Project */ , + 'owner_id_name_qtip' : '340c2ee497b85d5954b01c64de7f44f6' /* Select Person */ , + 'view_as_text_fieldLabel' : '23e6bcd09b259e6de4cd972516cb4214' /* View as */ , + 'priority_id_name_fieldLabel' : '502996d9790340c5fd7b86a5b93b1c9f' /* Priority */ , + 'project_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'owner_id_name_fieldLabel' : 'b6f4a2ec6356bbd56d49f2096bf9d3d3' /* Owner */ , + 'view_as_text_value' : 'c4ca4238a0b923820dcc509a6f75849b' /* 1 */ , + 'owner_id_name_loadingText' : '1243daf593fa297e07ab03bf06d925af' /* Searching... */ , + 'view_as_markdown_boxLabel' : '590fc197fe73db0aa2ec03687a372eea' /* markdown */ , + 'project_id_name_fieldLabel' : '9e727fdd3aec8274f46685441900280d' /* Project */ , + 'classification_id_name_fieldLabel' : '5c9335b28e6277ddbe0137f04e5e58a7' /* Classification */ , + 'classification_id_name_qtip' : '6c768695a8efb18436d5b7b4374cdb45' /* Select core_enum */ + }, - show : function(data, cb) - { - if (!this.dialog) { - this.create(); - } + dialog : false, + callback: false, - this.callback = cb; - this.data = data; - this.dialog.show(this.data._el); - if (this.form) { - this.form.reset(); - this.form.setValues(data); - this.form.fireEvent('actioncomplete', this.form, { type: 'setdata', data: data }); - } + show : function(data, cb) + { + if (!this.dialog) { + this.create(); + } - }, + this.callback = cb; + this.data = data; + this.dialog.show(this.data._el); + if (this.form) { + this.form.reset(); + this.form.setValues(data); + this.form.fireEvent('actioncomplete', this.form, { type: 'setdata', data: data }); + } - create : function() - { - var _this = this; - this.dialog = Roo.factory({ - xtype: 'LayoutDialog', - xns: Roo, - listeners : { - resize : function (_self, width, height) - { - var bw = width - 320; - _this.form.findField('description').el.setWidth(bw); - _this.summaryBox.el.setWidth(bw+30); - _this.summaryCol.el.setWidth(bw+45); - _this.descCol.el.setWidth(bw+35); - + }, + + create : function() + { + var _this = this; + this.dialog = Roo.factory({ + xtype : 'LayoutDialog', + closable : false, + collapsible : false, + height : 450, + modal : true, + resizable : true, + title : _this._strings['ff18c41b7689060c39934dbb74de1e9c'] /* Edit or Create Ticket */, + width : 700, + listeners : { + resize : function (_self, width, height) + { + var bw = width - 320; + _this.form.findField('description').el.setWidth(bw); + _this.summaryBox.el.setWidth(bw+30); + _this.summaryCol.el.setWidth(bw+45); + _this.descCol.el.setWidth(bw+35); + + } + }, + xns : Roo, + '|xns' : 'Roo', + center : { + xtype : 'LayoutRegion', + xns : Roo, + '|xns' : 'Roo' + }, + buttons : [ + { + xtype : 'Button', + text : _this._strings['ea4788705e6873b424c65e91c2846b19'] /* Cancel */, + listeners : { + click : function (_self, e) + { + _this.dialog.hide(); + } + }, + xns : Roo, + '|xns' : 'Roo' + }, + { + xtype : 'Button', + text : _this._strings['c9cc8cce247e49bae79f15173ce97354'] /* Save */, + listeners : { + click : function (_self, e) + { + // do some checks? + + + + _this.form.doAction("submit"); + + } + }, + xns : Roo, + '|xns' : 'Roo' + } + ], + items : [ + { + xtype : 'ContentPanel', + region : 'center', + xns : Roo, + '|xns' : 'Roo', + items : [ + { + xtype : 'Form', + method : 'POST', + style : 'margin:10px;width:1000px;margin-top:0px;', + url : baseURL + '/Roo/mtrack_ticket.php', + listeners : { + actioncomplete : function(_self,action) + { + if (action.type == 'setdata') { + + this.load({ method: 'GET', params: { '_id' : _this.data.id || 0}}); + + return; + } + if (action.type == 'load') { + if (!_this.data.id) { + this.setValues(_this.data); + } + return; + } + + + if (action.type =='submit') { + + if (!_this.data.id * 1) { + Roo.MessageBox.confirm("Close?", + "The new ticket id is #" + action.result.data.id + ", Press yes to close, or no to keep editing", + function (res) { + if (res == 'yes') { + + + _this.dialog.hide(); + + if (_this.callback) { + _this.callback.call(_this, _this.form.getValues()); + } + _this.form.reset(); + return; + } + _this.data.id = action.result.data.id; + _this.form.fireEvent('actioncomplete', _this.form, { type : 'setdata', data : {}}); + return; + } + ); + + + + + return; + } + + _this.dialog.hide(); + + if (_this.callback) { + _this.callback.call(_this, _this.form.getValues()); + } + _this.form.reset(); + + return; + } + }, + rendered : function (form) + { + _this.form= form; + } + }, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'Column', + width : 210, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'FieldSet', + labelAlign : 'top', + legend : _this._strings['9fc2d28c05ed9eb1d75ba4465abf15a9'] /* Properties */, + style : 'width:190px;', + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'ComboBox', + allowBlank : false, + displayField : 'name', + editable : false, + emptyText : _this._strings['6a58f977f2b623b695a340766f2a6843'] /* Select Project */, + fieldLabel : _this._strings['9e727fdd3aec8274f46685441900280d'] /* Project */, + forceSelection : true, + hiddenName : 'project_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'project_id_name', + pageSize : 20, + qtip : _this._strings['24f27bda5dd2c488aa9bc7700ba98c34'] /* Select Projects */, + queryParam : 'query[name]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'name' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/Projects.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + }, + { + xtype : 'ComboBox', + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['a02a8093b46b8e647c29727fb50d67e4'] /* Select milestone */, + fieldLabel : _this._strings['e9c626b8a8b62de7562dfbf51a576ae5'] /* Milestone */, + forceSelection : true, + hiddenName : 'milestone_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'milestone_id_name', + pageSize : 20, + qtip : _this._strings['a5ffb2a210f259195a75e5abca8db4a2'] /* Select mtrack_milestone */, + queryParam : 'query[name]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'startdate' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + o.params.etype = 'milestone'; + o.params.project_id = _this.form.findField('project_id').getValue(); + if (!o.params.project_id) { + Roo.MessageBox.alert("Error", "Select Project"); + return false; + } + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/mtrack_milestone.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + }, + { + xtype : 'ComboBox', + allowBlank : false, + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['86e9400686e8e080ef3c8995afb5eb86'] /* Select Priority */, + fieldLabel : _this._strings['502996d9790340c5fd7b86a5b93b1c9f'] /* Priority */, + forceSelection : true, + hiddenName : 'priority_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'priority_id_name', + pageSize : 20, + qtip : _this._strings['6c768695a8efb18436d5b7b4374cdb45'] /* Select core_enum */, + queryParam : 'query[etype]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'seqid' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + o.params.etype = 'priority'; + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/core_enum.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + }, + { + xtype : 'ComboBox', + allowBlank : false, + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['43371ce8259ba854b1ae3543fd477874'] /* Select Severity */, + fieldLabel : _this._strings['007cc9547ae8884ad597cd92ba505422'] /* Severity */, + forceSelection : true, + hiddenName : 'severity_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'severity_id_name', + pageSize : 20, + qtip : _this._strings['6c768695a8efb18436d5b7b4374cdb45'] /* Select core_enum */, + queryParam : 'query[etype]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'seqid' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + o.params.etype = 'severity'; + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/core_enum.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + }, + { + xtype : 'ComboBox', + allowBlank : false, + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['fcb17935fd52e65b8f223778c9e70313'] /* Select Classification */, + fieldLabel : _this._strings['5c9335b28e6277ddbe0137f04e5e58a7'] /* Classification */, + forceSelection : true, + hiddenName : 'classification_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'classification_id_name', + pageSize : 20, + qtip : _this._strings['6c768695a8efb18436d5b7b4374cdb45'] /* Select core_enum */, + queryParam : 'query[etype]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'seqid' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + o.params.etype = 'classification'; + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/core_enum.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } + } + } + ] + }, + { + xtype : 'FieldSet', + legend : _this._strings['ddcf50c29294d4414f3f7c1bbc892cb5'] /* Resources */, + style : 'width: 190px', + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'Column', + labelAlign : 'top', + width : 190, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'ComboBox', + allowBlank : false, + alwaysQuery : true, + displayField : 'name', + editable : true, + emptyText : _this._strings['340c2ee497b85d5954b01c64de7f44f6'] /* Select Person */, + fieldLabel : _this._strings['672caf27f5363dc833bda5099775e891'] /* Developer */, + forceSelection : true, + hiddenName : 'developer_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'developer_id_name', + pageSize : 20, + qtip : _this._strings['340c2ee497b85d5954b01c64de7f44f6'] /* Select Person */, + queryParam : 'query[name]', + selectOnFocus : true, + tpl : '
{name} <{email}>
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'name' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + + // set more here + o.params['query[project_id]'] = _this.form.findField('project_id').getValue(); + if (!o.params['query[project_id]']) { + Roo.MessageBox.alert("Error", "Select Project"); + return false; + } + o.params['query[role]'] = 'DEVELOPER'; + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/Person.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } } - }, - closable : false, - collapsible : false, - height : 450, - modal : true, - resizable : true, - title : "Edit or Create Ticket", - width : 700, - items : [ - { - xtype: 'ContentPanel', - xns: Roo, - region : 'center', - items : [ - { - xtype: 'Form', - xns: Roo.form, - listeners : { - actioncomplete : function(_self,action) - { - if (action.type == 'setdata') { - - this.load({ method: 'GET', params: { '_id' : _this.data.id || 0}}); - - return; - } - if (action.type == 'load') { - if (!_this.data.id) { - this.setValues(_this.data); - } - return; - } - - - if (action.type =='submit') { - - if (!_this.data.id * 1) { - Roo.MessageBox.confirm("Close?", - "The new ticket id is #" + action.result.data.id + ", Press yes to close, or no to keep editing", - function (res) { - if (res == 'yes') { - - - _this.dialog.hide(); - - if (_this.callback) { - _this.callback.call(_this, _this.form.getValues()); - } - _this.form.reset(); - return; - } - _this.data.id = action.result.data.id; - _this.form.fireEvent('actioncomplete', _this.form, { type : 'setdata', data : {}}); - return; - } - ); - - - - - return; - } - - _this.dialog.hide(); - - if (_this.callback) { - _this.callback.call(_this, _this.form.getValues()); - } - _this.form.reset(); - - return; - } - }, - rendered : function (form) - { - _this.form= form; - } - }, - method : 'POST', - style : 'margin:10px;width:1000px;margin-top:0px;', - url : baseURL + '/Roo/mtrack_ticket.php', - items : [ - { - xtype: 'Column', - xns: Roo.form, - width : 210, - items : [ - { - xtype: 'FieldSet', - xns: Roo.form, - labelAlign : 'top', - legend : "Properties", - style : 'width:190px;', - items : [ - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : 'false', - displayField : 'name', - editable : 'false', - emptyText : "Select Project", - fieldLabel : 'Project', - forceSelection : true, - hiddenName : 'project_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'project_id_name', - pageSize : 20, - qtip : "Select Projects", - queryParam : 'query[name]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'name' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/Projects.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select milestone", - fieldLabel : 'Milestone', - forceSelection : true, - hiddenName : 'milestone_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'milestone_id_name', - pageSize : 20, - qtip : "Select mtrack_milestone", - queryParam : 'query[name]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - o.params.etype = 'milestone'; - o.params.project_id = _this.form.findField('project_id').getValue(); - if (!o.params.project_id) { - Roo.MessageBox.alert("Error", "Select Project"); - return false; - } - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'startdate' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/mtrack_milestone.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : false, - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select Priority", - fieldLabel : 'Priority', - forceSelection : true, - hiddenName : 'priority_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'priority_id_name', - pageSize : 20, - qtip : "Select core_enum", - queryParam : 'query[etype]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - o.params.etype = 'priority'; - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'seqid' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/core_enum.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : false, - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select Severity", - fieldLabel : 'Severity', - forceSelection : true, - hiddenName : 'severity_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'severity_id_name', - pageSize : 20, - qtip : "Select core_enum", - queryParam : 'query[etype]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - o.params.etype = 'severity'; - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'seqid' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/core_enum.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : false, - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select Classification", - fieldLabel : 'Classification', - forceSelection : true, - hiddenName : 'classification_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'classification_id_name', - pageSize : 20, - qtip : "Select core_enum", - queryParam : 'query[etype]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - o.params.etype = 'classification'; - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'seqid' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/core_enum.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}] - } - } - } - ] - }, - { - xtype: 'FieldSet', - xns: Roo.form, - legend : "Resources", - style : 'width: 190px', - items : [ - { - xtype: 'Column', - xns: Roo.form, - labelAlign : 'top', - width : 190, - items : [ - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : 'false', - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select Person", - fieldLabel : 'Developer', - forceSelection : true, - hiddenName : 'developer_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'developer_id_name', - pageSize : 20, - qtip : "Select Person", - queryParam : 'query[name]', - selectOnFocus : true, - tpl : '
{name} <{email}>
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - - // set more here - o.params['query[project_id]'] = _this.form.findField('project_id').getValue(); - if (!o.params['query[project_id]']) { - Roo.MessageBox.alert("Error", "Select Project"); - return false; - } - o.params['query[role]'] = 'DEVELOPER'; - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'name' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/Person.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - allowBlank : 'false', - alwaysQuery : true, - displayField : 'name', - editable : 'false', - emptyText : "Select Person", - fieldLabel : 'Owner', - forceSelection : true, - hiddenName : 'owner_id', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'owner_id_name', - pageSize : 20, - qtip : "Select Person", - queryParam : 'query[name]', - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 180, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - o.params['query[project_id]']= _this.form.findField('project_id').getValue(); - if (!o.params['query[project_id]']) { - Roo.MessageBox.alert("Error", "Select Project"); - return false; - } - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'name' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/Person.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}] - } - } - } - ] - }, - { - xtype: 'Column', - xns: Roo.form, - labelAlign : 'right', - labelWidth : 100, - width : 190, - items : [ - { - xtype: 'NumberField', - xns: Roo.form, - style : 'align:right;', - fieldLabel : 'Estimated', - name : 'estimated', - width : 75 - } - ] - } - ] - } - ] - }, - { - xtype: 'Column', - xns: Roo.form, - listeners : { - show : function (_self) - { - - }, - render : function (_self) - { - _this.summaryCol = _self; - } - }, - style : 'margin-left:10px', - width : 430, - items : [ - { - xtype: 'FieldSet', - xns: Roo.form, - listeners : { - show : function (_self) - { - - }, - render : function (_self) - { - _this.summaryBox = _self; - } - }, - legend : "Summary / Details", - style : 'width:410px', - items : [ - { - xtype: 'Column', - xns: Roo.form, - labelAlign : 'top', - width : 400, - items : [ - { - xtype: 'TextField', - xns: Roo.form, - fieldLabel : 'Summary', - name : 'summary', - width : 400 - } - ] - }, - { - xtype: 'Row', - xns: Roo.form, - labelWidth : 70, - style : 'float:left; width:400px', - width : 400, - items : [ - { - xtype: 'Checkbox', - xns: Roo.form, - listeners : { - check : function (_self, checked) - { - - if (!_this.form) { - return; - } - if (checked) { - - _this.form.findField('view_as').setValue('text'); - } - - - - if (this.radio) { - return; - } - var md = _this.form.findField('view_as_markdown'); - - md.radio = true; - md.setValue(checked ? 0 : 1); - - md.radio = false; - } - }, - boxLabel : 'text', - fieldLabel : 'View as', - name : 'view_as_text', - value : 1, - width : 100 - }, - { - xtype: 'Row', - xns: Roo.form, - hideLabels : true, - style : 'float: left', - width : 100, - items : [ - { - xtype: 'Checkbox', - xns: Roo.form, - listeners : { - check : function (_self, checked) - { - if (!_this.form) { - return; - } - - if (checked) { - - _this.form.findField('view_as').setValue('markdown'); - } - - if (this.radio) { - return; - } - var md = _this.form.findField('view_as_text'); - - md.radio = true; - md.setValue(checked ? 0 : 1); - md.radio = false; - } - }, - boxLabel : 'markdown', - name : 'view_as_markdown', - value : 1 - } - ] - } - ] - }, - { - xtype: 'Column', - xns: Roo.form, - listeners : { - show : function (_self) - { - - }, - render : function (_self) - { - _this.descCol = _self; - } - }, - labelAlign : 'top', - width : 400, - items : [ - { - xtype: 'TextArea', - xns: Roo.form, - fieldLabel : 'Description', - height : 250, - name : 'description', - width : 400 - } - ] - } - ] - } - ] - }, - { - xtype: 'Hidden', - xns: Roo.form, - name : 'id' - }, - { - xtype: 'Hidden', - xns: Roo.form, - name : 'view_as' - } - ] - } - ] + }, + { + xtype : 'ComboBox', + allowBlank : false, + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['340c2ee497b85d5954b01c64de7f44f6'] /* Select Person */, + fieldLabel : _this._strings['b6f4a2ec6356bbd56d49f2096bf9d3d3'] /* Owner */, + forceSelection : true, + hiddenName : 'owner_id', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + name : 'owner_id_name', + pageSize : 20, + qtip : _this._strings['340c2ee497b85d5954b01c64de7f44f6'] /* Select Person */, + queryParam : 'query[name]', + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 180, + xns : Roo.form, + '|xns' : 'Roo.form', + store : { + xtype : 'Store', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'name' }, + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + o.params['query[project_id]']= _this.form.findField('project_id').getValue(); + if (!o.params['query[project_id]']) { + Roo.MessageBox.alert("Error", "Select Project"); + return false; + } + } + }, + xns : Roo.data, + '|xns' : 'Roo.data', + proxy : { + xtype : 'HttpProxy', + method : 'GET', + url : baseURL + '/Roo/Person.php', + xns : Roo.data, + '|xns' : 'Roo.data' + }, + reader : { + xtype : 'JsonReader', + fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data' + } } - ], - center : { - xtype: 'LayoutRegion', - xns: Roo + } + ] + }, + { + xtype : 'Column', + labelAlign : 'right', + labelWidth : 100, + width : 190, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'NumberField', + fieldLabel : _this._strings['3c311fbd0f9e51ce27b984f55164cf83'] /* Estimated */, + name : 'estimated', + style : 'align:right;', + width : 75, + xns : Roo.form, + '|xns' : 'Roo.form' + } + ] + } + ] + } + ] + }, + { + xtype : 'Column', + style : 'margin-left:10px', + width : 430, + listeners : { + render : function (_self) + { + _this.summaryCol = _self; }, - buttons : [ - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - _this.dialog.hide(); - } - }, - text : "Cancel" + show : function (_self) + { + + } + }, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'FieldSet', + legend : _this._strings['a8dbd02aaca3948002718aeb2babeefe'] /* Summary / Details */, + style : 'width:410px', + listeners : { + render : function (_self) + { + _this.summaryBox = _self; + }, + show : function (_self) + { + + } + }, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'Column', + labelAlign : 'top', + width : 400, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'TextField', + fieldLabel : _this._strings['290612199861c31d1036b185b4e69b75'] /* Summary */, + name : 'summary', + width : 400, + xns : Roo.form, + '|xns' : 'Roo.form' + } + ] + }, + { + xtype : 'Row', + labelWidth : 70, + style : 'float:left; width:400px', + width : 400, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'Checkbox', + boxLabel : _this._strings['1cb251ec0d568de6a929b520c4aed8d1'] /* text */, + fieldLabel : _this._strings['23e6bcd09b259e6de4cd972516cb4214'] /* View as */, + name : 'view_as_text', + value : 1, + width : 100, + listeners : { + check : function (_self, checked) + { + + if (!_this.form) { + return; + } + if (checked) { + + _this.form.findField('view_as').setValue('text'); + } + + + + if (this.radio) { + return; + } + var md = _this.form.findField('view_as_markdown'); + + md.radio = true; + md.setValue(checked ? 0 : 1); + + md.radio = false; + } }, - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - // do some checks? - - - - _this.form.doAction("submit"); + xns : Roo.form, + '|xns' : 'Roo.form' + }, + { + xtype : 'Row', + hideLabels : true, + style : 'float: left', + width : 100, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'Checkbox', + boxLabel : _this._strings['590fc197fe73db0aa2ec03687a372eea'] /* markdown */, + name : 'view_as_markdown', + value : 1, + listeners : { + check : function (_self, checked) + { + if (!_this.form) { + return; + } + + if (checked) { + + _this.form.findField('view_as').setValue('markdown'); + } + if (this.radio) { + return; } - }, - text : "Save" + var md = _this.form.findField('view_as_text'); + + md.radio = true; + md.setValue(checked ? 0 : 1); + md.radio = false; + } + }, + xns : Roo.form, + '|xns' : 'Roo.form' + } + ] + } + ] + }, + { + xtype : 'Column', + labelAlign : 'top', + width : 400, + listeners : { + render : function (_self) + { + _this.descCol = _self; + }, + show : function (_self) + { + } + }, + xns : Roo.form, + '|xns' : 'Roo.form', + items : [ + { + xtype : 'TextArea', + fieldLabel : _this._strings['b5a7adde1af5c87d7fd797b6245c2a39'] /* Description */, + height : 250, + name : 'description', + width : 400, + xns : Roo.form, + '|xns' : 'Roo.form' + } + ] + } ] - }); - } + } + ] + }, + { + xtype : 'Hidden', + name : 'id', + xns : Roo.form, + '|xns' : 'Roo.form' + }, + { + xtype : 'Hidden', + name : 'view_as', + xns : Roo.form, + '|xns' : 'Roo.form' + } + ] + } + ] + } + ] + }); + } }; diff --git a/TestDayMail.php b/TestDayMail.php index a1886a4..d468d33 100644 --- a/TestDayMail.php +++ b/TestDayMail.php @@ -12,16 +12,16 @@ class Pman_MTrack_TestDayMail extends Pman_Core_Cli { return true; } - function get() + function get($base, $opts= array()) { - + die("not used"); echo ''; $r = DB_DataObject::factory('mtrack_repos'); $r->find(); while ($r->fetch()) { $p = DB_DAtaObject::factory('Person'); - $p->whereAddIn('email', array('alan@roojs.com','chris@roojs.com'), 'string'); + $p->whereAddIn('email', array('alan@roojs.com' ), 'string'); foreach($p->fetchAll('id') as $pid) { $cw = DB_DAtaObject::Factory('core_watch'); $cw->setFrom(array( diff --git a/UserRepos.php b/UserRepos.php index 2a8d5af..c525575 100644 --- a/UserRepos.php +++ b/UserRepos.php @@ -10,7 +10,7 @@ class Pman_MTrack_UserRepos extends Pman { return true; } - function get() + function get($base, $opts= array()) { $au = DB_DataObject::Factory('Person'); $au->company_id = $au->sqlValue("(SELECT id from Companies where comptype='OWNER' LIMIT 1)");