Author: spadkins
Date: Mon Mar 12 12:57:23 2007
New Revision: 9231

Modified:
   p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm

Log:
enhance repository redirection _get_default_columns()

Modified: p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm Mon Mar 12 12:57:23 2007
@@ -523,8 +523,21 @@
     elsif (!$columns || $columns eq "physical") {
         $columns = $table_def->{phys_columns};
     }
-    $columns = [] if (!$columns || ref($columns) ne "ARRAY");
-    #die "Unknown default columns [$columns]" if (ref($columns) ne "ARRAY");
+    if (!$columns || ref($columns) ne "ARRAY") {
+        my $table_def = $self->{table}{$table};
+        my $repname = $table_def->{repository};
+        my $realtable = $table_def->{table} || $table;
+        if (defined $repname && $repname ne $self->{name}) {
+            my $rep = $self->{context}->repository($repname);
+            $columns = $rep->_get_default_columns($realtable);
+        }
+        elsif (defined $realtable && $realtable ne $table) {
+            $columns = $self->_get_default_columns($realtable);
+        }
+    }
+    if (!$columns || ref($columns) ne "ARRAY") {
+        $columns = [];
+    }
     &App::sub_exit($columns) if ($App::trace);
     return($columns);
 }

Reply via email to