Changeset 431

Show
Ignore:
Timestamp:
05/21/08 01:49:07 (22 months ago)
Author:
eevee
Message:

I give up; removing all the FormFu? code, as it doesn't work at all how I need it to. (#302)
If it's ever fixed, well, that's why we have version control. If not, I will probably expand Vee::Form into a real form processing module.

Location:
veekun/trunk
Files:
2 removed
2 modified

Legend:

Unmodified
Added
Removed
  • veekun/trunk/lib/Vee/Controller/Dex/Utils.pm

    r429 r431  
    33use strict; 
    44use warnings; 
    5 use base 'Catalyst::Controller::HTML::FormFu'; 
     5use base 'Catalyst::Controller'; 
    66 
    77use List::MoreUtils qw/first_index last_index/; 
     8 
    89use Vee::Dex; 
    910use Vee::Form; 
     
    230231} 
    231232 
     233our $breeding_chains_fields = { 
     234    pokemon     => { type => 'text', class => 'js-dexsuggest-pokemon', }, 
     235    move        => { type => 'text', count => 4, class => 'js-dexsuggest-move', }, 
     236}; 
     237 
    232238sub breeding_chains 
    233239    : Path('calculators/breeding_chains') 
    234240    : Args(0) 
    235     : FormConfig('dex/utils/breeding_chains.yml') 
    236241{ 
    237242    my ($self, $c) = @_; 
    238243    my $s    = $c->stash; 
    239     my $form = $s->{form}; 
    240     $s->{template} = 'dex/utils/breeding_chains.tt'; 
     244    my $p    = $c->req->params; 
     245 
     246    my $form = $s->{form} = Vee::Form->new( 
     247        id => 'breeding_chains', 
     248        fields => $breeding_chains_fields, 
     249        params => $p, 
     250    ); 
     251    $s->{template}   = 'dex/utils/breeding_chains.tt'; 
    241252    $s->{page_title} = 'Breeding Chains'; 
    242253 
    243     if (not $form->submitted or $form->has_errors) { 
     254    if (not $form->submitted) { 
    244255        return; 
    245256    } 
    246257 
    247     # XXX do the retrievals in Inflator code 
    248     my $pokemon = $c->model('DBIC::Pokemon')->find($form->param_value('pokemon')); 
    249     my @moves   = map { $c->model('DBIC::Moves')->find($_) } $form->param_list('move'); 
     258    my $pokemon = $c->model('DBIC::Pokemon')->search({ name => $p->{ pokemon } })->first; 
     259    my @moves   = $c->model('DBIC::Moves'  )->search({ name => $p->{ move    } })->all; 
    250260 
    251261    # XXX 
     
    253263 
    254264    ### Misc error handling 
     265 
     266    if (not $pokemon) { 
     267        $s->{error_msg} 
     268            = 'No such Pokemon ' . $c->vee_cleanse($p->{pokemon}) . '.'; 
     269        return; 
     270    } 
    255271 
    256272    if ($pokemon->breeding_code == 255) { 
  • veekun/trunk/templates/dex/utils/breeding_chains.tt

    r429 r431  
    22 
    33<h1>Breeding Chain Finder</h1> 
    4 [% form.start %] 
     4<form action="" method="get"> 
    55<dl class="compact"> 
    66    <dt>Pok&eacute;mon</dt> 
    7     <dd>[% form.get_field(name => 'pokemon') %]</dd> 
    8     <dt>Move</dt> 
    9     <dd>[% form.get_field(name => 'move') %]</dd> 
     7    <dd>[% form.get_tag('pokemon') %]</dd> 
     8    <dt>Moves</dt> 
     9    <dd>[% form.get_tag('move') %]</dd> 
    1010</dl> 
    1111<p> <input type="submit" value="Find chains"/> <input type="reset" value="Reset form"/> </p> 
    12 [% form.end %] 
    13 [% RETURN IF NOT form.submitted OR form.has_errors %] 
     12</form> 
     13[% RETURN IF NOT form.submitted %] 
    1414 
    1515<h1>Chains</h1>