[html-formfu] Re: [Catalyst] FormFu edit form problem
Toby Corkindale
toby.corkindale at strategicdata.com.au
Thu May 28 08:18:06 GMT 2009
Carl Franks wrote:
> 2009/5/26 Toby Corkindale <toby.corkindale at strategicdata.com.au>:
>> And after applying the patch linked above, the problem went away. Presto!
>>
>> I'm looking forward to that being included in a 0.04004 release soon..
>
> Thanks - that patch had gotten past my radar!
>
> It's now applied, and new releases of HTML-FormFu and
> HTML-FormFu-Model-DBIC have been uploaded to pause, and should be
> available on cpan within a couple of hours.
Hi Carl,
The patched version of 0.04004 seemed to work fine, however the released
0.05000 only works on some, but not all, of my tables.
I tracked the issue down to part of HTML::FormFu::Model::DBIC around
line 534, where you do:
-----------------------
if ( exists $info->{attrs}{is_foreign_key_constraint} ) {
$fk_constraint = $info->{attrs}{is_foreign_key_constraint};
}
...
else {
$fk_constraint = not
$dbic->result_source->compare_relationship_keys( \@keys, \@fpkey );
}
next if($fk_constraint);
...
croak 'The primary key and the foreign key may not be the same column in
class '.$fclass if $fpkey eq $fkey;
-----------------------
The tables that break FormFu have relationships defined where the
is_foreign_key_constraint attribute is set to false. If I change it to
true, everything seems to work fine.
Eg.
__PACKAGE__->belongs_to(
gp => 'My::Schema::Result::GP',
{ id => 'gp' },
{ is_foreign_key_constraint => 0 }
);
I didn't write the DB schema so I'm not sure why they indicated these
weren't foreign keys, when they are, but I still don't think FormFu
should barf on them.
What do you think?
Thanks,
Toby
More information about the HTML-FormFu
mailing list