X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FManager.pm;h=d456e76b086251b67ddbf991b1b2ff9e324a3167;hb=2fd17923352490ab2c797c641a9c1fd19f8320f4;hp=8ebc362e26bf950d047a0a4471479106784cb26f;hpb=e055700faea1906bea6c03184ba4516b57cac887;p=kivitendo-erp.git diff --git a/SL/DB/Helper/Manager.pm b/SL/DB/Helper/Manager.pm index 8ebc362e2..d456e76b0 100644 --- a/SL/DB/Helper/Manager.pm +++ b/SL/DB/Helper/Manager.pm @@ -18,6 +18,17 @@ sub find_by { return $class->get_all(query => [ @_ ], limit => 1)->[0]; } +sub find_by_or_create { + my $class = shift; + + my $found; + eval { + $found = $class->find_by(@_); + 1; + } or die $@; + return defined $found ? $found : $class->object_class->new; +} + sub get_first { shift->get_all( @_,