Gantry

 view release on metacpan or  search on metacpan

root/moxie/form.tt  view on Meta::CPAN

[%- USE form = HTML.SuperForm( self.params ) %]

[%- form.start_form( 
    action => ( view.form.action || self.uri ),
    enctype => view.form.enctype,
    class   => ( view.form.class || 'form-box' ),
    method  => ( view.data.method || 'post' )
) %]

[%- IF view.form.show_error_summary %]
    [% PROCESS error_summary %]
[%- END %]

[%# check for older style crud form %]
[%- IF view.form.fields %]

    <div class="form-box">
        <h5 class="heading">[% view.form.legend %]</h5>
        
        <p class="form-description">
            [% view.title %]
        </p>
        
        [%- FOREACH field_data IN view.form.fields %]
            [%- PROCESS field 
                dta    = field_data
                row    = view.form.row
                layout = 'default' %]

        [%- END %]
    </div>
        
[%- ELSE %]
    [%- WHILE ( row = view.form.row.next ) %]
        <div class="form-box">
            <h5 class="heading">[% view.form.legend %]</h5>
            [%- FOREACH field_data IN view.form.fields %]
                [%- PROCESS field 
                    dta    = field_data
                    row    = row
                    layout = 'default' %]

            [%- END %]
        </div>    
    [%- END %]

[%- END %]
<div class="form-box actions">
[%- UNLESS view.form.no_submit %]
    [% form.submit( 
        id      => 'submit', 
        name    => 'submit', 
        default => ( view.form.submit_button_label || 'Submit' ),
        label   => ( view.form.submit_button_label || 'Submit' )
    ) -%]
[%- END %]

[%- IF view.form.submit_and_add_another %] 
    [%- form.submit( 
        name => 'submit_add_another', 
        default => ( view.form.submit_and_add_another_label 
            || 'Submit &amp; Add Another' ),
        label => ( view.form.submit_and_add_another_label 
            || 'Submit &amp; Add Another' ) 
    ) %]
[%- END %]
[%- UNLESS view.form.no_cancel %]
    [%- form.submit( 
        id => 'cancel', 
        name => 'cancel', 
        default => ( view.form.cancel_button_label || 'Cancel' ) 
        label => ( view.form.cancel_button_label || 'Cancel' ) 
    ) -%]
[%- END %]
</div>

[% form.end_form %]

[% BLOCK field %]
    [%- type = dta.type %]
    [%- name = dta.name %]
    [%- missing = view.form.results.missing( "$name" ) %]
    [%- required = dta.optional ? 0 : 1 %]
    
    [%- IF type == 'file' %]
        <fieldset class="form-data [% missing ? 'missing' : '' %]">
        <label class="[% required ? 'required' : '' %]" 
            for="[% dta.name %]">[% dta.label %]</label>
        <input type="file" name="[% dta.name %]" />
        
        [%- PROCESS row_status 
            invalid = view.form.results.invalid( "$name" ).join( ',' )
            missing = view.form.results.missing( "$name" )
            hint    = dta.hint
        %]
        </fieldset>



( run in 1.497 second using v1.01-cache-2.11-cpan-5a3173703d6 )