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)]);
use constant OPTION_DEFAULTS =>
{
MAXLENGTH => 75,
- WIDTH => 30,
- HEIGHT => 5,
+ WIDTH => 225,
+ HEIGHT => 90,
};
sub processed_options {
}
my $flags = $self->flags;
- my $ret;
+ my $ret = {};
foreach my $flag (split m/:/, $flags) {
if ( $flag =~ m/(.*?)=(.*)/ ) {
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',
+ htmlfield => 'text_value',
+ text => 'text_value',
+ textfield => 'text_value',
+ select => 'text_value'
+ }->{$type};
+}
+
1;