diff --git a/ChangeLog b/ChangeLog
index dc680f5a3f0..c7cd52038af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,7 @@ For users:
- New: Use autocompletion on invoice select when creating replacement
or credit note invoice.
- New: task #10885: Add a week view for calendar
+- New: task #11018 : Add a status "not applicable" on event
- Fix: Better Postgresql compatibility.
For developers:
diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php
index b3780d03cf1..2f82f541462 100644
--- a/htdocs/comm/action/class/actioncomm.class.php
+++ b/htdocs/comm/action/class/actioncomm.class.php
@@ -504,60 +504,69 @@ class ActionComm extends CommonObject
/**
* Return label of status
- * @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
- * @return string Libelle
+ * @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
+ * @param hidenastatus 1=Show nothing if status is "Not applicable"
+ * @return string String with status
*/
- function getLibStatut($mode)
+ function getLibStatut($mode,$hidenastatus=0)
{
- return $this->LibStatut($this->percentage,$mode);
+ return $this->LibStatut($this->percentage,$mode,$hidenastatus);
}
/**
* Return label of action status
- * @param percent Percent
- * @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
- * @return string Label
+ * @param percent Percent
+ * @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
+ * @param hidenastatus 1=Show nothing if status is "Not applicable"
+ * @return string Label
*/
- function LibStatut($percent,$mode)
+ function LibStatut($percent,$mode,$hidenastatus=0)
{
global $langs;
if ($mode == 0)
{
- if ($percent==0) return $langs->trans('StatusActionToDo').' (0%)';
+ if ($percent==-1 && ! $hidenastatus) return $langs->trans('StatusNotApplicable');
+ if ($percent==0) return $langs->trans('StatusActionToDo').' (0%)';
if ($percent > 0 && $percent < 100) return $langs->trans('StatusActionInProcess').' ('.$percent.'%)';
if ($percent >= 100) return $langs->trans('StatusActionDone').' (100%)';
}
if ($mode == 1)
{
- if ($percent==0) return $langs->trans('StatusActionToDo');
+ if ($percent==-1 && ! $hidenastatus) return $langs->trans('StatusNotApplicable');
+ if ($percent==0) return $langs->trans('StatusActionToDo');
if ($percent > 0 && $percent < 100) return $percent.'%';
if ($percent >= 100) return $langs->trans('StatusActionDone');
}
if ($mode == 2)
{
- if ($percent==0) return img_picto($langs->trans('StatusActionToDo'),'statut1').' '.$langs->trans('StatusActionToDo');
+ if ($percent==-1 && ! $hidenastatus) return img_picto($langs->trans('StatusNotApplicable'),'statut9').' '.$langs->trans('StatusNotApplicable');
+ if ($percent==0) return img_picto($langs->trans('StatusActionToDo'),'statut1').' '.$langs->trans('StatusActionToDo');
if ($percent > 0 && $percent < 100) return img_picto($langs->trans('StatusActionInProcess'),'statut3').' '. $percent.'%';
if ($percent >= 100) return img_picto($langs->trans('StatusActionDone'),'statut6').' '.$langs->trans('StatusActionDone');
}
if ($mode == 3)
{
+ if ($percent==-1 && ! $hidenastatus) return img_picto($langs->trans("Status").': '.$langs->trans('StatusNotApplicable'),'statut9');
if ($percent==0) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionToDo').' (0%)','statut1');
if ($percent > 0 && $percent < 100) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionInProcess').' ('.$percent.'%)','statut3');
if ($percent >= 100) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionDone').' (100%)','statut6');
}
if ($mode == 4)
{
- if ($percent==0) return img_picto($langs->trans('StatusActionToDo'),'statut1').' '.$langs->trans('StatusActionToDo').' (0%)';
+ if ($percent==-1 && ! $hidenastatus) return img_picto($langs->trans('StatusNotApplicable'),'statut9').' '.$langs->trans('StatusNotApplicable');
+ if ($percent==0) return img_picto($langs->trans('StatusActionToDo'),'statut1').' '.$langs->trans('StatusActionToDo').' (0%)';
if ($percent > 0 && $percent < 100) return img_picto($langs->trans('StatusActionInProcess'),'statut3').' '.$langs->trans('StatusActionInProcess').' ('.$percent.'%)';;
if ($percent >= 100) return img_picto($langs->trans('StatusActionDone'),'statut6').' '.$langs->trans('StatusActionDone').' (100%)';
}
if ($mode == 5)
{
- if ($percent==0) return '0% '.img_picto($langs->trans('StatusActionToDo'),'statut1');
+ if ($percent==-1 && ! $hidenastatus) return img_picto($langs->trans('StatusNotApplicable'),'statut9');
+ if ($percent==0) return '0% '.img_picto($langs->trans('StatusActionToDo'),'statut1');
if ($percent > 0 && $percent < 100) return $percent.'% '.img_picto($langs->trans('StatusActionInProcess'),'statut3');
if ($percent >= 100) return $langs->trans('StatusActionDone').' '.img_picto($langs->trans('StatusActionDone'),'statut6');
}
+ return '';
}
/**
diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php
index e0cc325e3bc..29ce354d1c6 100644
--- a/htdocs/comm/action/fiche.php
+++ b/htdocs/comm/action/fiche.php
@@ -871,15 +871,35 @@ if ($id)
else print dol_print_date($act->datep,'day');
if ($act->percentage == 0 && $act->datep && $act->datep < ($now - $delay_warning)) print img_warning($langs->trans("Late"));
print '';
- print '
'."\n";
- print '';
+ print ' ';
+ print ' ';
+ print ' ';
+ print ' ';
+ print ' ';
+ //print ' ';
+ print img_picto($langs->trans("ViewCal"),'object_calendarweek').' ';
+ print ' '."\n";
+ print '';
+ print ' ';
+ print ' ';
+ print ' ';
+ print ' ';
+ print ' ';
+ //print ' ';
+ print img_picto($langs->trans("ViewCal"),'object_calendarday').' ';
+ print ' '."\n";
+ print ' ';
print '';
// Date end
@@ -889,8 +909,8 @@ if ($id)
if ($act->percentage > 0 && $act->percentage < 100 && $act->datef && $act->datef < ($now- $delay_warning)) print img_warning($langs->trans("Late"));
print '';
- // Statut
- print ''.$langs->trans("Status").' / '.$langs->trans("Percentage").' ';
+ // Status
+ print ' '.$langs->trans("Status").' / '.$langs->trans("Percentage").' ';
print $act->getLibStatut(4);
print ' ';
diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php
index e8112e0c8d3..b97bad492ae 100644
--- a/htdocs/comm/action/index.php
+++ b/htdocs/comm/action/index.php
@@ -74,10 +74,9 @@ $day=GETPOST("day","int")?GETPOST("day","int"):0;
$pid=GETPOST("projectid","int")?GETPOST("projectid","int"):0;
$status=GETPOST("status");
$maxprint=GETPOST("maxprint");
-
-if (GETPOST('viewcal')) { $action='show_month'; $day=''; } // View by month
-if (GETPOST('viewweek')) { $action='show_week'; $week=date("W"); $day=date("d");} // View by week
-if (GETPOST('viewday')) { $action='show_day'; $day=date("d"); } // View by day
+if (GETPOST('viewcal')) { $action='show_month'; $day=''; } // View by month
+if (GETPOST('viewweek')) { $action='show_week'; $week=($week?$week:date("W")); $day=($day?$day:date("d")); } // View by week
+if (GETPOST('viewday')) { $action='show_day'; $day=($day?$day:date("d")); } // View by day
$langs->load("other");
$langs->load("commercial");
@@ -152,21 +151,21 @@ if ($action=='show_week')
$prev_day = $prev['prev_day'];
$first_day = $prev['first_day'];
- $week = $prev['week'];
-
+ $week = $prev['week'];
+
$day =(int)$day;
$next = dol_get_next_week($day, $week, $month, $year);
$next_year = $next['year'];
$next_month = $next['month'];
$next_day = $next['day'];
-
+
// Define firstdaytoshow and lastdaytoshow
$firstdaytoshow=dol_mktime(0,0,0,$prev_month,$first_day,$prev_year);
$lastdaytoshow=dol_mktime(0,0,0,$next_month,$next_day,$next_year);
-
- $max_day_in_month = date("t",dol_mktime(0,0,0,$month,1,$year));
-
- $tmpday = $first_day;
+
+ $max_day_in_month = date("t",dol_mktime(0,0,0,$month,1,$year));
+
+ $tmpday = $first_day;
}
if ($action=='show_day')
{
@@ -471,10 +470,10 @@ if (is_readable($color_file))
if (! is_array($theme_datacolor)) $theme_datacolor=array(array(120,130,150), array(200,160,180), array(190,190,220));
// Add link to show birthdays
-$link='';
if (empty($showbirthday)) $link.=$langs->trans("AgendaShowBirthdayEvents");
@@ -484,7 +483,13 @@ print_fiche_titre('',$link);
if (empty($action) || $action == 'show_month') // View by month
{
- echo ' ';
+ $newparam=$param; // newparam is for birthday links
+ $newparam=preg_replace('/action=show_month&?/i','',$newparam);
+ $newparam=preg_replace('/action=show_week&?/i','',$newparam);
+ $newparam=preg_replace('/day=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/month=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/year=[0-9]+&?/i','',$newparam);
+ echo '';
echo ' ';
$i=0;
while ($i < 7)
@@ -507,7 +512,7 @@ if (empty($action) || $action == 'show_month') // View by month
{
$style='cal_other_month';
echo ' ';
- show_day_events ($db, $max_day_in_prev_month + $tmpday, $prev_month, $prev_year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $param);
+ show_day_events ($db, $max_day_in_prev_month + $tmpday, $prev_month, $prev_year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $newparam);
echo " \n";
}
/* Show days of the current month */
@@ -523,7 +528,7 @@ if (empty($action) || $action == 'show_month') // View by month
$style='cal_current_month';
echo ' ';
- show_day_events($db, $tmpday, $month, $year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $param);
+ show_day_events($db, $tmpday, $month, $year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $newparam);
echo " \n";
}
/* Show days after the current month (next month) */
@@ -531,7 +536,7 @@ if (empty($action) || $action == 'show_month') // View by month
{
$style='cal_other_month';
echo ' ';
- show_day_events($db, $tmpday - $max_day_in_month, $next_month, $next_year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $param);
+ show_day_events($db, $tmpday - $max_day_in_month, $next_month, $next_year, $month, $style, $eventarray, $conf->global->AGENDA_MAX_EVENTS_DAY_VIEW, $maxlength, $newparam);
echo " \n";
}
$tmpday++;
@@ -542,8 +547,12 @@ if (empty($action) || $action == 'show_month') // View by month
}
elseif ($action == 'show_week') // View by week
{
- //print $langs->trans("FeatureNotYetAvailable"); //Work in progress...
-
+ $newparam=$param; // newparam is for birthday links
+ $newparam=preg_replace('/action=show_month&?/i','',$newparam);
+ $newparam=preg_replace('/action=show_week&?/i','',$newparam);
+ $newparam=preg_replace('/day=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/month=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/year=[0-9]+&?/i','',$newparam);
echo '';
echo ' ';
$i=0;
@@ -557,9 +566,9 @@ elseif ($action == 'show_week') // View by week
// In loops, tmpday contains day nb in current month (can be zero or negative for days of previous month)
//var_dump($eventarray);
//print $tmpday;
-
+
echo " \n";
-
+
for($iter_day = 0; $iter_day < 7; $iter_day++)
{
if(($tmpday <= $max_day_in_month))
@@ -573,14 +582,14 @@ elseif ($action == 'show_week') // View by week
$style='cal_current_month';
echo ' ';
- show_day_events($db, $tmpday, $month, $year, $month, $style, $eventarray, 0, $maxlength, $param, 1, 300);
+ show_day_events($db, $tmpday, $month, $year, $month, $style, $eventarray, 0, $maxlength, $newparam, 1, 300);
echo " \n";
}
else
{
$style='cal_current_month';
echo ' ';
- show_day_events($db, $tmpday - $max_day_in_month, $next_month, $next_year, $month, $style, $eventarray, 0, $maxlength, $param, 1, 300);
+ show_day_events($db, $tmpday - $max_day_in_month, $next_month, $next_year, $month, $style, $eventarray, 0, $maxlength, $newparam, 1, 300);
echo " \n";
}
$tmpday++;
@@ -591,7 +600,13 @@ elseif ($action == 'show_week') // View by week
}
else // View by day
{
- // Code to show just one day
+ $newparam=$param; // newparam is for birthday links
+ $newparam=preg_replace('/action=show_month&?/i','',$newparam);
+ $newparam=preg_replace('/action=show_week&?/i','',$newparam);
+ $newparam=preg_replace('/day=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/month=[0-9][0-9]&?/i','',$newparam);
+ $newparam=preg_replace('/year=[0-9]+&?/i','',$newparam);
+ // Code to show just one day
$style='cal_current_month';
$timestamp=dol_mktime(12,0,0,$month,$day,$year);
$arraytimestamp=adodb_getdate(dol_mktime(12,0,0,$month,$day,$year));
@@ -601,7 +616,7 @@ else // View by day
echo " \n";
echo " \n";
echo ' ';
- show_day_events ($db, $day, $month, $year, $month, $style, $eventarray, 0, 80, $param, 1, 300);
+ show_day_events ($db, $day, $month, $year, $month, $style, $eventarray, 0, 80, $newparam, 1, 300);
echo " \n";
echo " \n";
echo '
';
@@ -616,7 +631,6 @@ llxFooter('$Date$ - $Revision$');
/**
* Show event of a particular day
- *
* @param $db Database handler
* @param $day Day
* @param $month Month
@@ -638,12 +652,12 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
global $cachethirdparty, $cachecontact;
if ($_GET["maxprint"] == 'on') $maxPrint=0; // Force to remove limits
-
+
$curtime = dol_mktime (0, 0, 0, $month, $day, $year);
print '';
$i++;
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index e5b2e71cb61..2e66b1f25ca 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -1,6 +1,6 @@
- * Copyright (C) 2004-2010 Laurent Destailleur
+ * Copyright (C) 2004-2011 Laurent Destailleur
* Copyright (C) 2004 Benoit Mortier
* Copyright (C) 2004 Sebastien Di Cintio
* Copyright (C) 2004 Eric Seigne
@@ -313,9 +313,9 @@ class Form
/**
- * \brief Retourne la liste des types de comptes financiers
- * \param selected Type pre-selectionne
- * \param htmlname Nom champ formulaire
+ * Retourne la liste des types de comptes financiers
+ * @param selected Type pre-selectionne
+ * @param htmlname Nom champ formulaire
*/
function select_type_comptes_financiers($selected=1,$htmlname='type')
{
@@ -347,13 +347,13 @@ class Form
/**
- * \brief Return list of social contributions.
- * \remarks Use mysoc->pays_id or mysoc->pays_code so they must be defined.
- * \param selected Preselected type
- * \param htmlname Name of field in form
- * \param useempty Set to 1 if we want an empty value
- * \param maxlen Max length of text in combo box
- * \param help Add or not the admin help picto
+ * Return list of social contributions.
+ * Use mysoc->pays_id or mysoc->pays_code so they must be defined.
+ * @param selected Preselected type
+ * @param htmlname Name of field in form
+ * @param useempty Set to 1 if we want an empty value
+ * @param maxlen Max length of text in combo box
+ * @param help Add or not the admin help picto
*/
function select_type_socialcontrib($selected='',$htmlname='actioncode', $useempty=0, $maxlen=40, $help=1)
{
@@ -2623,9 +2623,7 @@ class Form
if ($d)
{
- /*
- * Affiche date en popup
- */
+ // Show date with popup
if ($conf->use_javascript_ajax && $conf->use_popup_calendar)
{
//print "e".$set_time." t ".$conf->format_date_short;
@@ -2649,7 +2647,7 @@ class Form
{
$retstring.='defaultlang.'\');">'.img_object($langs->trans("SelectDate"),'calendar').' ';
+ $retstring.=' onClick="showDP(\''.$base.'\',\''.$prefix.'\',\''.$langs->trans("FormatDateShortJava").'\',\''.$langs->defaultlang.'\');">'.img_object($langs->trans("SelectDate"),'calendarday').'';
}
$retstring.=' '."\n";
@@ -2659,40 +2657,10 @@ class Form
else
{
print "Bad value of calendar";
- // Calendrier popup version defaut
- /*
- if ($langs->defaultlang != "")
- {
- $retstring.='';
- }
- $retstring.='';
- $retstring.=' ';
- $retstring.=' '."\n";
- $retstring.=' '."\n";
- $retstring.=' '."\n";
- if ($form_name =="")
- {
- $retstring.='';
- $retstring.=' ';
- $retstring.=' ';
- }
- else
- {
- $retstring.='';
- $retstring.=' ';
- $retstring.=' ';
- }
- */
}
}
- /*
- * Show date with combo selects
- */
+ // Show date with combo selects
if (! $conf->use_javascript_ajax || ! $conf->use_popup_calendar)
{
// Jour
@@ -2763,9 +2731,7 @@ class Form
if ($h)
{
- /*
- * Affiche heure en select
- */
+ // Show hour
$retstring.='';
if ($empty) $retstring.=' ';
for ($hour = 0; $hour < 24; $hour++)
@@ -2789,9 +2755,7 @@ class Form
if ($m)
{
- /*
- * Affiche min en select
- */
+ // Show minutes
$retstring.='';
if ($empty) $retstring.=' ';
for ($min = 0; $min < 60 ; $min++)
@@ -2862,10 +2826,10 @@ class Form
}
/**
- * \brief Function to show a form to select a duration on a page
- * \param prefix prefix
- * \param iSecond Default preselected duration (number of seconds)
- * \param disabled Disable the combo box
+ * Function to show a form to select a duration on a page
+ * @param prefix prefix
+ * @param iSecond Default preselected duration (number of seconds)
+ * @param disabled Disable the combo box
*/
function select_duration($prefix,$iSecond='',$disabled=0)
{
diff --git a/htdocs/core/class/html.formactions.class.php b/htdocs/core/class/html.formactions.class.php
index 92afbe8f110..3fade13857f 100644
--- a/htdocs/core/class/html.formactions.class.php
+++ b/htdocs/core/class/html.formactions.class.php
@@ -1,5 +1,5 @@
+/* Copyright (c) 2008-2011 Laurent Destailleur
*
* 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
@@ -25,8 +25,8 @@
/**
- * \class FormActions
- * \brief Classe permettant la generation de composants html actions
+ * \class FormActions
+ * \brief Class to manage building of HTML components
*/
class FormActions
{
@@ -35,8 +35,8 @@ class FormActions
/**
- * \brief Constructeur
- * \param DB handler d'acc�s base de donn�e
+ * Constructor
+ * @param DB Database access handler
*/
function FormActions($DB)
{
diff --git a/htdocs/langs/en_US/commercial.lang b/htdocs/langs/en_US/commercial.lang
index 205e02830ee..2cdb40a7af9 100644
--- a/htdocs/langs/en_US/commercial.lang
+++ b/htdocs/langs/en_US/commercial.lang
@@ -46,6 +46,7 @@ ToDoActions=Incomplete events
ToDoActionsFor=Incomplete events for %s
SendPropalRef=Send commercial proposal %s
SendOrderRef=Send order %s
+StatusNotApplicable=Not applicable
StatusActionToDo=To do
StatusActionDone=Complete
MyActionsAsked=Actions I have recorded
diff --git a/htdocs/langs/fr_FR/commercial.lang b/htdocs/langs/fr_FR/commercial.lang
index e6bb7a49cbf..702e8ba3821 100644
--- a/htdocs/langs/fr_FR/commercial.lang
+++ b/htdocs/langs/fr_FR/commercial.lang
@@ -46,6 +46,7 @@ DoneAndToDoActionsFor=Liste des événements réalisés ou à faire pour %s
DoneAndToDoActions=Liste des événements réalisés ou à faire
SendPropalRef=Envoi proposition commerciale %s
SendOrderRef=Envoi commande %s
+StatusNotApplicable=Non applicable
StatusActionToDo=À faire
StatusActionDone=Réalisé
StatusActionInProcess=En cours
diff --git a/htdocs/theme/auguria/img/object_calendar.png b/htdocs/theme/auguria/img/object_calendar.png
index 5678cdd2411..8cda1f3f220 100644
Binary files a/htdocs/theme/auguria/img/object_calendar.png and b/htdocs/theme/auguria/img/object_calendar.png differ
diff --git a/htdocs/theme/auguria/img/object_calendarday.png b/htdocs/theme/auguria/img/object_calendarday.png
index 8cda1f3f220..5678cdd2411 100755
Binary files a/htdocs/theme/auguria/img/object_calendarday.png and b/htdocs/theme/auguria/img/object_calendarday.png differ
diff --git a/htdocs/theme/auguria/img/statut9.png b/htdocs/theme/auguria/img/statut9.png
new file mode 100755
index 00000000000..5401cf9b03d
Binary files /dev/null and b/htdocs/theme/auguria/img/statut9.png differ
diff --git a/htdocs/theme/eldy/img/object_calendar.png b/htdocs/theme/eldy/img/object_calendar.png
index 5678cdd2411..8cda1f3f220 100644
Binary files a/htdocs/theme/eldy/img/object_calendar.png and b/htdocs/theme/eldy/img/object_calendar.png differ
diff --git a/htdocs/theme/eldy/img/object_calendarday.png b/htdocs/theme/eldy/img/object_calendarday.png
index 8cda1f3f220..5678cdd2411 100755
Binary files a/htdocs/theme/eldy/img/object_calendarday.png and b/htdocs/theme/eldy/img/object_calendarday.png differ
diff --git a/htdocs/theme/eldy/img/statut9.png b/htdocs/theme/eldy/img/statut9.png
new file mode 100755
index 00000000000..5401cf9b03d
Binary files /dev/null and b/htdocs/theme/eldy/img/statut9.png differ
diff --git a/htdocs/theme/freelug/img/object_calendar.png b/htdocs/theme/freelug/img/object_calendar.png
index f43b3fc3e35..8cda1f3f220 100644
Binary files a/htdocs/theme/freelug/img/object_calendar.png and b/htdocs/theme/freelug/img/object_calendar.png differ
diff --git a/htdocs/theme/freelug/img/object_calendarday.png b/htdocs/theme/freelug/img/object_calendarday.png
index 8cda1f3f220..5678cdd2411 100755
Binary files a/htdocs/theme/freelug/img/object_calendarday.png and b/htdocs/theme/freelug/img/object_calendarday.png differ
diff --git a/htdocs/theme/freelug/img/statut9.png b/htdocs/theme/freelug/img/statut9.png
new file mode 100755
index 00000000000..5401cf9b03d
Binary files /dev/null and b/htdocs/theme/freelug/img/statut9.png differ
diff --git a/htdocs/theme/yellow/img/object_calendar.png b/htdocs/theme/yellow/img/object_calendar.png
index f43b3fc3e35..8cda1f3f220 100644
Binary files a/htdocs/theme/yellow/img/object_calendar.png and b/htdocs/theme/yellow/img/object_calendar.png differ
diff --git a/htdocs/theme/yellow/img/object_calendarday.png b/htdocs/theme/yellow/img/object_calendarday.png
index 8cda1f3f220..5678cdd2411 100755
Binary files a/htdocs/theme/yellow/img/object_calendarday.png and b/htdocs/theme/yellow/img/object_calendarday.png differ
diff --git a/htdocs/theme/yellow/img/statut9.png b/htdocs/theme/yellow/img/statut9.png
new file mode 100755
index 00000000000..5401cf9b03d
Binary files /dev/null and b/htdocs/theme/yellow/img/statut9.png differ