X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=RooTicket.vala;h=00bc43bffaada5e4be2eab106c572c7a8c19ef92;hp=3d854010c3ced913a35c3f4444a85ead8a0355e6;hb=9df01e59458293cdac3f984d7bc8f63055640e19;hpb=35449c3a6ed4c08cf09abae2ab8a582acf7080c3 diff --git a/RooTicket.vala b/RooTicket.vala index 3d854010..00bc43bf 100644 --- a/RooTicket.vala +++ b/RooTicket.vala @@ -4,18 +4,6 @@ code to fetch ticket info... */ -public class RooRepo : Object -{ - - - - public string id; // not really important that they are numbers.. - public string project_id; - public string description; - public string shortname; - - -} public class RooOption : Object { @@ -34,16 +22,6 @@ public class RooOption : Object } -public class RooProject : Object -{ - public string id; // not really important that they are numbers.. - public string code; - public string name; - public string type; - -} - - static RooTicket _RooTicket; @@ -67,15 +45,15 @@ public class RooTicket : Object if (_RooTicket == null) { _RooTicket = new RooTicket(); _RooTicket.tickets = new Gee.ArrayList(); - _RooTicket.projects = new Gee.ArrayList(); - _RooTicket.repos = new Gee.ArrayList(); - _RooTicket.loadRepos(); // initalize it.. + + + } return _RooTicket; } public Gee.ArrayList tickets; // only available for singletonn. - public Gee.ArrayList projects; // only available for singletonn. - public Gee.ArrayList repos; // only available for singletonn. + + public Gee.ArrayList milestones; public Gee.ArrayList priorities; @@ -91,6 +69,7 @@ public class RooTicket : Object public string id; // not really important that they are numbers.. public string summary; public string description; + public string project_id; public string project_id_name; @@ -136,68 +115,15 @@ public class RooTicket : Object add.id = t.get_string_member("id"); add.summary = t.get_string_member("summary"); add.description = t.get_string_member("description"); + add.project_id = t.get_string_member("project_id"); add.project_id_name = t.get_string_member("project_id_name"); this.tickets.add(add); GLib.debug("ADD ticket %s : %s : %s", add.id, add.summary, add.project_id_name); return add; } - public RooProject addProject(Json.Object t) - { - var add = new RooProject(); - add.id = t.get_string_member("id"); - add.name = t.get_string_member("name"); - add.type = t.get_string_member("type"); - add.code = t.get_string_member("code"); - this.projects.add(add); - GLib.debug("ADD project %s : %s : %s", add.id, add.code, add.name); - return add; - } - - public RooRepo addRepo(Json.Object t) - { - var add = new RooRepo(); - add.id = t.get_string_member("id"); - add.shortname = t.get_string_member("shortname"); - add.description = t.get_string_member("description"); - add.project_id = t.get_string_member("project_id"); - this.repos.add(add); - GLib.debug("ADD project %s : %s : %s", add.id, add.shortname, add.project_id); - return add; - } - - public RooProject? getProjectByRepo(GitRepo repo) - { - var rt = RooTicket.singleton(); - - if (rt.repos.size < 1) { - rt.loadRepos(); - } - if (rt.projects.size < 1) { - rt.loadProjects(); - } - - var pid = ""; - foreach(var roo_repo in rt.repos) { - if (roo_repo.shortname == repo.name) { - pid = roo_repo.project_id; - break; - } - } - if (pid == "") { - GLib.debug("getProjectByRepo: repo has no project"); - return null; - } - // get project by id... - foreach(var roo_project in rt.projects) { - if (roo_project.id == pid) { - GLib.debug("getProjectByRepo: project_id = %s", pid); - return roo_project; - } - } - GLib.debug("getProjectByRepo: can not find project"); - return null; - - } + + + public static RooTicket fakeTicket() @@ -206,6 +132,7 @@ public class RooTicket : Object t.id = "-1"; t.summary = ""; t.description = ""; + t.project_id = ""; t.project_id_name = ""; RooTicket.singleton().tickets.add(t); return t; @@ -335,117 +262,7 @@ public class RooTicket : Object } - - public void loadProjects() - { - RooTicket.singleton().projects = new Gee.ArrayList(); - - - var table = new GLib.HashTable(str_hash, str_equal); - - table.insert("query[project_filter]","P,N,U"); - table.insert("limit","200"); - table.insert("sort","name"); - table.insert("dir","ASC"); - - var params = Soup.Form.encode_hash(table); - - var url = "%s/%s?%s" . printf(roourl, "core_project", params); - - GLib.debug("request %s", url); - - var session = new Soup.Session (); - session.timeout = 0; - var message = new Soup.Message ("GET", url); - - - RooTicket.setAuth(message); - - session.send_message (message); - - var data = (string) message.response_body.flatten().data; - //GLib.debug("got %s", data); - try { - var parser = new Json.Parser (); - parser.load_from_data (data, -1); - - var response = parser.get_root().get_object(); - var status = response.get_boolean_member("success"); - - if(!status){ - GLib.error(response.get_string_member("errorMsg")); - return; - } - var rd = response.get_array_member ("data"); - - // got a valid result... - var _this = RooTicket.singleton(); - for(var i = 0; i < rd.get_length(); i++) { - _this.addProject(rd.get_object_element(i)); - } - - - } catch (Error e) { - GLib.error(e.message); - return; - } - - } - public void loadRepos() - { - RooTicket.singleton().repos = new Gee.ArrayList(); - - - var table = new GLib.HashTable(str_hash, str_equal); - - - table.insert("limit","200"); - table.insert("sort","shortname"); - table.insert("dir","ASC"); - - var params = Soup.Form.encode_hash(table); - - var url = "%s/%s?%s" . printf(roourl, "mtrack_repos", params); - - GLib.debug("request %s", url); - - var session = new Soup.Session (); - session.timeout = 0; - var message = new Soup.Message ("GET", url); - - - RooTicket.setAuth(message); - - session.send_message (message); - - var data = (string) message.response_body.flatten().data; - //GLib.debug("got %s", data); - try { - var parser = new Json.Parser (); - parser.load_from_data (data, -1); - - var response = parser.get_root().get_object(); - var status = response.get_boolean_member("success"); - - if(!status){ - GLib.error(response.get_string_member("errorMsg")); - return; - } - var rd = response.get_array_member ("data"); - - // got a valid result... - var _this = RooTicket.singleton(); - for(var i = 0; i < rd.get_length(); i++) { - _this.addRepo(rd.get_object_element(i)); - } - - - } catch (Error e) { - GLib.error(e.message); - return; - } - - } + public void loadProjectOptions(string pid) { var rt = RooTicket.singleton(); @@ -594,6 +411,7 @@ public class RooTicket : Object string project_id, string milestone_id, string priority_id, + string severity_id, string classification_id, string developer_id, string summary, @@ -606,6 +424,7 @@ public class RooTicket : Object table.insert("project_id", project_id); table.insert("milestone_id", milestone_id); table.insert("priority_id", priority_id); + table.insert("severity_id", classification_id); table.insert("classification_id", classification_id); table.insert("developer_id", developer_id); table.insert("summary", summary);