[Catalyst] No database defaults with FormHandler and DBIC
LNATION .
thisusedtobeanemail at gmail.com
Sat Dec 10 16:48:25 GMT 2016
The problem I think is when you call >new_result the default value from
your database does get **populated that happens when on insert....
On Sat, Dec 10, 2016 at 5:17 PM, Martin Řehák <rehak at tekkirk.org> wrote:
> Hi,
>
> I understand that there is a complicated solution. I am looking for
> the simplest way.
>
> Doc says:
>
> <snip>
> For forms where you pass in an 'item' (usually a database row object),
> the values in that object will be used preferentially; if an accessor
> exists in the 'item' object, then the defaults won't be used. (If an
> accessor doesn't exist, the defaults *will* be used.)
>
> $form->process( item => $row, params => {} );
>
> For the above call the 'default' on the field will not be used, which is
> usually what you want.
> </snip>
>
> What is the easiest way how to get defaults going from the database
> schema into a form, please? Is process() function able to propagate
> defaults from $row into $form? How to achieve that?
>
> Regards
> --
> Martin
>
> On 2016.12.10 16:51:52 +0100, LNATION . wrote:
> > My email coding has some syntax errors, apologies.
> >
> > On Sat, Dec 10, 2016 at 4:50 PM, LNATION . <
> thisusedtobeanemail at gmail.com>
> > wrote:
> >
> > > and then make a role role
> > >
> > > has default_column_spec => ( ...)
> > >
> > > before render => sub {
> > > while (my ($field, $default) = each %{
> $_[0]->default_column_spec}{
> > > unless ($_[0]->field($filed)->value) { # mayb editing
> > > $_[0]->field('$field)->value($default);
> > > }
> > > }
> > > }
> > >
> > >
> > > On Sat, Dec 10, 2016 at 4:41 PM, LNATION . <
> thisusedtobeanemail at gmail.com>
> > > wrote:
> > >
> > >> maybe something like ......
> > >>
> > >> my $columns = $result->result_source->columns_info;
> > >> my %default_form_spec;
> > >> for my $name (keys %{$columns}){
> > >> if (my $default = $columns->{$name}->{default_value}) {
> > >> $default_form_spec{ $name } = $default;
> > >> }
> > >> }
> > >>
> > >>
> > >>
> > >
>
> > _______________________________________________
> > List: Catalyst at lists.scsys.co.uk
> > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> > Searchable archive: http://www.mail-archive.com/
> catalyst at lists.scsys.co.uk/
> > Dev site: http://dev.catalyst.perl.org/
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/catalyst/attachments/20161210/b4461b08/attachment.htm>
More information about the Catalyst
mailing list