X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FPlugin%2FL.pm;h=476b60a702c2787c9b82e9a5233b73a454522993;hb=8add0ccd27ab0ff17256b74dccd1f761c0d09182;hp=0d159dc85f650f3a240731785c4b91f481b793a1;hpb=3c0769d8f8720ed0b9b0b81e6a6128360a70c932;p=kivitendo-erp.git diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 0d159dc85..476b60a70 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -106,6 +106,7 @@ sub checkbox_tag { $attributes{id} ||= $self->name_to_id($name); $attributes{value} = 1 unless defined $attributes{value}; my $label = delete $attributes{label}; + my $checkall = delete $attributes{checkall}; if ($attributes{checked}) { $attributes{checked} = 'checked'; @@ -115,6 +116,7 @@ sub checkbox_tag { my $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; return $code; } @@ -222,7 +224,7 @@ sub options_for_select { my @elements = (); push @elements, [ undef, $options{empty_title} || '' ] if $options{with_empty}; push @elements, map [ - $value_title_sub ? $value_title_sub->($_) : ( + $value_title_sub ? @{ $value_title_sub->($_) } : ( $access->($_, 0, $value_key, $value_sub), $access->($_, 1, $title_key, $title_sub), ) @@ -289,6 +291,40 @@ sub date_tag { ) : ''); } +sub customer_picker { + my ($self, $name, $value, %params) = @_; + my $name_e = _H($name); + + $self->hidden_tag($name, (ref $value && $value->can('id')) ? $value->id : '') . + $self->input_tag("$name_e\_name", (ref $value && $value->can('name')) ? $value->name : '', %params) . + $self->javascript(< contains a key C