X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FManager.pm;h=b4d66da42953ce0ca86181ae99e2ec47eb6fe823;hb=2b9e50ba726ae1cebd2d51fea7635dedeeae5e1a;hp=529053338a8c4c4f21824bbe02f20966a55d4b4e;hpb=624c53dc0cb5056d2c259aec6f815e69b8313ae0;p=kivitendo-erp.git diff --git a/SL/DB/Helper/Manager.pm b/SL/DB/Helper/Manager.pm index 529053338..b4d66da42 100644 --- a/SL/DB/Helper/Manager.pm +++ b/SL/DB/Helper/Manager.pm @@ -18,8 +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(@_); }; + return defined $found ? $found : $class->object_class->new; +} + sub get_first { shift->get_all( + @_, limit => 1, )->[0]; }