}
-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;
public class RooTicket : Object
{
- public enum NotMe {
- TRUE,
- FALSE
+
+ public enum Who {
+ ANYBODY,
+ ME
}
- public enum Closed {
- TRUE,
- FALSE
+ public enum Status {
+ ALL,
+ ACTIVE
}
//const string baseurl = "https://roojs.com/admin.php/Ro/mtrack_ticket";
if (_RooTicket == null) {
_RooTicket = new RooTicket();
_RooTicket.tickets = new Gee.ArrayList<RooTicket>();
- _RooTicket.projects = new Gee.ArrayList<RooProject>();
+
_RooTicket.repos = new Gee.ArrayList<RooRepo>();
_RooTicket.loadRepos(); // initalize it..
}
return _RooTicket;
}
public Gee.ArrayList<RooTicket> tickets; // only available for singletonn.
- public Gee.ArrayList<RooProject> projects; // only available for singletonn.
+
public Gee.ArrayList<RooRepo> repos; // only available for singletonn.
public Gee.ArrayList<RooOption> milestones;
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();
if (rt.repos.size < 1) {
rt.loadRepos();
}
- if (rt.projects.size < 1) {
- rt.loadProjects();
- }
+
var pid = "";
foreach(var roo_repo in rt.repos) {
return null;
}
// get project by id...
- foreach(var roo_project in rt.projects) {
+ foreach(var roo_project in RooProjects.projects()) {
if (roo_project.id == pid) {
GLib.debug("getProjectByRepo: project_id = %s", pid);
return roo_project;
}
}
- public void loadTickets(string project_id, NotMe not_me, Closed closed)
+ public void loadTickets(string project_id, Who who, Status status)
{
RooTicket.singleton().tickets = new Gee.ArrayList<RooTicket>();
var table = new GLib.HashTable<string, string>(str_hash, str_equal);
- if (not_me == NotMe.FALSE) {
- table.insert("query[viewtype]","me");
- } else {
-
- }
- if (closed == Closed.TRUE) {
- table.insert("query[viewtype]","me");
- } else {
+
+ table.insert("_developer", who.to_string().down().substring(15));
- }
+ table.insert("query[viewtype]", status.to_string().down().substring(18));
- table.insert("limit","999");
+ table.insert("limit","200");
table.insert("sort","summary");
table.insert("dir","ASC");
parser.load_from_data (data, -1);
var response = parser.get_root().get_object();
- var status = response.get_boolean_member("success");
+ var success = response.get_boolean_member("success");
- if(!status){
+ if(!success){
GLib.error(response.get_string_member("errorMsg"));
return;
}
var table = new GLib.HashTable<string, string>(str_hash, str_equal);
table.insert("query[project_filter]","P,N,U");
- table.insert("limit","999");
+ table.insert("limit","200");
table.insert("sort","name");
table.insert("dir","ASC");
var table = new GLib.HashTable<string, string>(str_hash, str_equal);
- table.insert("limit","999");
+ table.insert("limit","200");
table.insert("sort","shortname");
table.insert("dir","ASC");