]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/DB/Project.pm
Lange Datenbankfelder bei bestimmten Lieferantenfeldern
[kivitendo-erp.git] / SL / DB / Project.pm
index ba6f12f0a744046a6ab035f892323472743f337c..3f3e88ddbcb434c8328bd97cb4c0d87d71a95d87 100644 (file)
@@ -8,7 +8,7 @@ use SL::DB::MetaSetup::Project;
 use SL::DB::Manager::Project;
 
 use SL::DB::Helper::CustomVariables(
 use SL::DB::Manager::Project;
 
 use SL::DB::Helper::CustomVariables(
-  module      => 'Project',
+  module      => 'Projects',
   cvars_alias => 1,
 );
 
   cvars_alias => 1,
 );
 
@@ -48,6 +48,28 @@ sub is_projectnumber_unique {
   return !SL::DB::Manager::Project->get_first(where => \@filter);
 }
 
   return !SL::DB::Manager::Project->get_first(where => \@filter);
 }
 
+sub full_description {
+  my ($self, %params) = @_;
+
+  $params{style} ||= 'both';
+  my $description;
+
+  if ($params{style} =~ m/number/) {
+    $description = $self->projectnumber;
+
+  } elsif ($params{style} =~ m/description/) {
+    $description = $self->description;
+
+  } else {
+    $description = $self->projectnumber;
+    if ($self->description && do { my $desc = quotemeta $self->description; $self->projectnumber !~ m/$desc/ }) {
+      $description .= ' (' . $self->description . ')';
+    }
+  }
+
+  return $description;
+}
+
 1;
 
 __END__
 1;
 
 __END__
@@ -83,6 +105,31 @@ Returns trueish if the project number is not used for any other
 project in the database. Also returns trueish if no project number has
 been set yet.
 
 project in the database. Also returns trueish if no project number has
 been set yet.
 
+=item C<full_description %params>
+
+Returns a full description for the project which can consist of the
+project number, its description or both. This is determined by the
+parameter C<style> which defaults to C<both>:
+
+=over 2
+
+=item C<both>
+
+Returns the project's number followed by its description in
+parenthesis (e.g. "12345 (Secret Combinations)"). If the project's
+description is already part of the project's number then it will not
+be appended.
+
+=item C<projectnumber> (or simply C<number>)
+
+Returns only the project's number.
+
+=item C<projectdescription> (or simply C<description>)
+
+Returns only the project's description.
+
+=back
+
 =back
 
 =head1 AUTHOR
 =back
 
 =head1 AUTHOR