FIXED IT!!!

take out the does '...' line and replace it with this:

override parameter_hashref => sub{
   my $self = shift;
   my $args = super();
   $args->{password} = delete $args->{new_password};
   delete $args->{confirm_new_password};
   return $args;
};


here's my class:

package Prefab::Model::Action::CreateUser;

use strict;
use warnings;

use Reaction::Class;
use aliased 'Reaction::InterfaceModel::Action::DBIC::ActionReflector';

extends qw(
          Reaction::InterfaceModel::Action::User::SetPassword
          Reaction::InterfaceModel::Action::DBIC::ResultSet::Create
         );

my $r = ActionReflector->new;
$r->reflect_attrs('Prefab::Schema::User'  =>  __PACKAGE__,
                 qw/id username created_d role_list/);

override parameter_hashref => sub{
   my $self = shift;
   my $args = super();
   $args->{password} = delete $args->{new_password};
   delete $args->{confirm_new_password};
   return $args;
};

1;



If you want to reflect fields like i did then add this method to
action reflector:

 implements reflect_attrs => as {
   my ($self, $from_class, $to_class, @attrs) = @_;
   foreach my $attr_name (@attrs) {
     $self->reflect_attribute_to($from_class,
                                 $from_class->meta->get_attribute($attr_name),
                                 $to_class);
   }
 };




On 1/27/07, Guillermo Roditi <[EMAIL PROTECTED]> wrote:
I just ran into this bug too

target_model isa => 'ResultSet' on Create, not a Row, so it lacks a
password field. it is mildly retarded. i dont know how to fix it in an
elegant manner.. but at least i know now what the problem is...

if i get lucky this will probably be fixed in svn soonish

On 1/25/07, Jonas Alves <[EMAIL PROTECTED]> wrote:
>
>
> On 25/01/07, Guillermo Roditi <[EMAIL PROTECTED]> wrote:
> > what i meant is that you get new_password and confirm_new password,
> > but you still need the original password field
> >
> > see code for
> Reaction::InterfaceModel::Action::DBIC::User::Role::SetPassword;
>
>  Yes, but i have the password field in the model passed to "target_model".
>
>
>
> _______________________________________________
> List: [email protected]
> Listinfo:
> http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/[email protected]/
> Dev site: http://dev.catalyst.perl.org/
>
>
>


_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to