On 1/10/2012 10:56 AM, Carl Franks wrote:
On 10 January 2012 09:16, Gabor HALASZ<halas...@freemail.hu> wrote:
On 1/10/2012 9:38 AM, Carl Franks wrote:
Hi,
Can you provide the config / code which sets-up the form, and the rest
of your code which looks like it's cut off mid-line?
Hi!
My configs:
picture/manage.conf:
<<include ../common/filter.conf>>
<elements>
type Block
<attributes>
id fieldbox
class fifty
</attributes>
<elements>
type Block
tag label
content_loc form.config.label.picture.manage.fieldset
</elements>
<elements>
type Fieldset
<attributes>
class placeholder
</attributes>
<elements>
<<include ../common/element/file.picture.conf>>
</elements>
</elements>
</elements>
The included elements:
common/filter.conf:
filter TrimEdges
filter HTMLEscape
filter HTMLScrubber
common/element/file.picture.conf:
type File
name image
label_loc form.element.label.picture
<attributes>
title form.element.title.picture
</attributes>
<constraints>
type File::MIME
types image/bmp
types image/gif
types image/jpeg
types image/png
types image/tiff
</constraints>
<constraints>
type File::MinSize
min 32768
</constraints>
<constraints>
type File::MaxSize
max 524288
</constraints>
My Ctalyst controller:
=head2 manage
Picture manager logic
=cut
sub manage : Chained( 'base' ) : PathPart( 'manage' ) : Args( 0 ) : Form {
my ( $self, $c ) = @_;
$c->stash->{title} = 'template.title.picture.manage';
$c->stash->{form}->load_config_file('picture/manage.conf');
if ( exists $c->flash->{productId} ) {
my $position = $c->stash->{form}->get_all_element({ type => 'File',
});
# my $position = $c->stash->{form}->get_all_element;
use Data::Dumper;
$c->log->debug( 'HIER: ' . $position );
$c->stash->{form}->insert_after( $c->stash->{form}->element( {
name => '5',
src => $c->uri_for( '/api/getproducticon/' .
$c->flash->{productId} ),
type => 'Image',
} ), $position );
}
else {
$c->model('Event')->error;
$c->detach('/forbidden');
}
$c->stash->{form}->process;
return;
}
Thanks
Ah, it's the old FAQ :) - you need to call insert_after() on the
parent of $position, not the $form object.
I read the current documentation on cpan:
http://search.cpan.org/~perler/HTML-FormFu-0.09005/lib/HTML/FormFu.pm#insert_before
Please, correct it, if possible!
So, do this:
$position->parent->insert_after( \%new_spec, $position );
Thanks :) My last question today: I created a simple element/constraint
pair for my app to protect form's hidden fields (with sha1 checksum)
from malicious users. What do you think, its maybe interesting to publish?
_______________________________________________
HTML-FormFu mailing list
HTML-FormFu@lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu