From 5fe9a4404a125ea4fda5b408ee63b6bb58de863b Mon Sep 17 00:00:00 2001 From: jpb Date: Thu, 31 Mar 2022 16:43:37 +0200 Subject: [PATCH 1/3] add hook doactions on expensereport_rule --- htdocs/admin/expensereport_rules.php | 537 ++++++++++++++------------- htdocs/core/lib/functions.lib.php | 1 - 2 files changed, 274 insertions(+), 264 deletions(-) diff --git a/htdocs/admin/expensereport_rules.php b/htdocs/admin/expensereport_rules.php index 77fb8f24f82..286c9658c84 100644 --- a/htdocs/admin/expensereport_rules.php +++ b/htdocs/admin/expensereport_rules.php @@ -30,7 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/expensereport.lib.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport_rule.class.php'; - +//var_dump($conf); // Load translation files required by the page $langs->loadLangs(array("admin", "other", "trips", "errors", "dict")); @@ -38,300 +38,310 @@ if (!$user->admin) { accessforbidden(); } -//Init error -$error = false; -$message = false; +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('admin', 'dictionaryadmin','expensereport_rules')); -$action = GETPOST('action', 'aZ09'); -$id = GETPOST('id', 'int'); -$apply_to = GETPOST('apply_to'); -$fk_user = GETPOST('fk_user', 'int'); -$fk_usergroup = GETPOST('fk_usergroup', 'int'); - -$fk_c_type_fees = GETPOST('fk_c_type_fees'); -$code_expense_rules_type = GETPOST('code_expense_rules_type'); -$dates = dol_mktime(12, 0, 0, GETPOST('startmonth'), GETPOST('startday'), GETPOST('startyear')); -$datee = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); -$amount = GETPOST('amount'); - -$object = new ExpenseReportRule($db); -if (!empty($id)) { - $result = $object->fetch($id); - if ($result < 0) { - dol_print_error('', $object->error, $object->errors); - } +$parameters = array(); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } +if (empty($reshook)) { + //Init error + $error = false; + $message = false; + + $action = GETPOST('action', 'aZ09'); + $id = GETPOST('id', 'int'); + + $apply_to = GETPOST('apply_to'); + $fk_user = GETPOST('fk_user', 'int'); + $fk_usergroup = GETPOST('fk_usergroup', 'int'); + + $fk_c_type_fees = GETPOST('fk_c_type_fees'); + $code_expense_rules_type = GETPOST('code_expense_rules_type'); + $dates = dol_mktime(12, 0, 0, GETPOST('startmonth'), GETPOST('startday'), GETPOST('startyear')); + $datee = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); + $amount = GETPOST('amount'); + + $object = new ExpenseReportRule($db); + if (!empty($id)) { + $result = $object->fetch($id); + if ($result < 0) { + dol_print_error('', $object->error, $object->errors); + } + } // TODO do action -if ($action == 'save') { - $error = 0; + if ($action == 'save') { + $error = 0; - // check parameters - if (empty($apply_to)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportApplyTo")), null, 'errors'); - } - if (empty($fk_c_type_fees)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDomain")), null, 'errors'); - } - if (empty($code_expense_rules_type)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitOn")), null, 'errors'); - } - if (empty($dates)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDateStart")), null, 'errors'); - } - if (empty($datee)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDateEnd")), null, 'errors'); - } - if (empty($amount)) { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitAmount")), null, 'errors'); - } - - if (empty($error)) { - $object->setValues($_POST); - - if ($apply_to == 'U') { - $object->fk_user = (int) $fk_user; - $object->fk_usergroup = 0; - $object->is_for_all = 0; - } elseif ($apply_to == 'G') { - $object->fk_usergroup = (int) $fk_usergroup; - $object->fk_user = 0; - $object->is_for_all = 0; - } elseif ($apply_to == 'A') { - $object->is_for_all = 1; - $object->fk_user = 0; - $object->fk_usergroup = 0; + // check parameters + if (empty($apply_to)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportApplyTo")), null, 'errors'); + } + if (empty($fk_c_type_fees)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDomain")), null, 'errors'); + } + if (empty($code_expense_rules_type)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitOn")), null, 'errors'); + } + if (empty($dates)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDateStart")), null, 'errors'); + } + if (empty($datee)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportDateEnd")), null, 'errors'); + } + if (empty($amount)) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("ExpenseReportLimitAmount")), null, 'errors'); } - $object->dates = $dates; - $object->datee = $datee; + if (empty($error)) { + $object->setValues($_POST); - $object->entity = $conf->entity; + if ($apply_to == 'U') { + $object->fk_user = (int)$fk_user; + $object->fk_usergroup = 0; + $object->is_for_all = 0; + } elseif ($apply_to == 'G') { + $object->fk_usergroup = (int)$fk_usergroup; + $object->fk_user = 0; + $object->is_for_all = 0; + } elseif ($apply_to == 'A') { + $object->is_for_all = 1; + $object->fk_user = 0; + $object->fk_usergroup = 0; + } - $res = $object->create($user); - if ($res > 0) { - setEventMessages($langs->trans('ExpenseReportRuleSave'), null); - } else { + $object->dates = $dates; + $object->datee = $datee; + + $object->entity = $conf->entity; + + $res = $object->create($user); + if ($res > 0) { + setEventMessages($langs->trans('ExpenseReportRuleSave'), null); + } else { + dol_print_error($object->db); + } + + header('Location: ' . $_SERVER['PHP_SELF']); + exit; + } + } elseif ($action == 'delete') { + // TODO add confirm + $res = $object->delete($user); + + if ($res < 0) { dol_print_error($object->db); } - header('Location: '.$_SERVER['PHP_SELF']); + header('Location: ' . $_SERVER['PHP_SELF']); exit; } -} elseif ($action == 'delete') { - // TODO add confirm - $res = $object->delete($user); - if ($res < 0) { - dol_print_error($object->db); + $rules = $object->getAllRule(); + + $tab_apply = array( + 'A' => $langs->trans('All'), + 'G' => $langs->trans('Group'), + 'U' => $langs->trans('User') + ); + $tab_rules_type = array( + 'EX_DAY' => $langs->trans('Day'), + 'EX_MON' => $langs->trans('Month'), + 'EX_YEA' => $langs->trans('Year'), + 'EX_EXP' => $langs->trans('OnExpense') + ); + +} + /* + * View + */ + + llxHeader('', $langs->trans("ExpenseReportsSetup")); + + $form = new Form($db); + + $linkback = '' . $langs->trans("BackToModuleList") . ''; + print load_fiche_titre($langs->trans("ExpenseReportsSetup"), $linkback, 'title_setup'); + + $head = expensereport_admin_prepare_head(); + print dol_get_fiche_head($head, 'expenserules', $langs->trans("ExpenseReportsRules"), -1, 'trip'); + + echo '' . $langs->trans('ExpenseReportRulesDesc') . ''; + print '

'; + + if ($action != 'edit') { + echo '
'; + echo ''; + echo ''; + + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo '
' . $langs->trans('ExpenseReportApplyTo') . '' . $langs->trans('Type') . '' . $langs->trans('ExpenseReportLimitOn') . '' . $langs->trans('ExpenseReportDateStart') . '' . $langs->trans('ExpenseReportDateEnd') . '' . $langs->trans('ExpenseReportLimitAmount') . '' . $langs->trans('ExpenseReportRestrictive') . ' 
'; + echo '
' . $form->selectarray('apply_to', $tab_apply, '', 0) . '
'; + echo '
' . $form->select_dolusers('', 'fk_user') . '
'; + echo '
' . $form->select_dolgroups('', 'fk_usergroup') . '
'; + echo '
' . $form->selectExpense('', 'fk_c_type_fees', 0, 1, 1) . '' . $form->selectarray('code_expense_rules_type', $tab_rules_type, '', 0) . '' . $form->selectDate(strtotime(date('Y-m-01', dol_now())), 'start', '', '', 0, '', 1, 0) . '' . $form->selectDate(strtotime(date('Y-m-t', dol_now())), 'end', '', '', 0, '', 1, 0) . ' ' . $conf->currency . '' . $form->selectyesno('restrictive', 0, 1) . '
'; + echo '
'; } - header('Location: '.$_SERVER['PHP_SELF']); - exit; -} -$rules = $object->getAllRule(); + echo '
'; + echo ''; -$tab_apply = array( - 'A' => $langs->trans('All'), - 'G' => $langs->trans('Group'), - 'U' => $langs->trans('User') -); -$tab_rules_type = array( - 'EX_DAY' => $langs->trans('Day'), - 'EX_MON' => $langs->trans('Month'), - 'EX_YEA' => $langs->trans('Year'), - 'EX_EXP' => $langs->trans('OnExpense') -); - - -/* - * View - */ - -llxHeader('', $langs->trans("ExpenseReportsSetup")); - -$form = new Form($db); - -$linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("ExpenseReportsSetup"), $linkback, 'title_setup'); - -$head = expensereport_admin_prepare_head(); -print dol_get_fiche_head($head, 'expenserules', $langs->trans("ExpenseReportsRules"), -1, 'trip'); - -echo ''.$langs->trans('ExpenseReportRulesDesc').''; -print '

'; - -if ($action != 'edit') { - echo ''; - echo ''; - echo ''; + if ($action == 'edit') { + echo ''; + echo ''; + } echo ''; echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; echo ''; echo ''; - echo ''; - echo ''; + foreach ($rules as $rule) { + echo ''; + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + echo ''; + } - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; echo '
'.$langs->trans('ExpenseReportApplyTo').''.$langs->trans('Type').''.$langs->trans('ExpenseReportLimitOn').''.$langs->trans('ExpenseReportDateStart').''.$langs->trans('ExpenseReportDateEnd').''.$langs->trans('ExpenseReportLimitAmount').''.$langs->trans('ExpenseReportRestrictive').'' . $langs->trans('ExpenseReportApplyTo') . '' . $langs->trans('Type') . '' . $langs->trans('ExpenseReportLimitOn') . '' . $langs->trans('ExpenseReportDateStart') . '' . $langs->trans('ExpenseReportDateEnd') . '' . $langs->trans('ExpenseReportLimitAmount') . '' . $langs->trans('ExpenseReportRestrictive') . ' 
'; - echo '
'.$form->selectarray('apply_to', $tab_apply, '', 0).'
'; - echo '
'.$form->select_dolusers('', 'fk_user').'
'; - echo '
'.$form->select_dolgroups('', 'fk_usergroup').'
'; - echo '
'; + if ($action == 'edit' && $object->id == $rule->id) { + $selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U'); + echo '
' . $form->selectarray('apply_to', $tab_apply, $selected, 0) . '
'; + echo '
' . $form->select_dolusers($object->fk_user, 'fk_user') . '
'; + echo '
' . $form->select_dolgroups($object->fk_usergroup, 'fk_usergroup') . '
'; + } else { + if ($rule->is_for_all > 0) { + echo $tab_apply['A']; + } elseif ($rule->fk_usergroup > 0) { + echo $tab_apply['G'] . ' (' . $rule->getGroupLabel() . ')'; + } elseif ($rule->fk_user > 0) { + echo $tab_apply['U'] . ' (' . $rule->getUserName() . ')'; + } + } + echo '
'; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1); + } else { + if ($rule->fk_c_type_fees == -1) { + echo $langs->trans('AllExpenseReport'); + } else { + $key = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id'); + if ($key && $key != $langs->trans($key)) { + echo $langs->trans($key); + } else { + $value = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id'); + echo $langs->trans($value ? $value : 'Undefined'); // TODO check to return trans of 'code' + } + } + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0); + } else { + echo $tab_rules_type[$rule->code_expense_rules_type]; + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0); + } else { + echo dol_print_date($rule->dates, 'day'); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0); + } else { + echo dol_print_date($rule->datee, 'day'); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo '' . $conf->currency; + } else { + echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectyesno('restrictive', $object->restrictive, 1); + } else { + echo yn($rule->restrictive, 1, 1); + } + echo ''; + if ($object->id != $rule->id) { + echo '' . img_edit() . ' '; + echo '' . img_delete() . ''; + } else { + echo ' '; + echo '' . $langs->trans("Cancel") . ''; + } + echo '
'.$form->selectExpense('', 'fk_c_type_fees', 0, 1, 1).''.$form->selectarray('code_expense_rules_type', $tab_rules_type, '', 0).''.$form->selectDate(strtotime(date('Y-m-01', dol_now())), 'start', '', '', 0, '', 1, 0).''.$form->selectDate(strtotime(date('Y-m-t', dol_now())), 'end', '', '', 0, '', 1, 0).' '.$conf->currency.''.$form->selectyesno('restrictive', 0, 1).'
'; echo '
'; -} - -echo '
'; -echo ''; - -if ($action == 'edit') { - echo ''; - echo ''; -} - -echo ''; - -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; - -foreach ($rules as $rule) { - echo ''; - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - echo ''; -} - - -echo '
'.$langs->trans('ExpenseReportApplyTo').''.$langs->trans('Type').''.$langs->trans('ExpenseReportLimitOn').''.$langs->trans('ExpenseReportDateStart').''.$langs->trans('ExpenseReportDateEnd').''.$langs->trans('ExpenseReportLimitAmount').''.$langs->trans('ExpenseReportRestrictive').' 
'; - if ($action == 'edit' && $object->id == $rule->id) { - $selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U'); - echo '
'.$form->selectarray('apply_to', $tab_apply, $selected, 0).'
'; - echo '
'.$form->select_dolusers($object->fk_user, 'fk_user').'
'; - echo '
'.$form->select_dolgroups($object->fk_usergroup, 'fk_usergroup').'
'; - } else { - if ($rule->is_for_all > 0) { - echo $tab_apply['A']; - } elseif ($rule->fk_usergroup > 0) { - echo $tab_apply['G'].' ('.$rule->getGroupLabel().')'; - } elseif ($rule->fk_user > 0) { - echo $tab_apply['U'].' ('.$rule->getUserName().')'; - } - } - echo '
'; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1); - } else { - if ($rule->fk_c_type_fees == -1) { - echo $langs->trans('AllExpenseReport'); - } else { - $key = getDictionaryValue(MAIN_DB_PREFIX.'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id'); - if ($key && $key != $langs->trans($key)) { - echo $langs->trans($key); - } else { - $value = getDictionaryValue(MAIN_DB_PREFIX.'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id'); - echo $langs->trans($value ? $value : 'Undefined'); // TODO check to return trans of 'code' - } - } - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0); - } else { - echo $tab_rules_type[$rule->code_expense_rules_type]; - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0); - } else { - echo dol_print_date($rule->dates, 'day'); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0); - } else { - echo dol_print_date($rule->datee, 'day'); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo ''.$conf->currency; - } else { - echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectyesno('restrictive', $object->restrictive, 1); - } else { - echo yn($rule->restrictive, 1, 1); - } - echo ''; - if ($object->id != $rule->id) { - echo ''.img_edit().' '; - echo ''.img_delete().''; - } else { - echo ' '; - echo ''.$langs->trans("Cancel").''; - } - echo '
'; -echo '
'; - -echo ''; + print dol_get_fiche_end(); // End of page diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f9672f776e5..a9739989c41 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -7909,7 +7909,6 @@ function dol_htmloutput_events($disabledoutputofmessages = 0) } unset($_SESSION['dol_events']['mesgs']); } - // Show errors if (isset($_SESSION['dol_events']['errors'])) { if (empty($disabledoutputofmessages)) { From be82fd73edba1b7a4a022d022ba2194588f3bbe1 Mon Sep 17 00:00:00 2001 From: jpb Date: Thu, 31 Mar 2022 16:47:06 +0200 Subject: [PATCH 2/3] remove var_dump --- htdocs/admin/expensereport_rules.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/admin/expensereport_rules.php b/htdocs/admin/expensereport_rules.php index 286c9658c84..ce1d616528c 100644 --- a/htdocs/admin/expensereport_rules.php +++ b/htdocs/admin/expensereport_rules.php @@ -30,7 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/expensereport.lib.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport_rule.class.php'; -//var_dump($conf); + // Load translation files required by the page $langs->loadLangs(array("admin", "other", "trips", "errors", "dict")); From 63b8c126d0e49ac92c0f955459aed9e82d4e06fd Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Thu, 31 Mar 2022 14:52:41 +0000 Subject: [PATCH 3/3] Fixing style errors. --- htdocs/admin/expensereport_rules.php | 282 +++++++++++++-------------- 1 file changed, 141 insertions(+), 141 deletions(-) diff --git a/htdocs/admin/expensereport_rules.php b/htdocs/admin/expensereport_rules.php index ce1d616528c..ce88700ad81 100644 --- a/htdocs/admin/expensereport_rules.php +++ b/htdocs/admin/expensereport_rules.php @@ -73,7 +73,7 @@ if (empty($reshook)) { dol_print_error('', $object->error, $object->errors); } } -// TODO do action + // TODO do action if ($action == 'save') { $error = 0; @@ -107,11 +107,11 @@ if (empty($reshook)) { $object->setValues($_POST); if ($apply_to == 'U') { - $object->fk_user = (int)$fk_user; + $object->fk_user = (int) $fk_user; $object->fk_usergroup = 0; $object->is_for_all = 0; } elseif ($apply_to == 'G') { - $object->fk_usergroup = (int)$fk_usergroup; + $object->fk_usergroup = (int) $fk_usergroup; $object->fk_user = 0; $object->is_for_all = 0; } elseif ($apply_to == 'A') { @@ -179,52 +179,10 @@ if (empty($reshook)) { echo '' . $langs->trans('ExpenseReportRulesDesc') . ''; print '

'; - if ($action != 'edit') { - echo '
'; - echo ''; - echo ''; - - echo ''; - - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - echo ''; - - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - echo '
' . $langs->trans('ExpenseReportApplyTo') . '' . $langs->trans('Type') . '' . $langs->trans('ExpenseReportLimitOn') . '' . $langs->trans('ExpenseReportDateStart') . '' . $langs->trans('ExpenseReportDateEnd') . '' . $langs->trans('ExpenseReportLimitAmount') . '' . $langs->trans('ExpenseReportRestrictive') . ' 
'; - echo '
' . $form->selectarray('apply_to', $tab_apply, '', 0) . '
'; - echo '
' . $form->select_dolusers('', 'fk_user') . '
'; - echo '
' . $form->select_dolgroups('', 'fk_usergroup') . '
'; - echo '
' . $form->selectExpense('', 'fk_c_type_fees', 0, 1, 1) . '' . $form->selectarray('code_expense_rules_type', $tab_rules_type, '', 0) . '' . $form->selectDate(strtotime(date('Y-m-01', dol_now())), 'start', '', '', 0, '', 1, 0) . '' . $form->selectDate(strtotime(date('Y-m-t', dol_now())), 'end', '', '', 0, '', 1, 0) . ' ' . $conf->currency . '' . $form->selectyesno('restrictive', 0, 1) . '
'; - echo '
'; - } - - +if ($action != 'edit') { echo '
'; echo ''; - - if ($action == 'edit') { - echo ''; - echo ''; - } + echo ''; echo ''; @@ -239,103 +197,145 @@ if (empty($reshook)) { echo ''; echo ''; - foreach ($rules as $rule) { - echo ''; + echo ''; + echo ''; - echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo '
 
'; + echo '
' . $form->selectarray('apply_to', $tab_apply, '', 0) . '
'; + echo '
' . $form->select_dolusers('', 'fk_user') . '
'; + echo '
' . $form->select_dolgroups('', 'fk_usergroup') . '
'; + echo '
'; - if ($action == 'edit' && $object->id == $rule->id) { - $selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U'); - echo '
' . $form->selectarray('apply_to', $tab_apply, $selected, 0) . '
'; - echo '
' . $form->select_dolusers($object->fk_user, 'fk_user') . '
'; - echo '
' . $form->select_dolgroups($object->fk_usergroup, 'fk_usergroup') . '
'; - } else { - if ($rule->is_for_all > 0) { - echo $tab_apply['A']; - } elseif ($rule->fk_usergroup > 0) { - echo $tab_apply['G'] . ' (' . $rule->getGroupLabel() . ')'; - } elseif ($rule->fk_user > 0) { - echo $tab_apply['U'] . ' (' . $rule->getUserName() . ')'; - } + echo '
' . $form->selectExpense('', 'fk_c_type_fees', 0, 1, 1) . '' . $form->selectarray('code_expense_rules_type', $tab_rules_type, '', 0) . '' . $form->selectDate(strtotime(date('Y-m-01', dol_now())), 'start', '', '', 0, '', 1, 0) . '' . $form->selectDate(strtotime(date('Y-m-t', dol_now())), 'end', '', '', 0, '', 1, 0) . ' ' . $conf->currency . '' . $form->selectyesno('restrictive', 0, 1) . '
'; + echo '
'; +} + + + echo '
'; + echo ''; + +if ($action == 'edit') { + echo ''; + echo ''; +} + + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + +foreach ($rules as $rule) { + echo ''; + + echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - - echo ''; - - echo ''; } + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + + echo ''; + + echo ''; +} echo '
' . $langs->trans('ExpenseReportApplyTo') . '' . $langs->trans('Type') . '' . $langs->trans('ExpenseReportLimitOn') . '' . $langs->trans('ExpenseReportDateStart') . '' . $langs->trans('ExpenseReportDateEnd') . '' . $langs->trans('ExpenseReportLimitAmount') . '' . $langs->trans('ExpenseReportRestrictive') . ' 
'; + if ($action == 'edit' && $object->id == $rule->id) { + $selected = ($object->is_for_all > 0) ? 'A' : ($object->fk_usergroup > 0 ? 'G' : 'U'); + echo '
' . $form->selectarray('apply_to', $tab_apply, $selected, 0) . '
'; + echo '
' . $form->select_dolusers($object->fk_user, 'fk_user') . '
'; + echo '
' . $form->select_dolgroups($object->fk_usergroup, 'fk_usergroup') . '
'; + } else { + if ($rule->is_for_all > 0) { + echo $tab_apply['A']; + } elseif ($rule->fk_usergroup > 0) { + echo $tab_apply['G'] . ' (' . $rule->getGroupLabel() . ')'; + } elseif ($rule->fk_user > 0) { + echo $tab_apply['U'] . ' (' . $rule->getUserName() . ')'; } - echo '
'; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1); - } else { - if ($rule->fk_c_type_fees == -1) { - echo $langs->trans('AllExpenseReport'); - } else { - $key = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id'); - if ($key && $key != $langs->trans($key)) { - echo $langs->trans($key); - } else { - $value = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id'); - echo $langs->trans($value ? $value : 'Undefined'); // TODO check to return trans of 'code' - } - } - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0); - } else { - echo $tab_rules_type[$rule->code_expense_rules_type]; - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0); - } else { - echo dol_print_date($rule->dates, 'day'); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0); - } else { - echo dol_print_date($rule->datee, 'day'); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo '' . $conf->currency; - } else { - echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency); - } - echo ''; - if ($action == 'edit' && $object->id == $rule->id) { - echo $form->selectyesno('restrictive', $object->restrictive, 1); - } else { - echo yn($rule->restrictive, 1, 1); - } - echo ''; - if ($object->id != $rule->id) { - echo '' . img_edit() . ' '; - echo '' . img_delete() . ''; - } else { - echo ' '; - echo '' . $langs->trans("Cancel") . ''; - } - echo '
'; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectExpense($object->fk_c_type_fees, 'fk_c_type_fees', 0, 1, 1); + } else { + if ($rule->fk_c_type_fees == -1) { + echo $langs->trans('AllExpenseReport'); + } else { + $key = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'code', $rule->fk_c_type_fees, false, 'id'); + if ($key && $key != $langs->trans($key)) { + echo $langs->trans($key); + } else { + $value = getDictionaryValue(MAIN_DB_PREFIX . 'c_type_fees', 'label', $rule->fk_c_type_fees, false, 'id'); + echo $langs->trans($value ? $value : 'Undefined'); // TODO check to return trans of 'code' + } + } + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectarray('code_expense_rules_type', $tab_rules_type, $object->code_expense_rules_type, 0); + } else { + echo $tab_rules_type[$rule->code_expense_rules_type]; + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + print $form->selectDate(strtotime(date('Y-m-d', $object->dates)), 'start', '', '', 0, '', 1, 0); + } else { + echo dol_print_date($rule->dates, 'day'); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + print $form->selectDate(strtotime(date('Y-m-d', $object->datee)), 'end', '', '', 0, '', 1, 0); + } else { + echo dol_print_date($rule->datee, 'day'); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo '' . $conf->currency; + } else { + echo price($rule->amount, 0, $langs, 1, -1, -1, $conf->currency); + } + echo ''; + if ($action == 'edit' && $object->id == $rule->id) { + echo $form->selectyesno('restrictive', $object->restrictive, 1); + } else { + echo yn($rule->restrictive, 1, 1); + } + echo ''; + if ($object->id != $rule->id) { + echo '' . img_edit() . ' '; + echo '' . img_delete() . ''; + } else { + echo ' '; + echo '' . $langs->trans("Cancel") . ''; + } + echo '
';