View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Carl Franks > DBIx-Class-HTML-FormFu-0.01005 > DBIx::Class::HTML::FormFu

Download:
DBIx-Class-HTML-FormFu-0.01005.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.01005   Source  

NAME ^

DBIx::Class::HTML::FormFu - DEPRECATED - use HTML::FormFu::Model::DBIC instead

DEPRECATED ^

For new applications, you're advised to use HTML::FormFu::Model::DBIC instead.

SYNOPSIS ^

    # fill a form from the database
    
    my $row = $schema->resultset('Foo')->find($id);
        
    $row->fill_formfu_values( $form )

    # populate the database from a submitted form
    
    if ( $form->submitted && !$form->has_errors ) {
        
        my $row = $schema->resultset('Foo')->find({ id => $params->{id} });
        
        $row->populate_from_formfu( $form );
    }

ATTRIBUTES ^

The fill_formfu_values and populate_from_formfu functions can both take an optional hasref argument to process the field names from form field name to database fieldname.

The hasref takes to arguments: prefix_col takes a string to add to the begining of the form field names. suffix_col takes a string to add to the end of the form field names.

Example

If you have the following form fields:

    private_street
    private_city
    private_email
    office_street
    office_city
    office_email

You most likely would like to save both datasets in same table:

    my $private = $user->new_related( 'data', { type => 'private' } );
    $private->populate_from_formfu( $form, { prefix_col => 'private_' } );
    my $office = $user->new_related( 'data', { type => 'office' } );
    $office->populate_from_formfu( $form, { prefix_col => 'office_' } );

The table needs the following rows:

    id     (not really needed)
    street
    city
    email
    type
    user_id

FREQUENTLY ASKED QUESTIONS (FAQ) ^

If I have another column in the database that is not present on the form? How do I add a value to the form to still use 'populate_from_formfu'?

Use $form->add_valid( name => 'value' );

Example:

    my $passwd = generate_passwd();
    $form->add_valid( passwd => $passwd );
    $resultset->populate_from_formfu( $form );

add_valid() works for fieldnames that don't exist in the form.

CAVEATS ^

To ensure your column's inflators and deflators are called, we have to get / set values using their named methods, and not with get_column / set_column.

Because of this, beware of having column names which clash with DBIx::Class built-in method-names, such as delete. - It will have obviously undesirable results!

SUPPORT ^

Project Page:

http://code.google.com/p/html-formfu/

Mailing list:

http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu

Mailing list archives:

http://lists.scsys.co.uk/pipermail/html-formfu/

BUGS ^

Please submit bugs / feature requests to http://code.google.com/p/html-formfu/issues/list (preferred) or http://rt.perl.org.

SUBVERSION REPOSITORY ^

The publicly viewable subversion code repository is at http://html-formfu.googlecode.com/svn/trunk/DBIx-Class-HTML-FormFu.

If you wish to contribute, you'll need a GMAIL email address. Then just ask on the mailing list for commit access.

If you wish to contribute but for some reason really don't want to sign up for a GMAIL account, please post patches to the mailing list (although you'll have to wait for someone to commit them).

If you have commit permissions, use the HTTPS repository url: https://html-formfu.googlecode.com/svn/trunk/DBIx-Class-HTML-FormFu

SEE ALSO ^

HTML::FormFu, DBIx::Class, Catalyst::Controller::HTML::FormFu

AUTHOR ^

Carl Franks

CONTRIBUTORS ^

Adam Herzog

Daisuke Maki

Mario Minati

COPYRIGHT AND LICENSE ^

Copyright (C) 2007 by Carl Franks

Based on the original source code of DBIx::Class::HTMLWidget, copyright Thomas Klausner.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: