X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FProject.pm;h=df5fe09ec2e24d17cce4f335ac8f48db135e8500;hb=3b249feb1cf3b3dd91dfa3038ef8f694db251988;hp=3f3e88ddbcb434c8328bd97cb4c0d87d71a95d87;hpb=b2e1809f6b6d8852ab0086dcc61ae9540c18b83f;p=kivitendo-erp.git diff --git a/SL/DB/Project.pm b/SL/DB/Project.pm index 3f3e88ddb..df5fe09ec 100644 --- a/SL/DB/Project.pm +++ b/SL/DB/Project.pm @@ -48,6 +48,12 @@ sub is_projectnumber_unique { return !SL::DB::Manager::Project->get_first(where => \@filter); } +sub displayable_name { + my ($self) = @_; + + return join ' ', grep $_, $self->projectnumber, $self->description; +} + sub full_description { my ($self, %params) = @_; @@ -60,6 +66,14 @@ sub full_description { } elsif ($params{style} =~ m/description/) { $description = $self->description; + } elsif (($params{style} =~ m/full/) && $self->customer) { + $description = $self->projectnumber; + if ($self->description && do { my $desc = quotemeta $self->description; $self->projectnumber !~ m/$desc/ }) { + $description .= ' ' . $self->description; + } + + $description = $self->customer->name . " (${description})"; + } else { $description = $self->projectnumber; if ($self->description && do { my $desc = quotemeta $self->description; $self->projectnumber !~ m/$desc/ }) { @@ -105,6 +119,11 @@ 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. +=item C + +Returns a human-readable description of the project, consisting of projectnumber +and description. + =item C Returns a full description for the project which can consist of the @@ -128,6 +147,16 @@ Returns only the project's number. Returns only the project's description. +=item C + +Returns the customer name followed by the project number and project +description in parenthesis (e.g. "Evil Corp (12345 World +domination)"). If the project's description is already part of the +project's number then it will not be appended. + +If this project isn't linked to a customer then the style C is +used instead. + =back =back