'You must submit a begin date.', self::END_BEFORE_BEGIN_ERROR => 'End date must not be earlier then start date.', self::BEGIN_IN_FUTURE_ERROR => 'The begin date cannot be in the future.', self::MISSING_ACTIVITY_ERROR => 'A timesheet must have an activity.', self::MISSING_PROJECT_ERROR => 'A timesheet must have a project.', self::ACTIVITY_PROJECT_MISMATCH_ERROR => 'Project mismatch, project specific activity and timesheet project are different.', self::DISABLED_ACTIVITY_ERROR => 'Cannot start a disabled activity.', self::DISABLED_PROJECT_ERROR => 'Cannot start a disabled project.', self::DISABLED_CUSTOMER_ERROR => 'Cannot start a disabled customer.', self::START_DISALLOWED => 'You are not allowed to start this timesheet record.', self::PROJECT_NOT_STARTED => 'The project has not started at that time.', self::PROJECT_ALREADY_ENDED => 'The project is finished at that time.', ]; public $message = 'This timesheet has invalid settings.'; public function getTargets() { return self::CLASS_CONSTRAINT; } }