]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Presenter/Part.pm
Artikel-Klassifizierung
[mfinanz.git] / SL / Presenter / Part.pm
index 1f96cbe7b93aeeb21493f4804cfd88708c9bdda6..c3bbea2bce2cd901ca44a93340d39efb5744bc60 100644 (file)
@@ -3,9 +3,10 @@ package SL::Presenter::Part;
 use strict;
 
 use SL::DB::Part;
+use SL::DB::Manager::PartsClassification;
 
 use Exporter qw(import);
-our @EXPORT = qw(part_picker part);
+our @EXPORT = qw(part_picker part select_classification classification_abbreviation type_abbreviation type_and_classification);
 
 use Carp;
 
@@ -46,6 +47,48 @@ sub part_picker {
   $self->html_tag('span', $ret, class => 'part_picker');
 }
 
+#
+# Must be addapted to new type table
+#
+sub type_abbreviation {
+  my ($self, $part_type) = @_;
+  $main::lxdebug->message(LXDebug->DEBUG2(),"parttype=".$part_type);
+  return $::locale->text('Assembly (typeabbreviation)')   if $part_type eq 'assembly';
+  return $::locale->text('Part (typeabbreviation)')       if $part_type eq 'part';
+  return $::locale->text('Assortment (typeabbreviation)') if $part_type eq 'assortment';
+  return $::locale->text('Service (typeabbreviation)');
+}
+
+#
+# Translations for Abbreviations:
+#
+# $::locale->text('None (typeabbreviation)')
+# $::locale->text('Purchase (typeabbreviation)')
+# $::locale->text('Sales (typeabbreviation)')
+# $::locale->text('Merchandise (typeabbreviation)')
+# $::locale->text('Production (typeabbreviation)')
+#
+# and for descriptions
+# $::locale->text('Purchase')
+# $::locale->text('Sales')
+# $::locale->text('Merchandise')
+# $::locale->text('Production')
+
+sub classification_abbreviation {
+  my ($self, $id) = @_;
+  $main::lxdebug->message(LXDebug->DEBUG2(),"classif=".$id);
+  return $::locale->text(SL::DB::Manager::PartsClassification->get_abbreviation($id));
+}
+
+sub select_classification {
+  my ($self, $name, %attributes) = @_;
+  $attributes{value_key} = 'id';
+  $attributes{title_key} = 'description';
+  my $collection = SL::DB::Manager::PartsClassification->get_all_sorted();
+  $_->description($::locale->text($_->description)) for @{ $collection };
+  return $self->select_tag( $name, $collection, %attributes );
+}
+
 1;
 
 __END__