[Jifty-commit] r1523 - in jifty/trunk: . lib/Jifty/Test/WWW share/web/static/js t t/TestApp/t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jul 10 17:57:17 EDT 2006


Author: alexmv
Date: Mon Jul 10 17:57:15 2006
New Revision: 1523

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/Action.pm
   jifty/trunk/lib/Jifty/Request.pm
   jifty/trunk/lib/Jifty/Test/WWW/Mechanize.pm
   jifty/trunk/share/web/static/js/jifty.js
   jifty/trunk/t/03-form-protocol.t
   jifty/trunk/t/TestApp/t/05-editactions-Cachable.t
   jifty/trunk/t/TestApp/t/05-editactions-Record.t

Log:
 r15166 at zoq-fot-pik:  chmrr | 2006-07-10 17:57:04 -0400
  * Double fallback goes the way of the dodo


Modified: jifty/trunk/lib/Jifty/Action.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Action.pm	(original)
+++ jifty/trunk/lib/Jifty/Action.pm	Mon Jul 10 17:57:15 2006
@@ -446,7 +446,7 @@
         Jifty::Web::Form::Field->new(
             %$info,
             action        => $self,
-            input_name    => $self->double_fallback_form_field_name($name),
+            input_name    => $self->fallback_form_field_name($name),
             sticky        => 0,
             default_value => ($self->argument_value($name) || $info->{'default_value'}),
             render_as     => 'Hidden'
@@ -500,7 +500,7 @@
         # Otherwise, if we're not registered yet, do it in the button
         my $arguments = $self->arguments;
         $args{parameters}{ $self->register_name } = ref $self;
-        $args{parameters}{ $self->double_fallback_form_field_name($_) }
+        $args{parameters}{ $self->fallback_form_field_name($_) }
             = $self->argument_value($_) || $arguments->{$_}->{'default_value'}
             for grep { $arguments->{$_}{constructor} } keys %{ $arguments };
     }
@@ -590,25 +590,6 @@
     return $self->_prefix_field(shift, "J:A:F:F");
 }
 
-
-=head2 double_fallback_form_field_name ARGUMENT
-
-Turn one of this action's L<arguments|Jifty::Manual::Glossary/arguments> into
-a fully qualified "double fallback" name; takes the name of the field
-as an argument.
-
-This is specifically to support "constructor" hidden inputs, which
-need to be have even lower precedence than checkbox fallbacks.
-Probably we need a more flexible system, though.
-
-=cut
-
-sub double_fallback_form_field_name {
-    my $self = shift;
-    return $self->_prefix_field(shift, "J:A:F:F:F");
-}
-
-
 =head2 error_div_id ARGUMENT
 
 Turn one of this action's L<arguments|Jifty::Manual::Glossary/arguments> into

Modified: jifty/trunk/lib/Jifty/Request.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Request.pm	(original)
+++ jifty/trunk/lib/Jifty/Request.pm	Mon Jul 10 17:57:15 2006
@@ -162,6 +162,9 @@
         my %arguments;
         for my $arg (keys %{$a->{fields} || {}}) {
             if (ref $a->{fields}{$arg}) {
+                # Double-fallback exists for historical reasons only;
+                # Jifty applications after July 10th, 2006 should
+                # never generate them.
                 for my $type (qw/doublefallback fallback value/) {
                     $arguments{$arg} = $a->{fields}{$arg}{$type}
                       if exists $a->{fields}{$arg}{$type};
@@ -425,7 +428,10 @@
         $active_actions->{$_} = 1 for split '!', $args{'J:ACTIONS'};
     } # else $active_actions stays undef
 
-    # Mapping from argument types to data structure names
+
+    # Mapping from argument types to data structure names;
+    # Double-fallback exists for historical reasons only; Jifty
+    # applications after July 10th, 2006 should never generate them.
     my %types = ("J:A:F:F:F" => "doublefallback", "J:A:F:F" => "fallback", "J:A:F" => "value");
 
     # The "sort" here is key; it ensures that action registrations
@@ -963,10 +969,9 @@
 
 The action's arguments are specified with query arguments of the form
 C<J:A:F-I<argumentname>-I<moniker>>.  To cope with checkboxes and the
-like (which don't submit anything when left unchecked) we provide two
-levels of fallback, which are checked if the first doesn't exist:
-C<J:A:F:F-I<argumentname>-I<moniker>> and
-C<J:A:F:F:F-I<argumentname>-I<moniker>>.
+like (which don't submit anything when left unchecked) we provide a
+level of fallback, which is checked if the first doesn't exist:
+C<J:A:F:F-I<argumentname>-I<moniker>>.
 
 =head3 state variables
 

Modified: jifty/trunk/lib/Jifty/Test/WWW/Mechanize.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Test/WWW/Mechanize.pm	(original)
+++ jifty/trunk/lib/Jifty/Test/WWW/Mechanize.pm	Mon Jul 10 17:57:15 2006
@@ -56,7 +56,7 @@
         my $moniker = $1;
 
         for my $id (keys %args) {
-          my $idfield = $f->find_input("J:A:F:F:F-$id-$moniker");
+          my $idfield = $f->find_input("J:A:F:F-$id-$moniker");
           next INPUT unless $idfield and $idfield->value eq $args{$id};
         }
 

Modified: jifty/trunk/share/web/static/js/jifty.js
==============================================================================
--- jifty/trunk/share/web/static/js/jifty.js	(original)
+++ jifty/trunk/share/web/static/js/jifty.js	Mon Jul 10 17:57:15 2006
@@ -289,8 +289,6 @@
             return "value";
         } else if (/^J:A:F:F-/.test(element.name)) {
             return "fallback";
-        } else if (/^J:A:F:F:F-/.test(element.name)) {
-            return "doublefallback";
         } else {
             return null;
         }

Modified: jifty/trunk/t/03-form-protocol.t
==============================================================================
--- jifty/trunk/t/03-form-protocol.t	(original)
+++ jifty/trunk/t/03-form-protocol.t	Mon Jul 10 17:57:15 2006
@@ -401,110 +401,6 @@
   J:A:F-something-second: feepy
   J:ACTIONS: mymoniker!second
 fragments: {}
-=== double fallbacks being ignored (with single fallback)
---- form
-J:A-mymoniker: DoSomething
-J:A:F:F:F-id-mymoniker: 789
-J:A:F:F-id-mymoniker: 456
-J:A:F-id-mymoniker: 123
-J:A:F-something-mymoniker: else
-J:ACTIONS: mymoniker
---- request
-path: /
-state_variables: {}
-actions:
-  mymoniker:
-    moniker: mymoniker
-    class: DoSomething
-    active: 1
-    has_run: 0
-    arguments:
-        id: 123
-        something: else
-arguments:
-  J:A-mymoniker: DoSomething
-  J:A:F:F:F-id-mymoniker: 789
-  J:A:F:F-id-mymoniker: 456
-  J:A:F-id-mymoniker: 123
-  J:A:F-something-mymoniker: else
-  J:ACTIONS: mymoniker
-fragments: {}
-=== double fallbacks being ignored (without single fallback)
---- form
-J:A-mymoniker: DoSomething
-J:A:F:F:F-id-mymoniker: 789
-J:A:F-id-mymoniker: 123
-J:A:F-something-mymoniker: else
-J:ACTIONS: mymoniker
---- request
-path: /
-state_variables: {}
-actions:
-  mymoniker:
-    moniker: mymoniker
-    class: DoSomething
-    active: 1
-    has_run: 0
-    arguments:
-        id: 123
-        something: else
-arguments:
-  J:A-mymoniker: DoSomething
-  J:A:F:F:F-id-mymoniker: 789
-  J:A:F-id-mymoniker: 123
-  J:A:F-something-mymoniker: else
-  J:ACTIONS: mymoniker
-fragments: {}
-=== double fallbacks being ignored (single fallback used)
---- form
-J:A-mymoniker: DoSomething
-J:A:F:F:F-id-mymoniker: 789
-J:A:F:F-id-mymoniker: 456
-J:A:F-something-mymoniker: else
-J:ACTIONS: mymoniker
---- request
-path: /
-state_variables: {}
-actions:
-  mymoniker:
-    moniker: mymoniker
-    class: DoSomething
-    active: 1
-    has_run: 0
-    arguments:
-        id: 456
-        something: else
-arguments:
-  J:A-mymoniker: DoSomething
-  J:A:F:F:F-id-mymoniker: 789
-  J:A:F:F-id-mymoniker: 456
-  J:A:F-something-mymoniker: else
-  J:ACTIONS: mymoniker
-fragments: {}
-=== double fallbacks being used
---- form
-J:A-mymoniker: DoSomething
-J:A:F:F:F-id-mymoniker: 789
-J:A:F-something-mymoniker: else
-J:ACTIONS: mymoniker
---- request
-path: /
-state_variables: {}
-actions:
-  mymoniker:
-    moniker: mymoniker
-    class: DoSomething
-    active: 1
-    has_run: 0
-    arguments:
-        id: 789
-        something: else
-arguments:
-  J:A-mymoniker: DoSomething
-  J:A:F:F:F-id-mymoniker: 789
-  J:A:F-something-mymoniker: else
-  J:ACTIONS: mymoniker
-fragments: {}
 === just validating
 ---- form
 J:A-mymoniker: DoSomething

Modified: jifty/trunk/t/TestApp/t/05-editactions-Cachable.t
==============================================================================
--- jifty/trunk/t/TestApp/t/05-editactions-Cachable.t	(original)
+++ jifty/trunk/t/TestApp/t/05-editactions-Cachable.t	Mon Jul 10 17:57:15 2006
@@ -31,7 +31,7 @@
 my $mech    = Jifty::Test::WWW::Mechanize->new();
 
 # Test action to update
-$mech->get_ok($URL.'/editform?J:A-updateuser=TestApp::Action::UpdateUser&J:A:F:F:F-id-updateuser=1&J:A:F-name-updateuser=edituser&J:A:F-email-updateuser=newemail at example.com', "Form submitted");
+$mech->get_ok($URL.'/editform?J:A-updateuser=TestApp::Action::UpdateUser&J:A:F:F-id-updateuser=1&J:A:F-name-updateuser=edituser&J:A:F-email-updateuser=newemail at example.com', "Form submitted");
 undef $o;
 $o = TestApp::Model::User->new(current_user => $system_user);
 $o->flush_cache;

Modified: jifty/trunk/t/TestApp/t/05-editactions-Record.t
==============================================================================
--- jifty/trunk/t/TestApp/t/05-editactions-Record.t	(original)
+++ jifty/trunk/t/TestApp/t/05-editactions-Record.t	Mon Jul 10 17:57:15 2006
@@ -34,7 +34,7 @@
 my $mech    = Jifty::Test::WWW::Mechanize->new();
 
 # Test action to update
-$mech->get_ok($URL.'/editform?J:A-updateuser=TestApp::Action::UpdateUser&J:A:F:F:F-id-updateuser=1&J:A:F-name-updateuser=edituser&J:A:F-email-updateuser=newemail at example.com&J:A:F-tasty-updateuser=0', "Form submitted");
+$mech->get_ok($URL.'/editform?J:A-updateuser=TestApp::Action::UpdateUser&J:A:F:F-id-updateuser=1&J:A:F-name-updateuser=edituser&J:A:F-email-updateuser=newemail at example.com&J:A:F-tasty-updateuser=0', "Form submitted");
 undef $o;
 $o = TestApp::Model::User->new(current_user => $system_user);
 $o->load($id);


More information about the Jifty-commit mailing list