forked from Wavyzz/dolibarr
Merge pull request #1728 from fmarcet/develop
New: Can have half day holiday
This commit is contained in:
@@ -659,6 +659,49 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR')
|
||||
if($jour_semaine == 0 || $jour_semaine == 6) $ferie=true;
|
||||
//Samedi (6) et dimanche (0)
|
||||
}
|
||||
|
||||
if ($countrycode == 'ES')
|
||||
{
|
||||
$countryfound=1;
|
||||
|
||||
// Definition des dates feriees fixes
|
||||
if($jour == 1 && $mois == 1) $ferie=true; // Año nuevo
|
||||
if($jour == 6 && $mois == 1) $ferie=true; // Día Reyes
|
||||
if($jour == 1 && $mois == 5) $ferie=true; // 1 Mayo
|
||||
if($jour == 15 && $mois == 8) $ferie=true; // 15 Agosto
|
||||
if($jour == 12 && $mois == 10) $ferie=true; // Día Hispanidad
|
||||
if($jour == 1 && $mois == 11) $ferie=true; // 1 noviembre
|
||||
if($jour == 6 && $mois == 12) $ferie=true; // Constitución
|
||||
if($jour == 8 && $mois == 12) $ferie=true; // Inmaculada
|
||||
if($jour == 25 && $mois == 12) $ferie=true; // 25 diciembre
|
||||
|
||||
// Calcul día de Pascua
|
||||
$date_paques = easter_date($annee);
|
||||
$jour_paques = date("d", $date_paques);
|
||||
$mois_paques = date("m", $date_paques);
|
||||
if($jour_paques == $jour && $mois_paques == $mois) $ferie=true;
|
||||
// Paques
|
||||
|
||||
// Viernes Santo
|
||||
$date_viernes = mktime(
|
||||
date("H", $date_paques),
|
||||
date("i", $date_paques),
|
||||
date("s", $date_paques),
|
||||
date("m", $date_paques),
|
||||
date("d", $date_paques) -2,
|
||||
date("Y", $date_paques)
|
||||
);
|
||||
$jour_viernes = date("d", $date_viernes);
|
||||
$mois_viernes = date("m", $date_viernes);
|
||||
if($jour_viernes == $jour && $mois_viernes == $mois) $ferie=true;
|
||||
//Viernes Santo
|
||||
|
||||
// Calul des samedis et dimanches
|
||||
$jour_julien = unixtojd($timestampStart);
|
||||
$jour_semaine = jddayofweek($jour_julien, 0);
|
||||
if($jour_semaine == 0 || $jour_semaine == 6) $ferie=true;
|
||||
//Samedi (6) et dimanche (0)
|
||||
}
|
||||
|
||||
// Cas pays non defini
|
||||
if (! $countryfound)
|
||||
|
||||
@@ -1670,12 +1670,12 @@ class Holiday extends CommonObject
|
||||
|
||||
// Filtrage de séléction
|
||||
if(!empty($filter)) {
|
||||
$sql.= $filter;
|
||||
$sql.= " ".$filter;
|
||||
}
|
||||
|
||||
// Ordre d'affichage
|
||||
if(!empty($order)) {
|
||||
$sql.= $order;
|
||||
$sql.= " ".$order;
|
||||
}
|
||||
|
||||
dol_syslog(get_class($this)."::fetchLog", LOG_DEBUG);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2012-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -111,7 +112,7 @@ if ($action == 'create')
|
||||
|
||||
// Si aucun jours ouvrés dans la demande
|
||||
$nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday);
|
||||
if($nbopenedday < 1)
|
||||
if($nbopenedday < 0.5)
|
||||
{
|
||||
header('Location: fiche.php?action=request&error=DureeHoliday');
|
||||
exit;
|
||||
@@ -208,7 +209,7 @@ if ($action == 'update')
|
||||
|
||||
// Si pas de jours ouvrés dans la demande
|
||||
$nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday);
|
||||
if ($nbopenedday < 1)
|
||||
if ($nbopenedday < 0.5)
|
||||
{
|
||||
header('Location: fiche.php?id='.$_POST['holiday_id'].'&action=edit&error=DureeHoliday');
|
||||
exit;
|
||||
@@ -398,7 +399,7 @@ if($action == 'confirm_valid')
|
||||
if ($verif > 0)
|
||||
{
|
||||
// Calculcate number of days consummed
|
||||
$nbopenedday=num_open_day($cp->date_debut_gmt,$cp->date_fin_gmt,0,1);
|
||||
$nbopenedday=num_open_day($cp->date_debut_gmt,$cp->date_fin_gmt,0,1,$cp->halfday);
|
||||
|
||||
$soldeActuel = $cp->getCpforUser($cp->fk_user);
|
||||
$newSolde = $soldeActuel - ($nbopenedday * $cp->getConfCP('nbHolidayDeducted'));
|
||||
|
||||
Reference in New Issue
Block a user