From 6d4f3f308e524fecebdaeea11d4871989b558ad6 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Wed, 2 Oct 2019 08:43:40 +0200 Subject: [PATCH 1/6] NEW expense request and holiday validator fields --- htdocs/expensereport/card.php | 2 +- htdocs/holiday/card.php | 2 +- htdocs/user/card.php | 82 +++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 140d3dcc612..4df08b46004 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1492,7 +1492,7 @@ if ($action == 'create') if (empty($include_users)) print img_warning().' '.$langs->trans("NobodyHasPermissionToValidateExpenseReport"); else { - $defaultselectuser=$user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users + $defaultselectuser=!empty($user->fk_user_expense_validator) ? $user->fk_user_expense_validator : $user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users if (! empty($conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR)) $defaultselectuser=$conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR; // Can force default approver if (GETPOST('fk_user_validator', 'int') > 0) $defaultselectuser=GETPOST('fk_user_validator', 'int'); $s=$form->select_dolusers($defaultselectuser, "fk_user_validator", 1, "", ((empty($defaultselectuser) || empty($conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR_UNCHANGEABLE))?0:1), $include_users); diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index fdb9a498778..0e97ef5857d 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1092,7 +1092,7 @@ if ((empty($id) && empty($ref)) || $action == 'add' || $action == 'request' || $ if (empty($include_users)) print img_warning().' '.$langs->trans("NobodyHasPermissionToValidateHolidays"); else { - $defaultselectuser=$user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users + $defaultselectuser=!empty($user->fk_user_holiday_validator) ? $user->fk_user_holiday_validator : $user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users if (! empty($conf->global->HOLIDAY_DEFAULT_VALIDATOR)) $defaultselectuser=$conf->global->HOLIDAY_DEFAULT_VALIDATOR; // Can force default approver if (GETPOST('valideur', 'int') > 0) $defaultselectuser=GETPOST('valideur', 'int'); $s=$form->select_dolusers($defaultselectuser, "valideur", 1, "", 0, $include_users); diff --git a/htdocs/user/card.php b/htdocs/user/card.php index d47a8bf4f7d..d5e6776a223 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -223,6 +223,8 @@ if (empty($reshook)) { $object->note = GETPOST("note", 'none'); $object->ldap_sid = GETPOST("ldap_sid", 'alphanohtml'); $object->fk_user = GETPOST("fk_user", 'int') > 0 ? GETPOST("fk_user", 'int') : 0; + $object->fk_user_expense_validator = GETPOST("fk_user_expense_validator", 'int') > 0 ? GETPOST("fk_user_expense_validator", 'int') : 0; + $object->fk_user_holiday_validator = GETPOST("fk_user_holiday_validator", 'int') > 0 ? GETPOST("fk_user_holiday_validator", 'int') : 0; $object->employee = GETPOST('employee', 'alphanohtml'); $object->thm = GETPOST("thm", 'alphanohtml') != '' ? GETPOST("thm", 'alphanohtml') : ''; @@ -376,6 +378,8 @@ if (empty($reshook)) { $object->accountancy_code = GETPOST("accountancy_code", 'alphanohtml'); $object->openid = GETPOST("openid", 'alphanohtml'); $object->fk_user = GETPOST("fk_user", 'int') > 0 ? GETPOST("fk_user", 'int') : 0; + $object->fk_user_expense_validator = GETPOST("fk_user_expense_validator", 'int') > 0 ? GETPOST("fk_user_expense_validator", 'int') : 0; + $object->fk_user_holiday_validator = GETPOST("fk_user_holiday_validator", 'int') > 0 ? GETPOST("fk_user_holiday_validator", 'int') : 0; $object->employee = GETPOST('employee', 'int'); $object->thm = GETPOST("thm", 'alphanohtml') != '' ? GETPOST("thm", 'alphanohtml') : ''; @@ -965,6 +969,26 @@ if ($action == 'create' || $action == 'adduserldap') print ''; print "\n"; + // Expense report validator + if(!empty($conf->expensereport->enabled)) + { + print ''.$langs->trans("UserExpenseValidator").''; + print ''; + print $form->select_dolusers($object->fk_user_expense_validator, 'fk_user_expense_validator', 1, array($object->id), 0, '', 0, $conf->entity, 0, 0, '', 0, '', 'maxwidth300'); + print ''; + print "\n"; + } + + // Holiday request validator + if(!empty($conf->holiday->enabled)) + { + print '' . $langs->trans("UserHolidayValidator") . ''; + print ''; + print $form->select_dolusers($object->fk_user_holiday_validator, 'fk_user_holiday_validator', 1, array($object->id), 0, '', 0, $conf->entity, 0, 0, '', 0, '', 'maxwidth300'); + print ''; + print "\n"; + } + print '
'; @@ -1562,6 +1586,30 @@ else print ''; print "\n"; + // Expense report validator + print ''; + print ''; + print "\n"; + + // Holiday request validator + print ''; + print ''; + print "\n"; + // Position/Job print ''; print ''; @@ -2243,6 +2291,40 @@ else print ''; print "\n"; + // Expense report validator + print ''; + print ''; + print "\n"; + + // Holiday request validator + print ''; + print ''; + print "\n"; + print '
'.$langs->trans("UserExpenseValidator").''; + if (empty($object->fk_user_expense_validator)) print $langs->trans("None"); + else { + $evuser=new User($db); + $evuser->fetch($object->fk_user_expense_validator); + print $evuser->getNomUrl(1); + } + print '
'.$langs->trans("UserHolidayValidator").''; + if (empty($object->fk_user_holiday_validator)) print $langs->trans("None"); + else { + $hvuser=new User($db); + $hvuser->fetch($object->fk_user_holiday_validator); + print $hvuser->getNomUrl(1); + } + print '
'.$langs->trans("PostOrFunction").''.$object->job.'
'.$langs->trans("UserExpenseValidator").''; + if ($caneditfield) + { + print $form->select_dolusers($object->fk_user_expense_validator, 'fk_user_expense_validator', 1, array($object->id), 0, '', 0, $object->entity, 0, 0, '', 0, '', 'maxwidth300'); + } + else + { + print ''; + $evuser=new User($db); + $evuser->fetch($object->fk_user_expense_validator); + print $evuser->getNomUrl(1); + } + print '
'.$langs->trans("UserHolidayValidator").''; + if ($caneditfield) + { + print $form->select_dolusers($object->fk_user_holiday_validator, 'fk_user_holiday_validator', 1, array($object->id), 0, '', 0, $object->entity, 0, 0, '', 0, '', 'maxwidth300'); + } + else + { + print ''; + $hvuser=new User($db); + $hvuser->fetch($object->fk_user_holiday_validator); + print $hvuser->getNomUrl(1); + } + print '

'; From 02af9b8fa4638d993a1725155f8f941c5926b058 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 3 Oct 2019 17:56:55 +0200 Subject: [PATCH 2/6] Update card.php --- htdocs/expensereport/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 4df08b46004..7e51d059bf6 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1492,7 +1492,7 @@ if ($action == 'create') if (empty($include_users)) print img_warning().' '.$langs->trans("NobodyHasPermissionToValidateExpenseReport"); else { - $defaultselectuser=!empty($user->fk_user_expense_validator) ? $user->fk_user_expense_validator : $user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users + $defaultselectuser=(empty($user->fk_user_expense_validator) ? $user->fk_user : $user->fk_user_expense_validator); // Will work only if supervisor has permission to approve so is inside include_users if (! empty($conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR)) $defaultselectuser=$conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR; // Can force default approver if (GETPOST('fk_user_validator', 'int') > 0) $defaultselectuser=GETPOST('fk_user_validator', 'int'); $s=$form->select_dolusers($defaultselectuser, "fk_user_validator", 1, "", ((empty($defaultselectuser) || empty($conf->global->EXPENSEREPORT_DEFAULT_VALIDATOR_UNCHANGEABLE))?0:1), $include_users); From 1f3e25005365ae4145764cebe8343da38bc02f34 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 3 Oct 2019 17:58:07 +0200 Subject: [PATCH 3/6] Update card.php --- htdocs/holiday/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index 0e97ef5857d..90afdb18747 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1092,7 +1092,7 @@ if ((empty($id) && empty($ref)) || $action == 'add' || $action == 'request' || $ if (empty($include_users)) print img_warning().' '.$langs->trans("NobodyHasPermissionToValidateHolidays"); else { - $defaultselectuser=!empty($user->fk_user_holiday_validator) ? $user->fk_user_holiday_validator : $user->fk_user; // Will work only if supervisor has permission to approve so is inside include_users + $defaultselectuser=(empty($user->fk_user_holiday_validator) ? $user->fk_user : $user->fk_user_holiday_validator); // Will work only if supervisor has permission to approve so is inside include_users if (! empty($conf->global->HOLIDAY_DEFAULT_VALIDATOR)) $defaultselectuser=$conf->global->HOLIDAY_DEFAULT_VALIDATOR; // Can force default approver if (GETPOST('valideur', 'int') > 0) $defaultselectuser=GETPOST('valideur', 'int'); $s=$form->select_dolusers($defaultselectuser, "valideur", 1, "", 0, $include_users); From e70b487c3499e01b9167314163cf64495aa0861b Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Sat, 5 Oct 2019 22:22:55 +0200 Subject: [PATCH 4/6] Add info about validators saying default is supervisor --- htdocs/user/card.php | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/htdocs/user/card.php b/htdocs/user/card.php index d5e6776a223..67801b88e4d 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -972,7 +972,10 @@ if ($action == 'create' || $action == 'adduserldap') // Expense report validator if(!empty($conf->expensereport->enabled)) { - print ''; + print ''; print ''; @@ -982,7 +985,10 @@ if ($action == 'create' || $action == 'adduserldap') // Holiday request validator if(!empty($conf->holiday->enabled)) { - print ''; + print ''; print ''; @@ -1587,7 +1593,10 @@ else print "\n"; // Expense report validator - print ''; + print ''; print '\n"; // Holiday request validator - print ''; + print ''; print '\n"; // Expense report validator - print ''; + print ''; print '\n"; // Holiday request validator - print ''; + print ''; print ''; print '
'.$langs->trans("UserExpenseValidator").'
'; + $text = $langs->trans("UserExpenseValidator"); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; print $form->select_dolusers($object->fk_user_expense_validator, 'fk_user_expense_validator', 1, array($object->id), 0, '', 0, $conf->entity, 0, 0, '', 0, '', 'maxwidth300'); print '
' . $langs->trans("UserHolidayValidator") . '
'; + $text = $langs->trans("UserHolidayValidator"); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; print $form->select_dolusers($object->fk_user_holiday_validator, 'fk_user_holiday_validator', 1, array($object->id), 0, '', 0, $conf->entity, 0, 0, '', 0, '', 'maxwidth300'); print '
'.$langs->trans("UserExpenseValidator").'
'; + $text = $langs->trans("UserExpenseValidator"); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; if (empty($object->fk_user_expense_validator)) print $langs->trans("None"); else { @@ -1599,7 +1608,10 @@ else print "
'.$langs->trans("UserHolidayValidator").'
'; + $text = $langs->trans("UserHolidayValidator"); + print $form->textwithpicto($text , $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; if (empty($object->fk_user_holiday_validator)) print $langs->trans("None"); else { @@ -2292,7 +2304,10 @@ else print "
'.$langs->trans("UserExpenseValidator").'
'; + $text = $langs->trans("UserExpenseValidator"); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; if ($caneditfield) { @@ -2309,7 +2324,10 @@ else print "
'.$langs->trans("UserHolidayValidator").'
'; + $text = $langs->trans("UserHolidayValidator"); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print ''; if ($caneditfield) { From 848b9cc57a073a0675b20de38a197711b2ef5385 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Sat, 5 Oct 2019 22:24:59 +0200 Subject: [PATCH 5/6] Translations --- htdocs/langs/en_US/users.lang | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index fb35cb5e112..d8758ac9dc0 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -109,4 +109,7 @@ UserLogoff=User logout UserLogged=User logged DateEmployment=Employment Start Date DateEmploymentEnd=Employment End Date -CantDisableYourself=You can't disable your own user record \ No newline at end of file +CantDisableYourself=You can't disable your own user record +UserExpenseValidator=Expense report validator +UserHolidayValidator=Leave request validator +ValidatorIsSupervisorByDefault=By default, the supervisor is the validator for expense reports and leave requests From 1047a8ea0f73957461f36b51ef4f0d453402d2f2 Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Sat, 5 Oct 2019 20:25:17 +0000 Subject: [PATCH 6/6] Fixing style errors. --- htdocs/user/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/user/card.php b/htdocs/user/card.php index 40abaea7d3d..6a821664ee7 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -1610,7 +1610,7 @@ else // Holiday request validator print '
'; $text = $langs->trans("UserHolidayValidator"); - print $form->textwithpicto($text , $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); + print $form->textwithpicto($text, $langs->trans("ValidatorIsSupervisorByDefault"), 1, 'help'); print ''; if (empty($object->fk_user_holiday_validator)) print $langs->trans("None");