X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FCustomVariableConfig.pm;h=5404ebff8649fd3a00cf3384c6a1c2f54b5f0cef;hb=8b17f06f580736d3ebcb120581ad20efffe9a678;hp=203f83a90d0a374d7725dc680a812a86cf727e5d;hpb=a12274fdfe51e4ca9ea0dd91bb94b147bb641a29;p=kivitendo-erp.git diff --git a/SL/DB/CustomVariableConfig.pm b/SL/DB/CustomVariableConfig.pm index 203f83a90..5404ebff8 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,11 @@ 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]; +} + 1;