137 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| declare(strict_types=1);
 | |
| 
 | |
| use Toby\Domain\Enums\EmploymentForm;
 | |
| use Toby\Domain\Enums\VacationType;
 | |
| use Toby\Domain\VacationTypeConfigRetriever;
 | |
| 
 | |
| return [
 | |
|     VacationType::Vacation->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => true,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::OnRequest->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => true,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::TimeInLieu->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Sick->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Unpaid->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => false,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Special->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => false,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Childcare->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => false,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Training->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     VacationType::Volunteering->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Volunteering->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => true,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::Absence->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => false,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::CommissionContract,
 | |
|             EmploymentForm::B2bContract,
 | |
|             EmploymentForm::BoardMemberContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => true,
 | |
|     ],
 | |
|     VacationType::HomeOffice->value => [
 | |
|         VacationTypeConfigRetriever::KEY_TECHNICAL_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_ADMINISTRATIVE_APPROVAL => false,
 | |
|         VacationTypeConfigRetriever::KEY_BILLABLE => true,
 | |
|         VacationTypeConfigRetriever::KEY_HAS_LIMIT => false,
 | |
|         VacationTypeConfigRetriever::KEY_AVAILABLE_FOR => [
 | |
|             EmploymentForm::EmploymentContract,
 | |
|             EmploymentForm::CommissionContract,
 | |
|             EmploymentForm::B2bContract,
 | |
|             EmploymentForm::BoardMemberContract,
 | |
|         ],
 | |
|         VacationTypeConfigRetriever::KEY_IS_VACATION => false,
 | |
|     ],
 | |
| ];
 |