* do not traverse into invoice template subdirectories (#3735) * fix security open api definition * fix currency can be null, removed fluent interface * merged release 1.30.3 * allow to pre-fill timesheet metafields via URL * fix api description * added test accounts with simpler names and password * upgrade to Symfony 6.2 * removed FrameworkExtraBundle (by Sensio) and replaced with new native SF annotations * fixed symfony 6.2 deprecations * fixed #3768
30 lines
726 B
PHP
30 lines
726 B
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Kimai time-tracking app.
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace App\Validator\Constraints;
|
|
|
|
use Symfony\Component\Validator\Constraint;
|
|
|
|
#[\Attribute(\Attribute::TARGET_CLASS)]
|
|
final class Project extends Constraint
|
|
{
|
|
public const END_BEFORE_BEGIN_ERROR = 'kimai-project-00';
|
|
|
|
protected const ERROR_NAMES = [
|
|
self::END_BEFORE_BEGIN_ERROR => 'End date must not be earlier then start date.',
|
|
];
|
|
|
|
public string $message = 'This project has invalid settings.';
|
|
|
|
public function getTargets(): string|array
|
|
{
|
|
return self::CLASS_CONSTRAINT;
|
|
}
|
|
}
|