X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=RooTicket.vala;h=c4c71bd4946301bed803fd4c8e8d18dd068c1f53;hp=604d435d926f4ba6901932b27c26f57893a3eee8;hb=1ca3cefd12af4ec1e3cfa3469fbcfc1afc129723;hpb=2a6a46caf4f1d149a8e72cb0fb0c90f9923a27bb diff --git a/RooTicket.vala b/RooTicket.vala index 604d435d..c4c71bd4 100644 --- a/RooTicket.vala +++ b/RooTicket.vala @@ -64,6 +64,18 @@ public class RooTicket : Object GLib.debug("ADD ticket %s : %s : %s", add.id, add.summary, add.project_id_name); return add; } + + public static RooTicket fakeTicket() + { + var t = new RooTicket(); + t.id = "-1"; + t.summary = ""; + t.description = ""; + t.project_id_name = ""; + RooTicket.singleton().tickets.add(t); + return t; + } + public RooTicket? getById(string id) { @@ -72,6 +84,10 @@ public class RooTicket : Object return t; } } + if (id == "-1") { + return RooTicket.fakeTicket(); + } + return this.loadTicket(id); @@ -207,50 +223,51 @@ public class RooTicket : Object } - public void close(string commits) - { - var table = new GLib.HashTable(str_hash, str_equal); - table.insert("id",id); - table.insert("status_name","resolved"); - table.insert("reason","fixed by Commits: %s".printf(commits)); - var params = Soup.Form.encode_hash(table); + public void close(string commits) + { + if (this.id == "-1") { + return; + } + var table = new GLib.HashTable(str_hash, str_equal); + table.insert("id",id); + table.insert("status_name","resolved"); + table.insert("reason","fixed by Commits: %s".printf(commits)); + var params = Soup.Form.encode_hash(table); - GLib.debug("request POST %s / %s", baseurl, id); - - var session = new Soup.Session (); - session.timeout = 0; - var message = new Soup.Message ("POST", baseurl); - RooTicket.setAuth(message); - - message.set_request ("application/x-www-form-urlencoded", Soup.MemoryUse.STATIC, params.data); - 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); + GLib.debug("request POST %s / %s", baseurl, id); - var response = parser.get_root().get_object(); - var status = response.get_boolean_member("success"); - - if(!status){ - GLib.error(response.get_string_member("errorMsg")); - return ; - } - - - - - } catch (Error e) { - GLib.error(e.message); - return ; - } - - } + var session = new Soup.Session (); + session.timeout = 0; + var message = new Soup.Message ("POST", baseurl); + RooTicket.setAuth(message); + message.set_request ("application/x-www-form-urlencoded", Soup.MemoryUse.STATIC, params.data); + 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 ; + } + + + + + } catch (Error e) { + GLib.error(e.message); + return ; + } + + } - - } +}