Fix #5617 - issue with create ticket not emptying fields
[gitlive] / MergeBranch.vala
index 43820cc..737dab4 100644 (file)
@@ -21,6 +21,7 @@ public class MergeBranch : Object
     public Xcls_name name;
 
         // my vars (def)
+    public GitRepo repo;
     public RooTicket? ticket;
     public bool running;
 
@@ -85,12 +86,20 @@ public class MergeBranch : Object
             }
                */
                
-               GitRepo.doMerges(
-                       _this.actionsel.selectedAction(), 
-                       _this.ticketsel.selectedTicketId(),
-                       _this.name.el.get_text()
-               );
+               if (this.repo != null) {
+                       repo.doMerge(
+                               _this.actionsel.selectedAction(), 
+                               _this.ticketsel.selectedTicketId(),
+                               _this.name.el.get_text()
+                       );
                
+               } else {
+                       GitRepo.doMerges(
+                               _this.actionsel.selectedAction(), 
+                               _this.ticketsel.selectedTicketId(),
+                               _this.name.el.get_text()
+                       );
+               }
                this.running = false; 
         
                 
@@ -107,7 +116,7 @@ public class MergeBranch : Object
     }
 
     // user defined functions
-    public   void show (  RooTicket ticket ) 
+    public   void show (  RooTicket ticket, GitRepo? repo ) 
     {
          // this.el.set_gravity(Gdk.Gravity.NORTH);
         if (this.running) {
@@ -116,6 +125,7 @@ public class MergeBranch : Object
        GitMonitor.gitmonitor.stop();
        
         this.ticket = ticket;
+        this.repo = repo;
         
        this.el.move((Gdk.Screen.width() / 2)- 250 ,0);
                GLib.debug("Loading tickets"); 
@@ -490,7 +500,7 @@ public class MergeBranch : Object
         // user defined functions
         public void loadTickets () {
         
-            RooTicket.singleton().loadTickets();
+            RooTicket.singleton().loadTickets("",RooTicket.Who.ME, RooTicket.Status.ACTIVE);
             
             _this.ticketsel.loading = true;
         
@@ -499,12 +509,21 @@ public class MergeBranch : Object
             var el = this.el;
             
             el.append(out iter);
-        
-            
             el.set_value(iter, 0, "");
             el.set_value(iter, 1, "-- select a ticket --");
             
             _this.ticketsel.el.set_active_iter(iter);
+            
+            if (_this.ticket != null &&  _this.ticket.id == "-1") {
+                       el.append(out iter);
+                       el.set_value(iter, 0, "-1");
+                       el.set_value(iter, 1, "Temporary Branch - No ticket specified/relivant");
+                _this.ticketsel.el.set_active_iter(iter);      
+            }
+            
+            
+            
+            
             var tickets = RooTicket.singleton().tickets;
             foreach(var ticket in tickets) {
             
@@ -512,7 +531,7 @@ public class MergeBranch : Object
         
                 el.set_value(iter, 0, ticket.id);
                 el.set_value(iter, 1, "#%s [%s] %s".printf( ticket.id, ticket.project_id_name , ticket.summary));
-                       if (_this.ticket.id == ticket.id) {
+                       if (_this.ticket != null && _this.ticket.id == ticket.id) {
                            _this.ticketsel.el.set_active_iter(iter);
                    }