]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Presenter/Part.pm
ProjectPicker: Strict-Modus & Warnungen von jshint beseitigt
[mfinanz.git] / SL / Presenter / Part.pm
index d8491ecb525c905f88a7a421411d5c9277b175c9..4bd45ca41130d841e87b60f2ab7cbb5756f5634b 100644 (file)
@@ -7,7 +7,7 @@ use SL::DB::PartClassification;
 use SL::Locale::String qw(t8);
 
 use Exporter qw(import);
-our @EXPORT = qw(part_picker part select_classification classification_abbreviation type_abbreviation separate_abbreviation);
+our @EXPORT = qw(part_picker part select_classification classification_abbreviation type_abbreviation separate_abbreviation typeclass_abbreviation);
 
 use Carp;
 
@@ -39,7 +39,7 @@ sub part_picker {
 
   my $ret =
     $self->input_tag($name, (ref $value && $value->can('id') ? $value->id : ''), class => "@classes", type => 'hidden', id => $id) .
-    join('', map { $params{$_} ? $self->input_tag("", delete $params{$_}, id => "${id}_${_}", type => 'hidden') : '' } qw(part_type unit convertible_unit)) .
+    join('', map { $params{$_} ? $self->input_tag("", delete $params{$_}, id => "${id}_${_}", type => 'hidden') : '' } qw(part_type classification_id unit convertible_unit)) .
     $self->input_tag("", ref $value ? $value->displayable_name : '', id => "${id}_name", %params);
 
   $::request->layout->add_javascripts('autocomplete_part.js');
@@ -84,6 +84,12 @@ sub classification_abbreviation {
   $obj && $obj->abbreviation ? t8($obj->abbreviation) : '';
 }
 
+sub typeclass_abbreviation {
+  my ($self, $part) = @_;
+  return '' if !$part || !$part->isa('SL::DB::Part');
+  return $self->type_abbreviation($part->part_type).$self->classification_abbreviation($part->classification_id);
+}
+
 #
 # shortcut for article type
 #