$attributes{value} = 1 unless defined $attributes{value};
my $label = delete $attributes{label};
my $checkall = delete $attributes{checkall};
+ my $for_submit = delete $attributes{for_submit};
if ($attributes{checked}) {
$attributes{checked} = 'checked';
delete $attributes{checked};
}
- my $code = $self->html_tag('input', undef, %attributes, name => $name, type => 'checkbox');
+ my $code = '';
+ $code .= $self->hidden_tag($name, 0, %attributes, id => $attributes{id} . '_hidden') if $for_submit;
+ $code .= $self->html_tag('input', undef, %attributes, name => $name, type => 'checkbox');
$code .= $self->html_tag('label', $label, for => $attributes{id}) if $label;
$code .= $self->javascript(qq|\$('#$attributes{id}').checkall('$checkall');|) if $checkall;
$::request->{layout}->add_javascripts('autocomplete_customer.js');
$self->hidden_tag($name, (ref $value && $value->can('id') ? $value->id : ''), class => 'customer_autocomplete') .
- $self->input_tag("$name_e\_name", (ref $value && $value->can('name')) ? $value->name : '', %params);
+ $self->input_tag('', (ref $value && $value->can('name')) ? $value->name : '', id => $self->name_to_id("$name_e\_name"), %params);
}
# simple version with select_tag
sub areainput_tag {
my ($self, $name, $value, %attributes) = _hashify(3, @_);
- my ($rows, $cols);
- my $min = delete $attributes{min_rows} || 1;
-
- if (exists $attributes{cols}) {
- $cols = delete $attributes{cols};
- $rows = $::form->numtextrows($value, $cols);
- } else {
- $rows = delete $attributes{rows} || 1;
- }
+ my $cols = delete $attributes{cols} || delete $attributes{size};
+ my $minrows = delete $attributes{min_rows} || 1;
+ my $maxrows = delete $attributes{max_rows};
+ my $rows = $::form->numtextrows($value, $cols, $maxrows, $minrows);
return $rows > 1
- ? $self->textarea_tag($name, $value, %attributes, rows => max($rows, $min), ($cols ? (cols => $cols) : ()))
- : $self->input_tag($name, $value, %attributes, ($cols ? (size => $cols) : ()));
+ ? $self->textarea_tag($name, $value, %attributes, rows => $rows, cols => $cols)
+ : $self->input_tag($name, $value, %attributes, size => $cols);
}
sub multiselect2side {
$url_params{ $pager->form_params->[0] } = delete $url_params{page};
$url_params{ $pager->form_params->[1] } = delete $url_params{per_page} if exists $url_params{per_page};
- return $params{models}->get_callback(%url_params);
+ return $models->get_callback(%url_params);
},
%params,
);