Pfad in autocomplete_customer angepasst
[kivitendo-erp.git] / SL / Presenter / Part.pm
index 599d093..4b7b15d 100644 (file)
@@ -10,7 +10,7 @@ our @EXPORT = qw(part_picker);
 sub part_picker {
   my ($self, $name, $value, %params) = @_;
 
-  $value = SL::DB::Manager::Part->find_by(id => $value) if !ref $value;
+  $value = SL::DB::Manager::Part->find_by(id => $value) if $value && !ref $value;
   my $id = delete($params{id}) || $self->name_to_id($name);
 
   my $ret =
@@ -18,6 +18,8 @@ sub part_picker {
     join('', map { $params{$_} ? $self->input_tag("", delete $params{$_}, id => "${id}_${_}", type => 'hidden') : '' } qw(column type unit convertible_unit)) .
     $self->input_tag("", (ref $value && $value->can('description')) ? $value->description : '', id => "${id}_name", %params);
 
+  $::request->presenter->need_reinit_widgets($id);
+
   $self->html_tag('span', $ret, class => 'part_picker');
 }
 
@@ -55,11 +57,6 @@ C<PART PICKER SPECIFICATION>.
 
 C<$value> can be a parts id or a C<Rose::DB:Object> instance.
 
-All-in-one picker widget for parts. The name will be both id and name of the
-resulting hidden C<id> 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 L</PART PICKER SPECIFICATION>.
-
 If C<%params> contains C<type> only parts of this type will be used
 for autocompletion. You may comma separate multiple types as in
 C<part,assembly>.
@@ -160,13 +157,7 @@ A clickable icon (popup trigger) attached to the dummy input, which triggers the
 
 =head1 BUGS
 
-=over 4
-
-=item *
-
-Popup triggers are not displayed with css menu, because the spritemap is not loaded.
-
-=back
+None atm :)
 
 =head1 AUTHOR