[Catalyst-commits] r7635 - in
CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk: .
lib/CatalystX/CRUD/Controller
karpet at dev.catalyst.perl.org
karpet at dev.catalyst.perl.org
Fri Apr 25 21:40:49 BST 2008
Author: karpet
Date: 2008-04-25 21:40:47 +0100 (Fri, 25 Apr 2008)
New Revision: 7635
Modified:
CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/Changes
CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/lib/CatalystX/CRUD/Controller/RHTMLO.pm
Log:
use next::method instead of forward() and seed object as well as form with passed params
Modified: CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/Changes
===================================================================
--- CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/Changes 2008-04-25 15:20:47 UTC (rev 7634)
+++ CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/Changes 2008-04-25 20:40:47 UTC (rev 7635)
@@ -41,4 +41,6 @@
This relies on the AUTOLOAD magic in CX::CRUD::Object to work correctly,
but it means that authors can have more methods than just the c/r/u/d
types on their Object wrappers (as CX::CRUD::Object::File does).
+ * use Class::C3
+ * prime object as well as form in create()
Modified: CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/lib/CatalystX/CRUD/Controller/RHTMLO.pm
===================================================================
--- CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/lib/CatalystX/CRUD/Controller/RHTMLO.pm 2008-04-25 15:20:47 UTC (rev 7634)
+++ CatalystX-CRUD/CatalystX-CRUD-Controller-RHTMLO/trunk/lib/CatalystX/CRUD/Controller/RHTMLO.pm 2008-04-25 20:40:47 UTC (rev 7635)
@@ -39,12 +39,16 @@
sub create : Local {
my ( $self, $c ) = @_;
- $c->forward( 'fetch', [0] );
- $c->forward('edit');
+ $self->next::method($c);
+
+ # allow for params to be passed in to seed the form/object
for my $field ( $self->field_names ) {
if ( exists $c->req->params->{$field} ) {
$c->stash->{form}
->field_value( $field, $c->req->params->{$field} );
+ if ( $c->stash->{object}->can($field) ) {
+ $c->stash->{object}->$field( $c->req->params->{$field} );
+ }
}
}
}
@@ -121,7 +125,7 @@
# initialize the form with the object's values
# TODO this might not work if the delegate() does not have
# 1-to-1 mapping of form fields to object methods.
- $form->$form_meth( $obj );
+ $form->$form_meth($obj);
# set param values from request
$form->params( $c->req->params );
@@ -146,7 +150,7 @@
# TODO this might not work if the delegate() does not have
# 1-to-1 mapping of form fields to object methods.
# this is same objection as $form_metho call above
- $form->$obj_meth( $obj );
+ $form->$obj_meth($obj);
# set id explicitly since there's some bug
# with param() setting it in save()
More information about the Catalyst-commits
mailing list