diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index bbd5a1ac9d4..40d127496a4 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -148,7 +148,10 @@ if (empty($reshook)) $description = trim(GETPOST('description', 'restricthtml')); // Check that leave is for a user inside the hierarchy or advanced permission for all is set - if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->holiday->write)) || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->holiday->writeall_advance))) { + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->holiday->write)) + || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->id == $fuserid && empty($user->rights->holiday->write)) + || (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->id != $fuserid && empty($user->rights->holiday->writeall_advance)) + ) { $error++; setEventMessages($langs->trans("NotEnoughPermission"), null, 'errors'); } else {