X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FCustomVariableConfig.pm;h=6ba2238af9af37de28101792a8f066663dd00c6f;hb=b775c378552e6b5bf59f98046cdf4e577cd351df;hp=32b0b1c171deb99894c4401747db6c7e219bc843;hpb=def4a030c8823e1cf3ebbe9291b532223a20e9d2;p=kivitendo-erp.git diff --git a/SL/DB/CustomVariableConfig.pm b/SL/DB/CustomVariableConfig.pm index 32b0b1c17..6ba2238af 100644 --- a/SL/DB/CustomVariableConfig.pm +++ b/SL/DB/CustomVariableConfig.pm @@ -11,6 +11,13 @@ 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)]); @@ -30,8 +37,8 @@ sub validate { use constant OPTION_DEFAULTS => { MAXLENGTH => 75, - WIDTH => 30, - HEIGHT => 5, + WIDTH => 225, + HEIGHT => 90, }; sub processed_options { @@ -68,7 +75,7 @@ sub processed_flags { } my $flags = $self->flags; - my $ret; + my $ret = {}; foreach my $flag (split m/:/, $flags) { if ( $flag =~ m/(.*?)=(.*)/ ) { @@ -89,11 +96,32 @@ sub has_flag { return $self->processed_flags()->{$flag}; } -sub type_dependant_default_value { +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', + htmlfield => 'text_value', + text => 'text_value', + textfield => 'text_value', + select => 'text_value' + }->{$type}; +} + 1;