From 9e278d06884640f171e3fb3b575adee80f718651 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 12 Jul 2013 10:01:06 +0200 Subject: [PATCH] =?utf8?q?Partpicker:=20ID-Attribut=20manuell=20angeben=20?= =?utf8?q?k=C3=B6nnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/Presenter/Part.pm | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/SL/Presenter/Part.pm b/SL/Presenter/Part.pm index 8ac847e3d..44d701e67 100644 --- a/SL/Presenter/Part.pm +++ b/SL/Presenter/Part.pm @@ -9,15 +9,15 @@ our @EXPORT = qw(part_picker); sub part_picker { my ($self, $name, $value, %params) = @_; - my $name_e = $self->escape($name); $value = SL::DB::Manager::Part->find_by(id => $value) if !ref $value; + my $id = delete($params{id}) || $self->name_to_id($name); my $ret = - $self->input_tag($name, (ref $value && $value->can('id') ? $value->id : ''), class => 'part_autocomplete', type => 'hidden') . - $self->input_tag("", delete $params{type}, id => $self->name_to_id("$name_e\_type"), type => 'hidden') . - $self->input_tag("", (ref $value && $value->can('description')) ? $value->description : '', id => $self->name_to_id("$name_e\_name"), %params) . - $self->input_tag("", delete $params{column}, id => $self->name_to_id("$name_e\_column"), type => 'hidden'); + $self->input_tag($name, (ref $value && $value->can('id') ? $value->id : ''), class => 'part_autocomplete', type => 'hidden', id => $id) . + $self->input_tag("", delete $params{type}, id => "${id}_type", type => 'hidden') . + $self->input_tag("", (ref $value && $value->can('description')) ? $value->description : '', id => "${id}_name", %params) . + $self->input_tag("", delete $params{column}, id => "${id}_column", type => 'hidden'); $self->html_tag('span', $ret, class => 'part_picker'); } @@ -44,17 +44,21 @@ see L =over 4 -=item C +=item C -All-in-one picker widget for parts. The name will be both id and name of the -resulting hidden C input field. An additional dummy input will be generated -which is used to find parts. For a detailed description of it's behaviour, see -section C. +All-in-one picker widget for parts. The name will be both id and name +of the resulting hidden C input field (but the ID can be +overwritten with C<$params{id}>). -C can be an id or C instance. +An additional dummy input will be generated which is used to find +parts. For a detailed description of it's behaviour, see section +C. -If C contains C only parts of this type will be used for -autocompletion. You may comma separate multiple types as in C. +C<$value> can be a parts id or a C instance. + +If C<%params> contains C only parts of this type will be used +for autocompletion. You may comma separate multiple types as in +C. Obsolete parts will by default not displayed for selection. However they are accepted as default values and can persist during updates. As with other -- 2.20.1