360 |
if ( $error !~ m{\n$} ) { |
if ( $error !~ m{\n$} ) { |
361 |
if ( my @backtrace = $self->backtrace ) { |
if ( my @backtrace = $self->backtrace ) { |
362 |
$error .= "\n\t" . join( "\n\t", @backtrace ); |
$error .= "\n\t" . join( "\n\t", @backtrace ); |
363 |
$fatal = qq| class="fatal"|; |
$fatal = qq| frey-fatal|; |
364 |
} |
} |
365 |
} |
} |
366 |
|
|
648 |
return @backtrace; |
return @backtrace; |
649 |
} |
} |
650 |
|
|
651 |
|
=head2 checkbox |
652 |
|
|
653 |
|
Generate checkbox html markup from some attribute |
654 |
|
|
655 |
|
my $html = $self->checkbox('attribute_name', $value); |
656 |
|
|
657 |
|
=cut |
658 |
|
|
659 |
|
sub checkbox { |
660 |
|
my ($self,$name,$value) = @_; |
661 |
|
my $checked = ''; |
662 |
|
my $all_checkboxes = $self->$name; |
663 |
|
$all_checkboxes = [ $all_checkboxes ] unless ref($all_checkboxes) eq 'ARRAY'; # sigh, too chatty |
664 |
|
$checked = ' checked' if grep { $_ eq $value } @$all_checkboxes; |
665 |
|
warn "# checkbox $name $value $checked\t", $self->dump( $self->$name ); |
666 |
|
qq|<input name="$name" value="$value" type="checkbox"$checked>|; |
667 |
|
} |
668 |
|
|
669 |
1; |
1; |