You can subscribe to this list here.
2007 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(58) |
Mar
(126) |
Apr
(96) |
May
(42) |
Jun
(59) |
Jul
(80) |
Aug
(95) |
Sep
(99) |
Oct
(137) |
Nov
(54) |
Dec
(138) |
2009 |
Jan
(174) |
Feb
(83) |
Mar
(36) |
Apr
(22) |
May
(16) |
Jun
(11) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <cod...@go...> - 2009-07-09 03:00:49
|
Author: do...@do... Date: Wed Jul 8 19:56:30 2009 New Revision: 1387 Added: dev-releases/2009.07.08.02/ - copied from r1386, /trunk/andro/ Log: fix to builder to look at andro_universal.dd when determining if a full build should be done. |
From: <cod...@go...> - 2009-07-09 02:56:47
|
Author: do...@do... Date: Wed Jul 8 19:55:49 2009 New Revision: 1386 Modified: trunk/andro/application/androBuild.php trunk/andro/lib/andro_universal.add Log: fix to builder to look at andro_universal.dd when determining if a full build should be done. Modified: trunk/andro/application/androBuild.php ============================================================================== --- trunk/andro/application/androBuild.php (original) +++ trunk/andro/application/androBuild.php Wed Jul 8 19:55:49 2009 @@ -177,6 +177,12 @@ 'fullpath'=>$parm['DIR_PUB'].'lib/' .$specboot ); + $checksums[] = array( + 'file'=>'andro_universal.add', + 'md5'=>md5_file( $parm['DIR_PUB'].'lib/andro_universal.add' ), + 'fullpath'=>$parm['DIR_PUB'].'lib/andro_universal.add' + ); + if ( isset( $parm['INST'] ) ) { $app = str_replace( '_' .$parm['INST'], '', $parm['APP'] ); } else { Modified: trunk/andro/lib/andro_universal.add ============================================================================== --- trunk/andro/lib/andro_universal.add (original) +++ trunk/andro/lib/andro_universal.add Wed Jul 8 19:55:49 2009 @@ -204,6 +204,7 @@ column dob { description: Birthdate; type_id: date; } column dod { description: Date of Death; type_id: date; } + // These column definitions are computer related // column hostip { description: Host IP Num; type_id: char; colprec: 15; } |
From: <cod...@go...> - 2009-07-09 02:39:35
|
Author: do...@do... Date: Wed Jul 8 19:38:01 2009 New Revision: 1385 Added: dev-releases/2009.07.08.01/ - copied from r1384, /trunk/andro/ Log: |
From: <cod...@go...> - 2009-07-09 02:35:35
|
Author: do...@do... Date: Wed Jul 8 19:33:44 2009 New Revision: 1384 Added: dev-releases/2009.07.08/ - copied from r1383, /trunk/andro/ Log: |
From: <cod...@go...> - 2009-07-09 02:31:42
|
Author: do...@do... Date: Wed Jul 8 19:31:09 2009 New Revision: 1383 Modified: trunk/andro/lib/andro_universal.add Log: Modified: trunk/andro/lib/andro_universal.add ============================================================================== --- trunk/andro/lib/andro_universal.add (original) +++ trunk/andro/lib/andro_universal.add Wed Jul 8 19:31:09 2009 @@ -187,7 +187,7 @@ // These column definitions are for names and addresses // column email { description: Email Address; type_id: vchar; colprec: 50; } -column name { description: Full Name; type_id: vchar; colprec: 40; } +column name { description: Full Name; type_id: vchar; colprec: 70; } column name_ { description: Name Part; type_id: vchar; colprec: 25; } column mi { description: Middle Initial;type_id: char; colprec: 1; } column nam1st{ description: First ; type_id: vchar; colprec: 20; } |
From: <cod...@go...> - 2009-07-03 08:20:33
|
Author: do...@do... Date: Thu Jul 2 11:51:02 2009 New Revision: 1381 Added: dev-releases/2009.07.02/ - copied from r1380, /trunk/andro/ Log: fixes issue 32 |
From: <cod...@go...> - 2009-07-03 03:52:56
|
Author: do...@do... Date: Thu Jul 2 19:00:09 2009 New Revision: 1382 Modified: trunk/andro/application/a_pullsvn.php Log: fixes issue 33 Modified: trunk/andro/application/a_pullsvn.php ============================================================================== --- trunk/andro/application/a_pullsvn.php (original) +++ trunk/andro/application/a_pullsvn.php Thu Jul 2 19:00:09 2009 @@ -273,6 +273,11 @@ $matches=array(); preg_match_all('!\<li\>\<a.*\>(.*)\</a\>\</li\>!U',$rawtext,$matches); $versions = $matches[1]; + foreach( $versions as $key=>$version ) { + if ( $version == '..' ) { + unset( $versions[$key] ); + } + } if(count($versions)==0) { x_EchoFlush(" No versions listed, nothing to pull."); continue; |
From: <cod...@go...> - 2009-06-30 02:43:53
|
Author: do...@do... Date: Mon Jun 29 17:03:32 2009 New Revision: 1380 Modified: trunk/andro/lib/androLib.php Log: Changed scriptPath() to actually work, when a friendly /pages/ URL is used. Modified: trunk/andro/lib/androLib.php ============================================================================== --- trunk/andro/lib/androLib.php (original) +++ trunk/andro/lib/androLib.php Mon Jun 29 17:03:32 2009 @@ -5509,6 +5509,17 @@ function scriptPath() { $path = $_SERVER['SCRIPT_NAME']; $path = str_replace( "index.php", "", $path ); + + /* + * + * DO 6-29-2009 + * scriptPath() was getting confused by friendly urls with /pages/ + * + */ + if ( stripos( $_SERVER['PHP_SELF'], '/pages/' ) !== false ) { + $path = str_replace( $_SERVER['PATH_INFO'], '', $path ); + $path = str_replace( '/pages', '', $path ); + } $path = str_replace( "//", "/", $path ); if ( substr( $path, 0, 1 ) != '/' ) { $path = '/' .$path; |
From: <cod...@go...> - 2009-06-08 17:44:09
|
Author: ke...@se... Date: Mon Jun 8 10:41:59 2009 New Revision: 1379 Added: releases/2009.06.08/ - copied from r1378, /trunk/andro/ Log: |
From: <cod...@go...> - 2009-06-08 17:09:39
|
Author: ke...@se... Date: Mon Jun 8 10:07:44 2009 New Revision: 1378 Modified: trunk/andro/clib/x6.js Log: Modified auto-complete fetch to only execute if value changed. No Google issue #. Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 10:07:44 2009 @@ -3614,10 +3614,16 @@ // to smooth out what happens when user // is typing very quickly on auto-select // and then hits TAB. - var json = new x6JSON('x6fetch',$(inp).attr('xtableid')); - json.addParm('x6col',$(inp).attr('xcolumnid')); - json.addParm('x6val',$(inp).val()); - json.execute(true,true); + // KFD 6/8/09 Refinement, only execute if value changed + var orig = $(inp).prop('zlastfetch',$(inp).attr('zOriginalValue')); + if(orig!=$(inp).val()) { + var val = $(inp).val(); + var json = new x6JSON('x6fetch',$(inp).attr('xtableid')); + json.addParm('x6col',$(inp).attr('xcolumnid')); + json.addParm('x6val',val); + json.execute(true,true); + inp.zlastfetch = val; + } } x6.console.log("Input Blur DONE"); x6.console.groupEnd(); |
From: <cod...@go...> - 2009-06-08 16:57:01
|
Author: ke...@se... Date: Mon Jun 8 09:55:26 2009 New Revision: 1377 Modified: trunk/andro/clib/x6.js Log: After saving a new row on conventional profile, child detail panes become enabled. No google issue number. Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 09:55:26 2009 @@ -4991,6 +4991,10 @@ self['receiveEvent_uiRowSaved_'+table] = function(row) { x6.console.group("detailDisplay uiRowSaved"); this.displayRow('edit',row); + // KFD 6/8/09, show child panes on saving new row + x6events.fireEvent('uiHideKids_'+this.zTable,this.zTable); + x6events.fireEvent('uiEnableKids_'+this.zTable,this.zTable); + if($(this).prop('x6modal','N')=='Y') { x6modals.close(); } |
From: <cod...@go...> - 2009-06-08 16:45:10
|
Author: ke...@se... Date: Mon Jun 8 09:43:21 2009 New Revision: 1376 Modified: trunk/andro/lib/androX6.php Log: Allow PHP pre-insert/update JSON code to prevent actions by returning false or null. fixes issue 30 Modified: trunk/andro/lib/androX6.php ============================================================================== --- trunk/andro/lib/androX6.php (original) +++ trunk/andro/lib/androX6.php Mon Jun 8 09:43:21 2009 @@ -210,18 +210,21 @@ if(method_exists($this,$method)) { $row = $this->$method($row); } - $skey = SQLX_Insert($dd,$row); - if(!errors()) { - $row=SQL_OneRow( - "Select * FROM {$dd['viewname']} WHERE skey = $skey" - ); - # KFD 5/26/09 Google Feature #23, hook inserts - $method = $table_id."_after_insert"; - if(method_exists($this,$method)) { - $row = $this->$method($row); + # KFD 6/8/09 Google #30, no action if returns false + if($row) { + $skey = SQLX_Insert($dd,$row); + if(!errors()) { + $row=SQL_OneRow( + "Select * FROM {$dd['viewname']} WHERE skey = $skey" + ); + # KFD 5/26/09 Google Feature #23, hook inserts + $method = $table_id."_after_insert"; + if(method_exists($this,$method)) { + $row = $this->$method($row); + } + x6Data('row',$row); } } - x6Data('row',$row); } else { # KFD 5/26/09 Google Feature #23, hook updates @@ -229,18 +232,21 @@ if(method_exists($this,$method)) { $row = $this->$method($row); } - SQLX_Update($dd,$row); - if(!errors()) { - $skey = $row['skey']; - $row=SQL_OneRow( - "Select * FROM {$dd['viewname']} WHERE skey = $skey" - ); - # KFD 5/26/09 Google Feature #23, hook updates - $method = $table_id."_after_update"; - if(method_exists($this,$method)) { - $row = $this->$method($row); + # KFD 6/8/09 Google #30, no action if returns false + if($row) { + SQLX_Update($dd,$row); + if(!errors()) { + $skey = $row['skey']; + $row=SQL_OneRow( + "Select * FROM {$dd['viewname']} WHERE skey = $skey" + ); + # KFD 5/26/09 Google Feature #23, hook updates + $method = $table_id."_after_update"; + if(method_exists($this,$method)) { + $row = $this->$method($row); + } + x6Data('row',$row); } - x6Data('row',$row); } } |
From: <cod...@go...> - 2009-06-08 16:27:53
|
Author: ke...@se... Date: Mon Jun 8 09:26:58 2009 New Revision: 1375 Modified: trunk/andro/application/androBuild.php trunk/andro/lib/andro_universal.add Log: Show Menu text as config setting. Also unrelated fix to builder that was causing tmp files to not get built properly. Modified: trunk/andro/application/androBuild.php ============================================================================== --- trunk/andro/application/androBuild.php (original) +++ trunk/andro/application/androBuild.php Mon Jun 8 09:26:58 2009 @@ -10274,12 +10274,14 @@ $text = str_replace("#","\"",$text); } $text = $text ."\r\n"; - if ( !is_file( $file ) ) { + #if ( !is_file( $file ) ) { + # KFD 6/8/09, why?? // DO 3-23-2009 Changed mode - $FILEOUT = fopen( $file , 'w+' ); - fwrite($FILEOUT,$text); - fclose($FILEOUT); - } + #$FILEOUT = fopen( $file , 'w' ); + #fwrite($FILEOUT,$text); + #fclose($FILEOUT); + file_put_contents($file,$text); + #} } function fs_Skeleton_copy($src,$dst) { Modified: trunk/andro/lib/andro_universal.add ============================================================================== --- trunk/andro/lib/andro_universal.add (original) +++ trunk/andro/lib/andro_universal.add Mon Jun 8 09:26:58 2009 @@ -651,6 +651,7 @@ column { cf_template; } column { smtpout; } } + table configinst { module: system; uisort: 552; @@ -666,7 +667,7 @@ column description { suffix: _login; description: Login; } projection login { - column { loginbefore; loginafter; notesfooter } + column { loginbefore; loginafter; notesfooter; x4menutitle; } } column description { suffix: _email; description: Sending Emails; } |
From: <cod...@go...> - 2009-06-08 15:04:08
|
Author: ke...@se... Date: Mon Jun 8 08:03:49 2009 New Revision: 1374 Modified: trunk/andro/lib/androX6.php Log: Allow PHP level actions before and after an ajax delete. fixes issue 29 Modified: trunk/andro/lib/androX6.php ============================================================================== --- trunk/andro/lib/androX6.php (original) +++ trunk/andro/lib/androX6.php Mon Jun 8 08:03:49 2009 @@ -270,13 +270,29 @@ return; } + # KFD 6/8/09 Google #29 Various changes to allow pre- and post- + # delete methods + $table_id = gp('x6page'); $view = ddView(gp('x6page')); $skey = SQLFN(gp('skey')); - $sq="Delete from $view where skey = $skey"; - if(Errors()) { - x6Errors(hErrors()); + $method = $table_id."_before_delete"; + $continue = true; + if(method_exists($this,$method)) { + $continue = $this->$method($skey); + } + if($continue) { + $sq="Delete from $view where skey = $skey"; + SQL($sq); + if(Errors()) { + x6Errors(hErrors()); + } + else { + $method = $table_id."_after_delete"; + if(method_exists($this,$method)) { + $this->$method(); + } + } } - SQL($sq); } # =================================================================== |
From: <cod...@go...> - 2009-06-08 14:57:10
|
Author: ke...@se... Date: Mon Jun 8 07:53:55 2009 New Revision: 1373 Modified: trunk/andro/clib/x6.js Log: Removed stray "console.log()" call. Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 07:53:55 2009 @@ -5255,7 +5255,6 @@ var json = this.JSON; this.JSON.execute(false,true,true,function() { - console.log("you ran a search!"); $(gridObject).find(".tbody").replaceWith(json.http.responseText); $(gridObject).find('.tbody div:first').mouseover(); }); |
From: <cod...@go...> - 2009-06-08 14:53:02
|
Author: ke...@se... Date: Mon Jun 8 07:51:59 2009 New Revision: 1372 Modified: trunk/andro/clib/x6.js Log: Always go to first control when user clicks [NEW] Fixes issue 28 Status: Verified Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 07:51:59 2009 @@ -4975,6 +4975,9 @@ x6events.fireEvent('buttonsNew_'+this.zTable,true); x6events.fireEvent('buttonsEdit_'+this.zTable,true); + // KFD 6/8/09 Google #28, since this is a new row, turn off the + // memory of prior focused input + x6bb.fwSet('lastFocus_'+this.id,''); x6events.fireEvent('objectFocus',this.id); x6.console.groupEnd(); |
From: <cod...@go...> - 2009-06-08 14:20:44
|
Author: ke...@se... Date: Mon Jun 8 07:20:03 2009 New Revision: 1371 Modified: trunk/andro/clib/x6.js Log: Put skey onto bulletin board after saving a new row, so any JS code (such as custom buttons) will find it as expected. This was already done when loading rows for editing, but was missing when a new row was saved. Fixes issue 27 status: Verified Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 07:20:03 2009 @@ -4597,6 +4597,9 @@ var retval = 'success'; x6.json.process(); this.zSkey = x6.data.row.skey; + // KFD 6/8/09 Google #27 Put skey onto bulletin board + // after a save + x6bb.fwSet('skey_'+this.zTable,x6.data.row.skey); } else { var retval = 'fail'; |
From: <cod...@go...> - 2009-06-08 14:08:33
|
Author: ke...@se... Date: Mon Jun 8 07:08:12 2009 New Revision: 1370 Modified: trunk/andro/clib/x6.js Log: Bug fix, allow ampersand "&" and open paren "(" in regular text entries. Fixes issue 26 status: Verified Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Mon Jun 8 07:08:12 2009 @@ -546,20 +546,35 @@ // So firefox must remain keypress and IE keydown if(window.androIsIE) { $(document).keydown(function(e) { - //e = e ? e : window.event; + // KFD 6/8/09 Google #26 input.keydown() might have + // told us not to process the key + x6.console.group("Document Keydown"); + if(x6bb.fwGet('noDocKey',false)) { + x6.console.log("noDocKey flag set, no action") + x6bb.fwSet('noDocKey',false); + } + else { var keyLabel = x6.keyLabel(e); - x6.console.group("Document Keydown"); var retval= x6.keyDispatcher(e); - x6.console.groupEnd(); - return retval; + } + x6.console.groupEnd(); + return retval; }); } else { $(document).keypress(function(e) { //e = e ? e : window.event; x6.console.group("Document Keypress"); - var keyLabel = x6.keyLabel(e); - var retval= x6.keyDispatcher(e); + // KFD 6/8/09 Google #26 input.keydown() might have + // told us not to process the key + if(x6bb.fwGet('noDocKey',false)) { + x6.console.log("noDocKey flag set, no action") + x6bb.fwSet('noDocKey',false); + } + else { + var keyLabel = x6.keyLabel(e); + var retval= x6.keyDispatcher(e); + } x6.console.groupEnd(); return retval; }); @@ -3305,6 +3320,10 @@ // Type validation for some types, only if not TAB or ENTER if(!isNav ) { x6.console.log("Not nav key, doing type validation"); + + // KFD 6/8/09 Google #26, turn of Document.keypress handling + // for all regular typing cases + x6bb.fwSet('noDocKey',true); // KFD 2/20/09. Originally this came AFTER type validation, // but that did not allow for alpha chars in |
From: <cod...@go...> - 2009-05-28 18:03:05
|
Author: ke...@se... Date: Thu May 28 10:54:07 2009 New Revision: 1369 Added: releases/2009.05.28.1/ - copied from r1368, /trunk/andro/ Log: Google #25 |
From: <cod...@go...> - 2009-05-28 17:58:58
|
Author: ke...@se... Date: Thu May 28 10:53:25 2009 New Revision: 1368 Modified: trunk/andro/lib/index_hidden.php Log: Remove extraneous FB::Send commands. Modified: trunk/andro/lib/index_hidden.php ============================================================================== --- trunk/andro/lib/index_hidden.php (original) +++ trunk/andro/lib/index_hidden.php Thu May 28 10:53:25 2009 @@ -1401,9 +1401,7 @@ # columns, build the query $sql="Select ".implode(',',$cols) ." FROM $tfko WHERE $cfko = ".SQLFC($colvalue); - FB::Send($sql); $row = SQL_OneRow($sql); - FB::Send($row); foreach($cols as $fcol=>$srccol) { $type = $dd['flat'][$fcol]['formshort']; if($type=='date'){ |
From: <cod...@go...> - 2009-05-28 17:53:16
|
Author: ke...@se... Date: Thu May 28 10:52:36 2009 New Revision: 1367 Modified: trunk/andro/clib/x6.js Log: Google #25, follow-up to #14, Prevent TAB key from processing while auto-complete searches are in progress. Fixes issue 25 Status: Verified Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Thu May 28 10:52:36 2009 @@ -3125,6 +3125,7 @@ // cancelling prior searches if the user keeps typing. var x6selectJSON = { JSON: false, + active: false, request: function(inp,val) { // First thing is to cancel current request @@ -3132,9 +3133,16 @@ //if(this.JSON.http) { // this.JSON.http.abort(); //} + if(this.JSON.http.abort) { + //this.JSON.http.abort(); + } + //this.JSON.http.abort(); + this.active = false; + //delete this.JSON; this.JSON = false; } this.JSON = new x6JSON('x6page',x6.p(inp,'x6seltab')); + this.active = true; this.JSON.addParm('x6select','Y'); this.JSON.addParm('gpletters',val); @@ -3150,6 +3158,7 @@ this.JSON.execute(true,true,false ,function() { x6inputs.x6select.display(inp,null,x6.data.x6select); + x6selectJSON.active=false; } ); } @@ -3462,8 +3471,16 @@ // we have to work out the next control to give focus // to, either forward or backward if(isTab) { + // KFD 5/28/09 Google #25 disable tab on auto-complete + // while search is in progress. + if(x6selectJSON.active) { + $(e).stopPropagation(); + console.log("Stopping propagation"); + x6.console.log("Tab during auto-complete search, discarding keystroke."); + x6.console.groupEnd(); + return false; + } x6.console.log("Tab key hit, returning true"); - x6.console.groupEnd(); return true; } if(!e.shiftKey) { @@ -3574,10 +3591,14 @@ x6inputs.x6select.hide(); // KFD 5/27/09 Google #14 Must fetch if($(inp).prop('xtableidpar','')!='') { - x6.json.init('x6fetch',$(inp).attr('xtableid')); - x6.json.addParm('x6col',$(inp).attr('xcolumnid')); - x6.json.addParm('x6val',$(inp).val()); - x6.json.execute(true,true); + // KFD 5/28/09 Google # 25 Make independent objects + // to smooth out what happens when user + // is typing very quickly on auto-select + // and then hits TAB. + var json = new x6JSON('x6fetch',$(inp).attr('xtableid')); + json.addParm('x6col',$(inp).attr('xcolumnid')); + json.addParm('x6val',$(inp).val()); + json.execute(true,true); } x6.console.log("Input Blur DONE"); x6.console.groupEnd(); |
From: <cod...@go...> - 2009-05-28 14:30:41
|
Author: ke...@se... Date: Thu May 28 07:30:11 2009 New Revision: 1366 Added: releases/2009.05.28/ - copied from r1365, /trunk/andro/ Log: Google Issue #14 |
From: <cod...@go...> - 2009-05-27 19:13:31
|
Author: ke...@se... Date: Wed May 27 12:12:22 2009 New Revision: 1365 Modified: trunk/andro/clib/x6.js trunk/andro/lib/index_hidden.php Log: x6 interface: filling in an auto-complete field now causes any relevant Fetches to execute and display as asynchronous JSON calls. Fixes issue 14 status: Verified Modified: trunk/andro/clib/x6.js ============================================================================== --- trunk/andro/clib/x6.js (original) +++ trunk/andro/clib/x6.js Wed May 27 12:12:22 2009 @@ -3572,6 +3572,13 @@ x6inputs.setClass(inp); x6inputs.afterBlurner(inp); x6inputs.x6select.hide(); + // KFD 5/27/09 Google #14 Must fetch + if($(inp).prop('xtableidpar','')!='') { + x6.json.init('x6fetch',$(inp).attr('xtableid')); + x6.json.addParm('x6col',$(inp).attr('xcolumnid')); + x6.json.addParm('x6val',$(inp).val()); + x6.json.execute(true,true); + } x6.console.log("Input Blur DONE"); x6.console.groupEnd(); return true; Modified: trunk/andro/lib/index_hidden.php ============================================================================== --- trunk/andro/lib/index_hidden.php (original) +++ trunk/andro/lib/index_hidden.php Wed May 27 12:12:22 2009 @@ -470,6 +470,7 @@ // responsible for returning all headers, HTML or anything // else it wants to send back. if( gp('ajxFETCH') =='1') index_hidden_ajxFETCH(); +elseif(gp('x6fetch') <>'') index_hidden_x6FETCH(); elseif(gp('ajxfSELECT') <>'') index_hidden_ajxfSELECT(); elseif(gp('ajxc1table') <>'') index_hidden_ajx1ctable(); elseif(gp('gp_function') <>'') index_hidden_function(); @@ -1359,6 +1360,67 @@ } echo implode('|-|',$returns); } + +# KFD 5/27/09 +# Google #14. X6 must do FETCH operations when user navigates off +# autoselect columns. +function index_hidden_x6FETCH() { + $returns=array(); + + # This is everything that *might* go back, make a place + # for all of it + $GLOBALS['AG']['x4'] = array( + 'error'=>array() + ,'debug'=>array() + ,'notice'=>array() + ,'html'=>array() + ,'script'=>array() + ); + + // First fetch the values + $table_id = gp('x6fetch'); + $dd = ddTable($table_id); + $column = gp('x6col'); + $colvalue = gp('x6val'); + + # Look for fetch columns that pull from this column's + # table_id_fko + $tfko = $dd['flat'][$column]['table_id_fko']; + $cfko = $dd['flat'][$column]['column_id_fko']; + $cols = array(); + foreach($dd['flat'] as $fcol=>$cdetails) { + $arr = array('FETCH','FETCHDEF','DISTRIBUTE'); + if(in_array($cdetails['automation_id'],$arr)) { + if($cdetails['auto_table_id']==$tfko) { + $cols[$fcol] = $cdetails['auto_column_id']; + } + } + } + + # We now have a list of source and destination + # columns, build the query + $sql="Select ".implode(',',$cols) + ." FROM $tfko WHERE $cfko = ".SQLFC($colvalue); + FB::Send($sql); + $row = SQL_OneRow($sql); + FB::Send($row); + foreach($cols as $fcol=>$srccol) { + $type = $dd['flat'][$fcol]['formshort']; + if($type=='date'){ + x6html( + "x6inp_{$table_id}_$fcol" + ,date("Y-m-d",dEnsureTs($row[$srccol])) + ); + } + else { + x6html("x6inp_{$table_id}_$fcol",$row[$srccol]); + } + } + echo json_encode_safe($GLOBALS['AG']['x4']); + exit; +} + + // ------------------------------------------------------------------ // >> Simple SQL Query, return SQL_Allrows array |
From: <cod...@go...> - 2009-05-27 16:51:54
|
Author: ke...@se... Date: Wed May 27 09:51:43 2009 New Revision: 1364 Added: releases/2009.05.27/ - copied from r1363, /trunk/andro/ Log: Google issues 24, 11, and 21 |
From: <cod...@go...> - 2009-05-27 16:47:50
|
Author: ke...@se... Date: Wed May 27 09:47:20 2009 New Revision: 1363 Modified: trunk/andro/lib/androLib.php trunk/andro/lib/androX6.php Log: Allow programmer to override details panes on conventional profiles for main table and also for children. Programmer creates function of this form. class x6table extends androX6 { function <table>_detail($divDetail) { $divInner = $divDetail->removeInner(); ....now code up a new detail } } Fixes issue 21 Status: verified Modified: trunk/andro/lib/androLib.php ============================================================================== --- trunk/andro/lib/androLib.php (original) +++ trunk/andro/lib/androLib.php Wed May 27 09:47:20 2009 @@ -3350,6 +3350,15 @@ } } + # KFD 5/27/09 Google #21 Part of allowing override of a detail pane + # is to build one normally, then let the user wipe it + # out and start over. + function removeInner() { + $this->children[1]->children = array(); + $this->children[1]->setHtml(''); + return $this->children[1]; + } + function makeComplete($table_id,$height,$parTable) { # The complete track is much more involved, adds # buttons and a status bar at bottom. Modified: trunk/andro/lib/androX6.php ============================================================================== --- trunk/andro/lib/androX6.php (original) +++ trunk/andro/lib/androX6.php Wed May 27 09:47:20 2009 @@ -1001,7 +1001,12 @@ $divDetail->ap['xTabSelector'] = $tabs->ul->hp['id']; $divDetail->ap['xTabIndex'] = 1; $divDetail->ap['x6profile'] = 'conventional'; - $detail->hp['x6objectFocusId'] = $divDetail->hp['id']; + $detail->hp['x6objectFocusId'] = $divDetail->hp['id']; + # KFD 5/27/09 Google #21 Allow user to override the detail + if(method_exists($this,$table_id.'_detail')) { + $method = $table_id.'_detail'; + $this->$method($divDetail); + } # The div kids is a tabbar of child tables. Notice that we # put nothing into them. They are loaded dynamically when @@ -1032,6 +1037,12 @@ if($info['x6childwrites']=='detail') { # Create the basic detail $modal = new androHTMLDetail($child,true,700,$table_id); + # KFD 5/27/09 Google #21 Allow user to override + if(method_exists($this,$child.'_detail')) { + $method = $child.'_detail'; + $this->$method($modal); + } + # Now see if we need to add buttons if(file_exists(fsDirtop()."application/x6$child.php")) { |