null/demo.local.php
[gitlive] / FixBug.js
index 5936460..813382c 100644 (file)
--- a/FixBug.js
+++ b/FixBug.js
@@ -22,6 +22,9 @@ FixBug=new XObject({
             this.el.fullscreen();
             this.el.grab_focus();
             this.el.set_keep_above(true);
+            
+            this.get('/today-vew').load();
+            
         }
     },
     border_width : 3,
@@ -167,7 +170,27 @@ FixBug=new XObject({
                                             xtype: Gtk.Entry,
                                             listeners : {
                                                 key_release_event : function (self, event) {
-                                                    print(JSON.stringify(event,null,4)); //.keyval);
+                                                    if (event.key.keyval == Gdk.KEY_Return) {;
+                                                        // same code as button press..
+                                                         var active_id = this.get('/project-select').el.get_active();
+                                                     
+                                                        var project_id = this.get('/project-select').raw_data[active_id].id;
+                                                        
+                                                        var str = this.get('/search-entry').el.get_text();
+                                                        
+                                                        print(str);
+                                                        
+                                                        var _t = this;
+                                                        
+                                                        imports.Tasks.Tasks.query({
+                                                            project_id : project_id,
+                                                            'query[filter]' : 'me',
+                                                            'query[search]' : str
+                                                        }, function(res) { 
+                                                           // print(JSON.stringify(res,null,4));
+                                                            _t.get('/ticket-store').loadData(res);
+                                                        });
+                                                    }
                                                     return true;
                                                 }
                                             },
@@ -211,10 +234,33 @@ FixBug=new XObject({
                                     items : [
                                         {
                                             xtype: Gtk.TreeView,
-                                            fixed_height_mode : true,
+                                            listeners : {
+                                                cursor_changed : function (self) {
+                                                    
+                                                    var ret = {};
+                                                    this.selection.get_selected(ret);
+                                                
+                                                    // var val = "";
+                                                    var value = ''+ret.model.get_value(ret.iter, 0).value.get_string();
+                                                    
+                                                    print(value);
+                                                    var rec = false;
+                                                    this.get('/ticket-store').data.forEach( function(e) {
+                                                        if (e.id == value) {
+                                                            rec = e;
+                                                            return  false;
+                                                        }
+                                                    });
+                                                    // update the text box with the ticket data..
+                                                    this.get('/view').show(rec);
+                                                    //print(rec);
+                                                
+                                                }
+                                            },
                                             id : "ticket-view",
                                             pack : "add",
                                             can_focus : true,
+                                            fixed_height_mode : false,
                                             headers_visible : false,
                                             init : function() {
                                                 XObject.prototype.init.call(this);
@@ -265,7 +311,10 @@ FixBug=new XObject({
                                                     },
                                                     loadData : function (data) {
                                                             print("loading data");
-                                                                                        
+                                                        
+                                                        
+                                                        this.data = data;
+                                                                              
                                                         var el = this.el;
                                                         this.el.clear();
                                                         data.forEach(function(p) {
@@ -273,13 +322,15 @@ FixBug=new XObject({
                                                             el.append(ret);
                                                            //print("ADD " + p.name);
                                                              
+                                                           var line =    '[' + p.status_name + '] <b>'   + 
+                                                                 GLib.markup_escape_text(p.summary, p.summary.length)  + "</b>\n"  +
+                                                                 '<span color="#666">' + 
+                                                                 GLib.markup_escape_text(p.description,p.description.length).split("\n").slice(0,3).join("\n") +
+                                                                 '</span>';
+                                                             print(line);
+                                                             
                                                             el.set_value(ret.iter, 0, p.id);
-                                                            el.set_value(ret.iter, 1,   '<b>#' + p.id + '</b>' + 
-                                                                '[' + p.status_name + '] <b>'   + p.summary  + "</b>\n"  +
-                                                                 '<span color="#666">' + p.description.split("\n").slice(0,3).join("\n") +
-                                                                 '</span>'
-                                                                 
-                                                                  );
+                                                            el.set_value(ret.iter, 1,   '<b>#' + p.id + '</b>' +  line );
                                                             
                                                         });
                                                                   
@@ -307,7 +358,6 @@ FixBug=new XObject({
                                                 {
                                                     xtype: Gtk.TreeViewColumn,
                                                     pack : "append_column",
-                                                    sizing : Gtk.TreeViewColumnSizing.FIXED,
                                                     init : function() {
                                                         XObject.prototype.init.call(this);
                                                         this.el.add_attribute(this.items[0].el , 'markup', 1 );
@@ -331,7 +381,7 @@ FixBug=new XObject({
                             items : [
                                 {
                                     xtype: Gtk.VBox,
-                                    pack : "add",
+                                    pack : "pack1,true,true",
                                     items : [
                                         {
                                             xtype: Gtk.HBox,
@@ -380,11 +430,11 @@ FixBug=new XObject({
                                             items : [
                                                 {
                                                     xtype: Gtk.TextView,
-                                                    editable : false,
                                                     id : "view",
                                                     indent_width : 4,
                                                     pack : "add",
                                                     auto_indent : true,
+                                                    editable : false,
                                                     init : function() {
                                                         XObject.prototype.init.call(this);
                                                         var description = Pango.font_description_from_string("monospace");
@@ -407,6 +457,22 @@ FixBug=new XObject({
                                                          
                                                          
                                                         
+                                                    },
+                                                    show : function(p) {
+                                                         var line =  [
+                                                                'Status : ' +   p.status_name,
+                                                                'ID : ' +   p.id,
+                                                                '',
+                                                                'Summary :  ' +  p.summary,
+                                                                 '' + 
+                                                                 p.description,
+                                                             ].join("\n")   ;
+                                                             print(line);
+                                                             
+                                                             
+                                                             // can not do rich text due to so many missing features..
+                                                              this.el.get_buffer().set_text(line, line.length);
+                                                     
                                                     },
                                                     show_line_numbers : true,
                                                     items : [
@@ -449,7 +515,7 @@ FixBug=new XObject({
                                 },
                                 {
                                     xtype: Gtk.VBox,
-                                    pack : "add",
+                                    pack : "pack2,false,false",
                                     width_request : 200,
                                     items : [
                                         {
@@ -476,10 +542,10 @@ FixBug=new XObject({
                                             items : [
                                                 {
                                                     xtype: Gtk.TreeView,
-                                                    fixed_height_mode : true,
-                                                    id : "ticket-view",
+                                                    id : "today-view",
                                                     pack : "add",
                                                     can_focus : true,
+                                                    fixed_height_mode : true,
                                                     headers_visible : false,
                                                     init : function() {
                                                         XObject.prototype.init.call(this);
@@ -502,7 +568,7 @@ FixBug=new XObject({
                                                     items : [
                                                         {
                                                             xtype: Gtk.ListStore,
-                                                            id : "ticket-store",
+                                                            id : "today-store",
                                                             pack : "set_model",
                                                             columns : [
                                                                     GObject.TYPE_STRING, // title 
@@ -557,15 +623,29 @@ FixBug=new XObject({
                                                                 var project_id = this.get('/project-select').raw_data[active_id].id;
                                                                 
                                                                 var _t = this;
+                                                                 
+                                                                var DT = imports.Date.Date;
                                                                 
-                                                                imports.Tasks.Tasks.query({
-                                                                    project_id : project_id,
-                                                                    'query[filter]' : 'me'
-                                                                }, function(res) { 
-                                                                    print(JSON.stringify(res,null,4));
-                                                                    _t.loadData(res);
+                                                                new imports.Request.Request( {
+                                                                   url : '/cash_invoice_entry',
+                                                                   params : {
+                                                                        'query[action_dt_from]' : (new DT()).format('Y-m-d'),
+                                                                         'query[action_dt_to]' : (new DT()).add(DT.DAY,1).format('Y-m-d'),
+                                                                        limit: 999,
+                                                                        'sort' : 'action_dt',
+                                                                        dir : 'ASC',
+                                                                        action : 'Hours'
+                                                                   },
+                                                                   
+                                                                   success : function(res) {
+                                                                       this.loadData();
+                                                                   },
+                                                                   scope : this
+                                                                    
+                                                                    
                                                                 });
                                                                  
+                                                                 
                                                                 
                                                             }
                                                         },