82 |
my ( $self ) = @_; |
my ( $self ) = @_; |
83 |
my @required = $self->required; |
my @required = $self->required; |
84 |
if ( ! @required ) { |
if ( ! @required ) { |
85 |
warn "all params available ", dump( $self->params ), " not creating form"; |
warn "all params available ", dump( $self->params ), " not creating form" if $self->debug; |
86 |
return (undef,$self->params) if wantarray; |
return (undef,$self->params) if wantarray; |
87 |
return; |
return; |
88 |
} else { |
} else { |
89 |
warn $self->class, " required params ", dump( @required ) if $self->debug; |
warn $self->class, " required params ", map { $_->dump(2) } @required if $self->debug; |
90 |
} |
} |
91 |
|
|
92 |
my $class = $self->class; |
my $class = $self->class; |
102 |
my $form; |
my $form; |
103 |
|
|
104 |
foreach my $name ( grep { ! $class->meta->get_attribute($_)->is_lazy } $self->attributes ) { |
foreach my $name ( grep { ! $class->meta->get_attribute($_)->is_lazy } $self->attributes ) { |
105 |
my $attr_type; |
my $attr_type = ''; |
106 |
my $type = $name =~ m/^pass/ ? 'password' : 'text'; |
my $type = $name =~ m/^pass/ ? 'password' : 'text'; |
107 |
my $label = $name; |
my $label = $name; |
108 |
my $value = ''; |
my $value = ''; |
119 |
) . qq|</select>|; |
) . qq|</select>|; |
120 |
$default->{$name} = $config_params->[0]->{$name}; |
$default->{$name} = $config_params->[0]->{$name}; |
121 |
} elsif ( my $attr = $class->meta->get_attribute( $name ) ) { |
} elsif ( my $attr = $class->meta->get_attribute( $name ) ) { |
|
$attr_type = $attr->type_constraint->name; |
|
122 |
if ( $attr->has_type_constraint ) { |
if ( $attr->has_type_constraint ) { |
123 |
|
$attr_type = $attr->type_constraint->name; |
124 |
if ( $attr->type_constraint->can('values') ) { |
if ( $attr->type_constraint->can('values') ) { |
125 |
$value_html = qq|<select name="$name">| . join("\n", |
$value_html = qq|<select name="$name">| . join("\n", |
126 |
map { qq|<option value="$_">$_</option>| } @{ $attr->type_constraint->values } |
map { qq|<option value="$_">$_</option>| } @{ $attr->type_constraint->values } |
142 |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
143 |
$form .= qq|<label for="$name"$label_title>$label</label>| . $value_html; |
$form .= qq|<label for="$name"$label_title>$label</label>| . $value_html; |
144 |
} |
} |
145 |
my $html = join("\n", |
my $html = qq|<h1>$class params</h1><form method="post">$form<input type="submit" value="Run $class"></form>|; |
146 |
qq|<h1>$class params</h1><form method="post">$form<input type="submit" value="Run $class"></form>|, |
push @{ $self->status }, { 'Params' => |
147 |
qq|<span class="frey-popdown">config<span><code>| . dump( $config_params ) . qq|</span></span>|, |
{ |
148 |
qq|<span class="frey-popdown">default<span><code>| . dump( $default ) . qq|</span></span>|, |
'Config' => $config_params, |
149 |
) if $form; |
'Default' => $default |
150 |
|
}, |
151 |
|
}; |
152 |
|
|
153 |
return ($html,$default) if wantarray; |
return ($html,$default) if wantarray; |
154 |
return $html; |
return $html; |