CVars: beim Autovivifien gültigen Wert für selects forçieren
[kivitendo-erp.git] / SL / DB / CustomVariableConfig.pm
index 203f83a..32b0b1c 100644 (file)
@@ -5,6 +5,8 @@ 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;
@@ -87,4 +89,11 @@ sub has_flag {
   return $self->processed_flags()->{$flag};
 }
 
+sub type_dependant_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;