public class RooTicket : Object
{
-
+ public enum NotMe {
+ TRUE,
+ FALSE
+ }
+ public enum Closed {
+ TRUE,
+ FALSE
+ }
+
//const string baseurl = "https://roojs.com/admin.php/Ro/mtrack_ticket";
const string roourl = "https://roojs.com/admin.php/Roo";
public static RooTicket singleton()
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 = "";
- for(var roo_repo in this.repos.values) {
+ 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...
- for(var roo_project in this.projects.values) {
+ 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 void loadTickets()
+ public void loadTickets(string project_id, NotMe not_me, Closed closed)
{
RooTicket.singleton().tickets = new Gee.ArrayList<RooTicket>();
var table = new GLib.HashTable<string, string>(str_hash, str_equal);
-
- table.insert("query[viewtype]","me");
+ if (not_me == NotMe.FALSE) {
+ table.insert("query[viewtype]","me");
+ } else {
+
+ }
+ if (closed == Closed.TRUE) {
+ table.insert("query[viewtype]","me");
+ } else {
+
+ }
+
table.insert("limit","999");
table.insert("sort","summary");
table.insert("dir","ASC");
+
+ if (project_id != "") {
+ table.insert("project_id",project_id);
+ }
+
var params = Soup.Form.encode_hash(table);
session.send_message (message);
var data = (string) message.response_body.flatten().data;
- GLib.debug("got %s", data);
+ //GLib.debug("got %s", data);
try {
var parser = new Json.Parser ();
parser.load_from_data (data, -1);
session.send_message (message);
var data = (string) message.response_body.flatten().data;
- GLib.debug("got %s", data);
+ //GLib.debug("got %s", data);
try {
var parser = new Json.Parser ();
parser.load_from_data (data, -1);
session.send_message (message);
var data = (string) message.response_body.flatten().data;
- GLib.debug("got %s", data);
+ //GLib.debug("got %s", data);
try {
var parser = new Json.Parser ();
parser.load_from_data (data, -1);