38 |
$self->load_class( $self->class ); |
$self->load_class( $self->class ); |
39 |
my @required = |
my @required = |
40 |
grep { |
grep { |
41 |
defined $_ && $_->can('name') && !defined( $self->params->{ $_->name } ) |
defined $_ && $_->can('name') && |
42 |
|
! defined( $self->params->{ $_->name } ) && |
43 |
|
! $_->is_lazy |
44 |
} |
} |
45 |
map { |
map { |
46 |
my $attr = $self->class->meta->get_attribute($_); |
my $attr = $self->class->meta->get_attribute($_); |
47 |
$attr->is_required && $attr; |
blessed $attr && $attr->is_required && $attr; |
48 |
} $self->class->meta->get_attribute_list; |
} $self->class->meta->get_attribute_list; |
49 |
|
|
50 |
warn "## required = ",dump( map { $_->name } @required ), " for ", $self->class if @required && $self->debug; |
warn "## required = ",dump( map { $_->name } @required ), " for ", $self->class if @required && $self->debug; |
84 |
my ( $self ) = @_; |
my ( $self ) = @_; |
85 |
my @required = $self->required; |
my @required = $self->required; |
86 |
if ( ! @required ) { |
if ( ! @required ) { |
87 |
warn "all params available ", dump( $self->params ), " not creating form"; |
warn "all params available ", dump( $self->params ), " not creating form" if $self->debug; |
88 |
return (undef,$self->params) if wantarray; |
return (undef,$self->params) if wantarray; |
89 |
return; |
return; |
90 |
} else { |
} else { |
104 |
my $form; |
my $form; |
105 |
|
|
106 |
foreach my $name ( grep { ! $class->meta->get_attribute($_)->is_lazy } $self->attributes ) { |
foreach my $name ( grep { ! $class->meta->get_attribute($_)->is_lazy } $self->attributes ) { |
107 |
my $attr_type; |
my $attr_type = ''; |
108 |
my $type = $name =~ m/^pass/ ? 'password' : 'text'; |
my $type = $name =~ m/^pass/ ? 'password' : 'text'; |
109 |
my $label = $name; |
my $label = $name; |
110 |
my $value = ''; |
my $value = ''; |
137 |
warn "wired attribute $name"; |
warn "wired attribute $name"; |
138 |
} |
} |
139 |
|
|
|
$value_html = qq|<input type="$type" name="$name" title="$attr_type" value="$value">| unless $value_html; |
|
|
|
|
140 |
$default->{$name} = $value unless defined $default->{$name}; |
$default->{$name} = $value unless defined $default->{$name}; |
141 |
|
|
142 |
|
$value_html = qq|<input type="$type" name="$name" title="$attr_type" value="$value">| unless $value_html; |
143 |
|
|
144 |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
145 |
$form .= qq|<label for="$name"$label_title>$label</label>| . $value_html; |
$form .= qq|<label for="$name"$label_title>$label</label>| . $value_html; |
146 |
} |
} |
147 |
my $html = qq|<h1>$class params</h1><form method="post">$form<input type="submit" value="Run $class"></form>|; |
my $html = qq|<h1>$class params</h1><form method="post">$form<input type="submit" value="Run $class"></form>|; |
148 |
push @{ $self->status }, { 'Params' => |
push @{ $self->status }, { |
149 |
{ |
$self->editor( $self->class ) => { |
150 |
'Config' => $config_params, |
params => $self->params, |
151 |
'Default' => $default |
config_params => $config_params, |
152 |
|
default => $default |
153 |
}, |
}, |
154 |
}; |
}; |
155 |
|
|