Travel reimburse feature added
This commit is contained in:
89
pub/api/v1/office/travel-reimburse/index.php
Normal file
89
pub/api/v1/office/travel-reimburse/index.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
use api\classes\API_office_travel_reimburse;
|
||||
|
||||
session_start();
|
||||
|
||||
require_once "{$_SERVER['DOCUMENT_ROOT']}/api/classes/API_office_travel_reimburse.php";
|
||||
require_once "{$_SERVER['DOCUMENT_ROOT']}/api/classes/API_companies.php";
|
||||
|
||||
$API_office_travel_reimburse = new API_office_travel_reimburse();
|
||||
|
||||
if (!$GLOBALS['modules_enabled']['office']) {
|
||||
echo '405 Not Allowed';
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($API_office_travel_reimburse->request_method === 'GET') {
|
||||
$API_office_travel_reimburse->checkPermissions('office-travel-reimburse', 'RO');
|
||||
|
||||
$_GET['builder'] = [1 => ['where' => [0 => 'user_uuid', 1 => $_SESSION['user']['user_uuid']]]];
|
||||
|
||||
$travel_reimbursements = $API_office_travel_reimburse->getTravelReimburse();
|
||||
$API_office_travel_reimburse->apiOutput($code = 200, $travel_reimbursements);
|
||||
|
||||
} elseif ($API_office_travel_reimburse->request_method === 'POST') {
|
||||
|
||||
$API_office_travel_reimburse->checkPermissions('office-travel-reimburse', 'RW');
|
||||
$API_office_travel_reimburse->return_url = false;
|
||||
$API_office_travel_reimburse->setTravelReimburseCompany();
|
||||
$API_office_travel_reimburse->postedData['user_uuid'] = $_SESSION['user']['user_uuid'];
|
||||
|
||||
$requiredFields = [
|
||||
'user_uuid' => ['type' => 'uuid'],
|
||||
'departure_postcode' => ['type' => 'string'],
|
||||
'destination_postcode' => ['type' => 'string'],
|
||||
'travel_date' => ['type' => 'date'],
|
||||
'travel_distance' => ['type' => 'int'],
|
||||
'office_travelreimburse_company_uuid' => ['type' => 'uuid'],
|
||||
'office_travelreimburse_company_name' => ['type' => 'string'],
|
||||
'homework' => ['type' => 'int']
|
||||
];
|
||||
|
||||
$optionalFields = [
|
||||
'travel_description' => ['type' => 'string']
|
||||
];
|
||||
|
||||
$API_office_travel_reimburse->validateData($requiredFields, $optionalFields);
|
||||
$API_office_travel_reimburse->createTravelReimburse();
|
||||
|
||||
} elseif ($API_office_travel_reimburse->request_method === 'PUT') {
|
||||
# Only superuser can delete permission due to fact that the backend needs programming when setting a permission
|
||||
|
||||
$API_office_travel_reimburse->checkPermissions('office-travel-reimburse', 'RW');
|
||||
$API_office_travel_reimburse->return_url = false;
|
||||
$API_office_travel_reimburse->setTravelReimburseCompany();
|
||||
$API_office_travel_reimburse->postedData['user_uuid'] = $_SESSION['user']['user_uuid'];
|
||||
|
||||
$requiredFields = [
|
||||
'reimburse_uuid' => ['type' => 'uuid'],
|
||||
'user_uuid' => ['type' => 'uuid'],
|
||||
'departure_postcode' => ['type' => 'string'],
|
||||
'destination_postcode' => ['type' => 'string'],
|
||||
'travel_date' => ['type' => 'date'],
|
||||
'travel_distance' => ['type' => 'int'],
|
||||
'office_travelreimburse_company_uuid' => ['type' => 'uuid'],
|
||||
'office_travelreimburse_company_name' => ['type' => 'string'],
|
||||
'homework' => ['type' => 'boolean']
|
||||
];
|
||||
|
||||
$optionalFields = [
|
||||
'travel_description' => ['type' => 'string'],
|
||||
];
|
||||
|
||||
$API_office_travel_reimburse->validateData($requiredFields, $optionalFields);
|
||||
$API_office_travel_reimburse->updateTravelReimburse();
|
||||
|
||||
} elseif ($API_office_travel_reimburse->request_method === 'DELETE') {
|
||||
# Only superuser can delete permission due to fact that the backend needs programming when setting a permission
|
||||
$API_office_travel_reimburse->checkPermissions('office-travel-reimburse', 'RW');
|
||||
$API_office_travel_reimburse->return_url = false;
|
||||
|
||||
$requiredFields = [
|
||||
'reimburse_uuid' => ['type' => 'uuid']
|
||||
];
|
||||
|
||||
$API_office_travel_reimburse->validateData($requiredFields);
|
||||
$API_office_travel_reimburse->deleteTravelReimburse();
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user