Files

51 lines
1.7 KiB
PHP

<?php
use api\classes\API_portalsettings;
use api\classes\API_office_travel_reimburse;
session_start();
require_once "{$_SERVER['DOCUMENT_ROOT']}/api/classes/API_portalsettings.php";
require_once "{$_SERVER['DOCUMENT_ROOT']}/api/classes/API_office_travel_reimburse.php";
$API_portalsettings = new API_portalsettings();
if (!$GLOBALS['modules_enabled']['office']) {
echo '405 Not Allowed';
exit;
}
if ($API_portalsettings->request_method === 'GET') {
$API_portalsettings->checkPermissions('office-travel-reimburse', 'RO');
$travel_reimbursements = $API_portalsettings->getTravelReimburseSettings();
$API_portalsettings->apiOutput($code = 200, $travel_reimbursements);
} elseif ($API_portalsettings->request_method === 'PUT') {
$API_portalsettings->checkPermissions('admin-portalsettings', 'RW');
$API_office_travel_reimburse = new API_office_travel_reimburse();
# Edit the portal settings of the platform
$requiredFields = [
'office_travelreimburse_cents_homework_incl' => ['type' => 'int'],
'office_travelreimburse_cents_homework_excl' => ['type' => 'int'],
'office_travelreimburse_cents_business_incl' => ['type' => 'int'],
'office_travelreimburse_cents_business_excl' => ['type' => 'int'],
'portal_uuid' => ['type' => 'uuid'],
];
if (count($API_portalsettings->getPortalSettings()) !== 1) {
$API_portalsettings->apiOutput(400, ['error' => 'Invalid portal_uuid']);
}
$API_portalsettings->validateData($requiredFields);
# Update the permission
$API_portalsettings->updatePortalSettingsOfficeTravelReimburse();
$API_portalsettings->apiOutput(200, ['success' => 'portal settings updated successfully.']);
}