On Dec 15, 2007 5:22 PM, Carl Franks <[EMAIL PROTECTED]> wrote:

> On 15/12/2007, Jonas Alves <[EMAIL PROTECTED]> wrote:
> > Hi Guys,
> > I have a form with an element like this:
> >
> >           - type: Block
> >             tag: ~
> >             nested_name: area_rel
> >             elements:
> >               - type: Checkboxgroup
> >                 name: area_id
> >                 options: [ ... ]
> >                 constraints: [ AutoSet ]
> >
> > area_rel is a many_to_many relationship defined in my model.
> >
> >
> > And defaults_from_model fails to fill it. Am I doing something wrong, or
> > this is not supported yet?
>
> Hi Jonas,
>
>
> http://search.cpan.org/~cfranks/HTML-FormFu-0.02002/lib/HTML/FormFu/Model/DBIC.pm#many_to_many_selection<http://search.cpan.org/%7Ecfranks/HTML-FormFu-0.02002/lib/HTML/FormFu/Model/DBIC.pm#many_to_many_selection>
>
> You don't need the Block for that:
>
>    type: Checkboxgroup
>    name: area_rel
>
> If area_id is the PK, it'll pick that up automatically, otherwise you
> can be explicit:
>
>    db: { default_column: area_id }
>
> And this isn't documented yet because it may change, but with the
> catalyst controller you can populate the Checkboxgroup from the db
> like so:
>
>    type: Checkboxgroup
>    name: area_rel
>    db:
>      model: MyModel
>      label_col: area
>
> See the source of Element/_Group::process() for more details.
>
> Cheers,
> Carl
>

Hi Carl,
I can't make it work. The  Checkboxgroup is not being populated.
Element/_Group::process is not being called at all.

This is what I have in the config file:

          - type: Checkboxgroup
            name: area_rel
            db:
              model: DBIC::Area
              label_col: name
            constraints: [ AutoSet ]

The rels in DBIC::Campanha model:

__PACKAGE__->has_many(
    area_rel => 'SMS::Schema::Result::AreaCampanha', 'campanha_id',
);
__PACKAGE__->many_to_many(areas => 'area_rel', 'area_id',);

# in my app:

$form->defaults_from_model( $campanha_row );

If I change the rel in the config to "name: areas" instead of "name:
area_rel" I got this error:

[error] DBIx::Class::Relationship::ManyToMany::__ANON__(): search_related:
result source 'AreaCampanha' has no such relationship area_id at
/Library/Perl/5.8.6/HTML/FormFu/Model/DBIC.pm line 186


Do you have any idea what am I doing wrong?

Thanks
-- 
Jonas
_______________________________________________
HTML-FormFu mailing list
[email protected]
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu

Reply via email to