X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FCustomVariableConfig.pm;h=ab7f83b33700235dd009a3e6bf47156949277069;hb=230c9dcf5180f3ff56b18e0eb9680534afe16dce;hp=203f83a90d0a374d7725dc680a812a86cf727e5d;hpb=6ac47be4e3e318ea212ca595195b0b55a9c386a3;p=kivitendo-erp.git diff --git a/SL/DB/CustomVariableConfig.pm b/SL/DB/CustomVariableConfig.pm index 203f83a90..ab7f83b33 100644 --- a/SL/DB/CustomVariableConfig.pm +++ b/SL/DB/CustomVariableConfig.pm @@ -5,10 +5,19 @@ package SL::DB::CustomVariableConfig; use strict; +use List::MoreUtils qw(any); + use SL::DB::MetaSetup::CustomVariableConfig; use SL::DB::Manager::CustomVariableConfig; use SL::DB::Helper::ActsAsList; +__PACKAGE__->meta->add_relationship( + partsgroups => { + type => 'many to many', + map_class => 'SL::DB::CustomVariableConfigPartsgroup', + }, +); + __PACKAGE__->meta->initialize; __PACKAGE__->configure_acts_as_list(group_by => [qw(module)]); @@ -87,4 +96,31 @@ sub has_flag { return $self->processed_flags()->{$flag}; } +sub type_dependent_default_value { + my ($self) = @_; + + return $self->default_value if $self->type ne 'select'; + return (any { $_ eq $self->default_value } @{ $self->processed_options }) ? $self->default_value : $self->processed_options->[0]; +} + +sub value_col { + my ($self) = @_; + + my $type = $self->type; + + return { + bool => 'bool_value', + timestamp => 'timestamp_value', + date => 'timestamp_value', + number => 'number_value', + integer => 'number_value', + customer => 'number_value', + vendor => 'number_value', + part => 'number_value', + text => 'text_value', + textfield => 'text_value', + select => 'text_value' + }->{$type}; +} + 1;