/usr/local/CPAN/Bracket/Bracket/Form/Password/Change.pm
package Bracket::Form::Password::Change;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler::Model::DBIC';
with 'HTML::FormHandler::Render::Table';
has '+item_class' => ( default => 'Player' );
has_field 'current_password' => ( type => 'Password', );
has_field 'password' => ( type => 'Password' );
has_field 'password_confirm' => ( type => 'PasswordConf' );
has_field 'submit' => ( type => 'Submit', value => 'Change Password' );
sub validate {
my $self = shift;
# check current password against what's in the database
my $is_valid =
$self->schema->resultset('Player')->find( { id => $self->item_id } )
->check_password( $self->field('current_password')->value );
if ( !$is_valid ) {
$self->field('current_password')
->add_error('Current password incorrect');
}
return;
}
no HTML::FormHandler::Moose;
__PACKAGE__->meta->make_immutable;
1