[html-formfu] Repeatable save problems

Greg Coates greg at coatesoft.com
Thu Apr 30 22:31:32 GMT 2009


Bumping this.  Everything suggested as possible problems ended up being 
okay.  Does anyone have any ideas?  Carl?

Thanks,
Greg


Greg Coates wrote:
> I have a form that contains a repeatable block that I'm using with 
> Catalyst.  For some reason, the items in the child table aren't getting 
> saved along with the rest of the data.  I've scoured the documentation, 
> and as far as I can tell, I have all of the necessary bits in place.
> 
> Here's the repeatable block from the form definition:
> 
>   - type: Repeatable
>     name: invoice_lines
>     nested_name: invoice_items
>     counter_name: line_cnt
>     auto_id: "%n"
>     attributes:
>       class: data_row invoice_item
>     elements:
>       - type: Hidden
>         name: ivi_id
>       - type: Block
>         attributes:
>           class: ivi_desc
>         elements:
>           - type: Text
>             name: ivi_desc
>             size: 75
>       - type: Block
>         attributes:
>           class: ivi_unit_price numeric
>         elements:
>             - type: Text
>               name: ivi_unit_price
>               size: 8
>       - type: Block
>         attributes:
>           class: ivi_quantity numeric
>         elements:
>           - type: Text
>             name: ivi_quantity
>             size: 5
>       - type: Block
>         attributes:
>           class: ivi_total_price numeric
>         elements:
>           - type: "+Coatesoft::FormFu::Element::DataLabel"
>             name: ivi_total_price
>       - type: Block
>         attributes:
>           class: ivi_account
>         elements:
>           - type: Select
>             name: ivi_account
>             model_config:
>               resultset: Accounts
>               id_column: acc_id
>               label_column: acc_title
>       - type: Block
>         attributes:
>           class: ivi_item
>         elements:
>           - type: Select
>             name: ivi_item
>             empty_first: 1
>             empty_first_label: <no inventory item>
>             model_config:
>               resultset: Items
>               id_column: itm_id
>               label_column: itm_description
>       - type: Block
>         attributes:
>           class: ivi_tax_type
>         elements:
>           - type: Select
>             name: ivi_tax_type
>             empty_first: 1
>             empty_first_label: <no tax>
>             model_config:
>               resultset: Taxes
>               id_column: tax_id
>               label_column: tax_desc
>       - type: Block
>         attributes:
>           class: ivi_memo
>         elements:
>           - type: Text
>             name: ivi_memo
>             size: 100
> 
> 
> And here's the relevant part of my Catalyst controller:
> 
> sub edit :Local :FormConfig('invoices/edit_invoice.yml') {
>   my ($self, $c, $ivc_id) = @_;
> 
>   if ($c->request->param('cancel')) {
>     $c->response->redirect($c->uri_for("/invoices"));
>     $c->detach();
>   }
> 
>   my $invoice = ($ivc_id) ? $c->model('DB::Invoices')->find($ivc_id)
>                           : $c->model('DB::Invoices')->new_result({});
> 
>   my $form = $c->stash->{form};
>   if ($form->submitted_and_valid()) {
>     $form->process();
>     $form->model->update($invoice);
> 
>     if (! $c->request->param('draft')) {
>       # Save to accounts
>     }
> 
>     $c->response->redirect($c->uri_for("/invoices"));
>     $c->detach();
>   }
> }
> 
> Does anyone see anything that I might be missing?  Is the fact that my 
> form elements are inside Block elements causing problems?
> 
> Thanks,
> Greg Coates
> Coatesoft
> 
> _______________________________________________
> HTML-FormFu mailing list
> HTML-FormFu at lists.scsys.co.uk
> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu



More information about the HTML-FormFu mailing list