[Jifty-commit] r811 - in Jifty-DBI/trunk: lib/Jifty lib/Jifty/DBI

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Wed Apr 5 10:15:35 EDT 2006


Author: jesse
Date: Wed Apr  5 10:15:33 2006
New Revision: 811

Modified:
   Jifty-DBI/trunk/   (props changed)
   Jifty-DBI/trunk/Changes
   Jifty-DBI/trunk/META.yml
   Jifty-DBI/trunk/lib/Jifty/DBI.pm
   Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm
   Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
   Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm

Log:
 r11011 at hualien:  jesse | 2006-04-02 06:02:43 -0400
 * 0.19 ; autoordering of columns


Modified: Jifty-DBI/trunk/Changes
==============================================================================
--- Jifty-DBI/trunk/Changes	(original)
+++ Jifty-DBI/trunk/Changes	Wed Apr  5 10:15:33 2006
@@ -1,5 +1,11 @@
 Revision history for Perl extension Jifty::DBI.
 
+0.19 Sun Apr  2 18:59:53 JST 2006
+
+* Columns now have a "sort_order" attribute. This way when auto-rendering
+  forms, we can render them by "order defined" rather than just alphabetically.
+    - idea by Tatsuhiko Miyagawa
+
 0.18 Fri Mar 31 22:15:59 JST 2006
 
 * Test fixes to remove databases after testing. This fixes

Modified: Jifty-DBI/trunk/META.yml
==============================================================================
--- Jifty-DBI/trunk/META.yml	(original)
+++ Jifty-DBI/trunk/META.yml	Wed Apr  5 10:15:33 2006
@@ -26,4 +26,4 @@
   Lingua::EN::Inflect: 0
   UNIVERSAL::require: 0
   perl: 5.8.3
-version: 0.18
+version: 0.19

Modified: Jifty-DBI/trunk/lib/Jifty/DBI.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI.pm	Wed Apr  5 10:15:33 2006
@@ -2,7 +2,7 @@
 use warnings;
 use strict;
 
-our $VERSION = '0.18';
+our $VERSION = '0.19';
 
 =head1 NAME
 

Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm	Wed Apr  5 10:15:33 2006
@@ -17,6 +17,7 @@
     mandatory
     virtual
     distinct
+    sort_order
     refers_to by
     alias_for_column
     since until

Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm	Wed Apr  5 10:15:33 2006
@@ -339,6 +339,7 @@
         sort {
             ( ( ( $b->type || '' ) eq 'serial' )
                 <=> ( ( $a->type || '' ) eq 'serial' ) )
+                or ( $a->sort_order <=> $b->sort_order)
                 or ( $a->name cmp $b->name )
             } values %{ $self->COLUMNS }
     );

Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm	Wed Apr  5 10:15:33 2006
@@ -40,9 +40,10 @@
 use Carp qw/croak carp/;
 use Exporter::Lite;
 our @EXPORT
-    = qw(column type default validator immutable unreadable length distinct mandatory not_null valid_values label hints render_as since input_filters output_filters filters virtual is by are on);
+    = qw(column type default validator immutable unreadable length distinct mandatory not_null sort_order valid_values label hints render_as since input_filters output_filters filters virtual is by are on);
 
 our $SCHEMA;
+our $SORT_ORDERS = {};
 
 =head1 FUNCTIONS
 
@@ -68,6 +69,7 @@
 
     $from->_init_columns;
 
+
     my @args = (
         ! unreadable(),
         ! immutable(),
@@ -77,6 +79,8 @@
     );
 
     my $column = Jifty::DBI::Column->new( { name => $name } );
+    $column->sort_order($SORT_ORDERS->{$from}++);
+
     $_->apply($column) for @args;
 
     if ( my $refclass = $column->refers_to ) {
@@ -230,6 +234,19 @@
     _item( virtual => 1, @_ );
 }
 
+
+=head2 sort_order
+
+Declares an integer sort value for this column. By default, Jifty will sort
+columns in the order they are defined.
+
+=cut
+
+sub sort_order {
+    _item ( sort_order => 0, @_);
+}
+
+
 =head2 input_filters
 
 Sets a list of input filters on the data.  Correct usage is


More information about the Jifty-commit mailing list