25 if (!defined(
'NOTOKENRENEWAL')) {
26 define(
'NOTOKENRENEWAL', 1);
28 if (!defined(
'NOREQUIREMENU')) {
29 define(
'NOREQUIREMENU',
'1');
31 if (!defined(
'NOREQUIREHTML')) {
32 define(
'NOREQUIREHTML',
'1');
34 if (!defined(
'NOREQUIREAJAX')) {
35 define(
'NOREQUIREAJAX',
'1');
37 if (!defined(
'NOREQUIRESOC')) {
38 define(
'NOREQUIRESOC',
'1');
40 if (!defined(
'NOCSRFCHECK')) {
41 define(
'NOCSRFCHECK',
'1');
45 require
'../../main.inc.php';
46 require_once DOL_DOCUMENT_ROOT.
'/expensereport/class/expensereport.class.php';
47 require_once DOL_DOCUMENT_ROOT.
'/expensereport/class/expensereport_ik.class.php';
50 $langs->loadlangs(array(
'errors',
'trips'));
52 $fk_expense =
GETPOST(
'fk_expense',
'int');
53 $fk_c_exp_tax_cat =
GETPOST(
'fk_c_exp_tax_cat',
'int');
54 $vatrate =
GETPOST(
'vatrate',
'int');
58 $result =
restrictedArea($user,
'expensereport', $fk_expense,
'expensereport');
66 $rep =
new stdClass();
67 $rep->response_status = 0;
70 $rep->errorMessage =
'';
73 if (empty($fk_expense) || $fk_expense < 0) {
74 $rep->errorMessage = $langs->transnoentitiesnoconv(
'ErrorBadValueForParameter', $fk_expense,
'fk_expense');
75 } elseif (empty($fk_c_exp_tax_cat) || $fk_c_exp_tax_cat < 0) {
76 $rep->errorMessage = $langs->transnoentitiesnoconv(
'ErrorBadValueForParameter', $fk_c_exp_tax_cat,
'fk_c_exp_tax_cat');
78 $rep->response_status =
'error';
82 if ($expense->fetch($fk_expense) <= 0) {
83 $rep->errorMessage = $langs->transnoentitiesnoconv(
'ErrorRecordNotFound');
84 $rep->response_status =
'error';
86 $userauthor =
new User($db);
87 if ($userauthor->fetch($expense->fk_user_author) <= 0) {
88 $rep->errorMessage = $langs->transnoentitiesnoconv(
'ErrorRecordNotFound');
89 $rep->response_status =
'error';
92 $result = $expense->fetch($fk_expense);
94 $result = $expense->computeTotalKm($fk_c_exp_tax_cat, $qty, $vatrate);
96 $rep->error = $result;
97 $rep->errorMessage = $langs->trans(
'errorComputeTtcOnMileageExpense');
98 $rep->response_status =
'error';
100 $rep->data = $result;
101 $rep->response_status =
'success';
107 echo json_encode($rep);
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
Class to manage Dolibarr users.
if(!defined('NOREQUIREMENU')) if(!function_exists("llxHeader")) top_httphead($contenttype= 'text/html', $forcenocache=0)
Show HTTP header.
Class to manage Trips and Expenses.
restrictedArea($user, $features, $objectid=0, $tableandshare= '', $feature2= '', $dbt_keyfield= 'fk_soc', $dbt_select= 'rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.