Fix #5611 - Fix ticket filters on create branch
authorAlan Knowles <alan@roojs.com>
Mon, 17 Dec 2018 08:28:52 +0000 (16:28 +0800)
committerAlan Knowles <alan@roojs.com>
Mon, 17 Dec 2018 08:28:52 +0000 (16:28 +0800)
MergeBranch.bjs
MergeBranch.vala
NewBranch.bjs
NewBranch.vala
RooTicket.vala

index 3cafabe..9375c8e 100644 (file)
@@ -14,8 +14,8 @@
     "show" : "(self)  => {\n \n\n  //test\n}"
    },
    "default_width" : 500,
-   "# GitRepo repo" : "",
    "$ deletable" : true,
+   "# GitRepo repo" : "",
    "title" : "Merge Branch",
    "xtype" : "Dialog",
    "|   void show" : "(  RooTicket ticket, GitRepo? repo ) \n{\n     // this.el.set_gravity(Gdk.Gravity.NORTH);\n    if (this.running) {\n    \treturn;\n\t}\n\tGitMonitor.gitmonitor.stop();\n\t\n    this.ticket = ticket;\n    this.repo = repo;\n    \n\tthis.el.move((Gdk.Screen.width() / 2)- 250 ,0);\n       \tGLib.debug(\"Loading tickets\"); \n\n\n    this.el.show_all();\n \t_this.dbmodel.loadTickets();\n \t_this.actionmodel.loadActions();\n\n\n}",
@@ -32,8 +32,8 @@
      "items" : [
       {
        "bool homogeneous" : false,
-       "* pack" : "pack_start,false,false,0",
        "xtype" : "Table",
+       "* pack" : "pack_start,false,false,0",
        "uint column_spacing" : 2,
        "n_columns" : 2,
        "$ xns" : "Gtk",
          "items" : [
           {
            "id" : "actioncellrenderer",
-           "* pack" : "pack_start,true",
            "xtype" : "CellRendererText",
+           "* pack" : "pack_start,true",
            "$ xns" : "Gtk"
           },
           {
            "id" : "actionmodel",
-           "* pack" : "set_model",
            "xtype" : "ListStore",
+           "* pack" : "set_model",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
            "$ xns" : "Gtk",
          "items" : [
           {
            "id" : "dbcellrenderer",
-           "xtype" : "CellRendererText",
            "* pack" : "pack_start,true",
+           "xtype" : "CellRendererText",
            "$ xns" : "Gtk"
           },
           {
            "id" : "dbmodel",
-           "xtype" : "ListStore",
            "* pack" : "set_model",
-           "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets(\"\",RooTicket.NotMe.FALSE, RooTicket.Closed.FALSE);\n    \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    \n    if (_this.ticket != null &&  _this.ticket.id == \"-1\") {\n\t\tel.append(out iter);\n\t\tel.set_value(iter, 0, \"-1\");\n\t\tel.set_value(iter, 1, \"Temporary Branch - No ticket specified/relivant\");\n        _this.ticketsel.el.set_active_iter(iter);\t\n    }\n    \n    \n    \n    \n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n\n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n\t\tif (_this.ticket != null && _this.ticket.id == ticket.id) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n\t    }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
+           "xtype" : "ListStore",
+           "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets(\"\",RooTicket.Who.ME, RooTicket.Status.ACTIVE);\n    \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    \n    if (_this.ticket != null &&  _this.ticket.id == \"-1\") {\n\t\tel.append(out iter);\n\t\tel.set_value(iter, 0, \"-1\");\n\t\tel.set_value(iter, 1, \"Temporary Branch - No ticket specified/relivant\");\n        _this.ticketsel.el.set_active_iter(iter);\t\n    }\n    \n    \n    \n    \n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n\n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n\t\tif (_this.ticket != null && _this.ticket.id == ticket.id) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n\t    }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
            "$ xns" : "Gtk"
     },
     {
      "label" : "Cancel",
-     "xtype" : "Button",
      "* pack" : "add_action_widget,0",
+     "xtype" : "Button",
      "Gtk.ReliefStyle relief" : "Gtk.ReliefStyle.NONE",
      "$ xns" : "Gtk"
     },
     {
      "label" : "Do Merge",
-     "xtype" : "Button",
      "* pack" : "add_action_widget,1",
+     "xtype" : "Button",
      "$ xns" : "Gtk"
     }
    ]
index 6f84765..737dab4 100644 (file)
@@ -500,7 +500,7 @@ public class MergeBranch : Object
         // user defined functions
         public void loadTickets () {
         
-            RooTicket.singleton().loadTickets("",RooTicket.NotMe.FALSE, RooTicket.Closed.FALSE);
+            RooTicket.singleton().loadTickets("",RooTicket.Who.ME, RooTicket.Status.ACTIVE);
             
             _this.ticketsel.loading = true;
         
index 300f28d..f1a9016 100644 (file)
@@ -17,7 +17,7 @@
    "title" : "Create a working branch ",
    "xtype" : "Dialog",
    "# GitRepo? repo" : "null",
-   "|   void show" : "( GitRepo repo, Gee.ArrayList<GitMonitorQueue> queue, string tid = \"\" ) \n{\n     // this.el.set_gravity(Gdk.Gravity.NORTH);\n    if (this.running) { // should not happen!!\n    \tGLib.error(\"new branch show called, when already being displayed?\");\n\t}\n\tthis.queue = queue;\n\t\n\tthis.running  = true;\n\tGitMonitor.gitmonitor.stop();\n\t\n    this.repo = repo;\n    \n    \n    \n    \n\tthis.el.move((Gdk.Screen.width() / 2)- 250 ,0);\n\tthis.el.set_default_size( 500,200); // not sure why it grows..\n    GLib.debug(\"Loading tickets\"); \n     \n\n    this.el.show_all();\n    this.el.set_keep_above(true);\n   \n    \n    var curproj = RooTicket.singleton().getProjectByRepo(this.repo);\n     _this.prmodel.loadProjects(curproj == null ? \"\" : curproj.id);\n    \n \t_this.dbmodel.loadTickets(curproj == null ? \"\": curproj.id, tid);\n \tthis.el.run();\n\n}",
+   "|   void show" : "( GitRepo repo, Gee.ArrayList<GitMonitorQueue> queue, string tid = \"\" ) \n{\n     // this.el.set_gravity(Gdk.Gravity.NORTH);\n    if (this.running) { // should not happen!!\n    \tGLib.error(\"new branch show called, when already being displayed?\");\n\t}\n\tthis.queue = queue;\n\t\n\tthis.running  = true;\n\tGitMonitor.gitmonitor.stop();\n\t\n    this.repo = repo;\n    \n     \n    \n\tthis.el.move((Gdk.Screen.width() / 2)- 250 ,0);\n\tthis.el.set_default_size( 500,200); // not sure why it grows..\n    GLib.debug(\"Loading tickets\"); \n     \n\n    this.el.show_all();\n    this.el.set_keep_above(true);\n   \n    \n    var curproj = RooTicket.singleton().getProjectByRepo(this.repo);\n     _this.prmodel.loadProjects(curproj == null ? \"\" : curproj.id);\n    \n \t_this.dbmodel.loadTickets(curproj == null ? \"\": curproj.id, tid);\n \tthis.el.run();\n\n}",
    "default_height" : 200,
    "$ xns" : "Gtk",
    "# bool running" : false,
            "id" : "dbmodel",
            "xtype" : "ListStore",
            "* pack" : "set_model",
-           "| void loadTickets" : "(string project_id , string tid = \"\") {\n\n\n    \n    // fixme .. get project id from selection..\n    \n     RooTicket.singleton().loadTickets(\n \t\t\tproject_id,\n \t\t\t_this.btn_not_me.el.active ? RooTicket.NotMe.TRUE :  RooTicket.NotMe.FALSE,\n \t\t\t _this.btn_closed.el.active ? RooTicket.Closed.TRUE :  RooTicket.Closed.FALSE\n\t\t );\n        \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n\n    \n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n        \n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n        \n        if (ticket.id == tid) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n        }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
+           "| void loadTickets" : "(string project_id , string tid = \"\") {\n\n\n    \n    // fixme .. get project id from selection..\n    \n     RooTicket.singleton().loadTickets(\n \t\t\tproject_id,\n \t\t\t_this.btn_not_me.el.active ? RooTicket.Who.ANYBODY :  RooTicket.Who.ME,\n \t\t\t _this.btn_closed.el.active ? RooTicket.Status.ALL :  RooTicket.Status.ACTIVE\n\t\t );\n        \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n\n    \n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n        \n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n        \n        if (ticket.id == tid) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n        }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
            "$ xns" : "Gtk"
index e516aa5..4342b5b 100644 (file)
@@ -110,8 +110,7 @@ public class NewBranch : Object
        
         this.repo = repo;
         
-        
-        
+         
         
        this.el.move((Gdk.Screen.width() / 2)- 250 ,0);
        this.el.set_default_size( 500,200); // not sure why it grows..
@@ -544,8 +543,8 @@ public class NewBranch : Object
             
              RooTicket.singleton().loadTickets(
                                project_id,
-                               _this.btn_not_me.el.active ? RooTicket.NotMe.TRUE :  RooTicket.NotMe.FALSE,
-                                _this.btn_closed.el.active ? RooTicket.Closed.TRUE :  RooTicket.Closed.FALSE
+                               _this.btn_not_me.el.active ? RooTicket.Who.ANYBODY :  RooTicket.Who.ME,
+                                _this.btn_closed.el.active ? RooTicket.Status.ALL :  RooTicket.Status.ACTIVE
                         );
                 
             _this.ticketsel.loading = true;
index 5d3c357..3d85401 100644 (file)
@@ -50,13 +50,14 @@ 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"; 
@@ -270,24 +271,18 @@ public class RooTicket : Object
                   }
        }
 
-       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");
                
@@ -318,9 +313,9 @@ public class RooTicket : Object
                        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;
                        }
@@ -349,7 +344,7 @@ public class RooTicket : Object
                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");
 
@@ -404,7 +399,7 @@ public class RooTicket : Object
                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");