Page 1 of 1

Ajouter une année dans les champs date

Posted: 09 Jan 2012, 08:04
by Stef06
Bonjour à tous,

Je souhaiterais savoir si quelqu'un pourrait m'expliquer comment ajouter l'année "2010" dans un champ "date". En effet, je n'ai la possibilité que de choisir "2011|2012|013|2014|2015"...

Merci pour votre aide.

Stef.

Re: Ajouter une année dans les champs date

Posted: 12 Jan 2012, 07:58
by Lapinkiller
Bonjour

quel champ date avec uniquement des années parles tu ?

ne serait ce pas un champ personnalisé de type énumération par exemple ?

si tu fais un champ de type date tu pourras sélectionner le jour le mois et l'année, et dansl'année tu as bien l'année 2010 (je viens de tester sur mon environnement)..

quel version de Mantis utilise tu ?

Re: Ajouter une année dans les champs date

Posted: 12 Jan 2012, 09:37
by Stef06
Bonjour Lapinkiller, merci beaucoup pour ta réponse!!

En effet, c'est sur un champ personnalisé de type 'date' que j'ai un problème. Mais pas sur tous... c'est ça qui me chiffonne... Certains m'affichent bien 2010, mais pas celui-là...

Visiblement, il faudrait modifier le script de construction du champ personnalisé à l'affichage de la page dans laquelle il se trouve (c'est une manip qui a déjà été faite par le passé, mais la personne qui s'en est occupée n'est plus dans les effectifs, ça serait trop facile).

La version de Mantis que j'utilise est la 1.1.6.. qui est ancienne, mais elle est trop customisée pour pouvoir être mise à jour sans avoir des semaines de boulots pour tout refaire (c'est connu chez nous, et un sujet devenu "sensible")...

Le source de la page, et pour le champ personnalisé c'est :

"<tr class="row-1"> <td id="champ_custom_18" class="custom_field category">
Date Effective de mise en Prod </td>
<td colspan="5">
<select tabindex="34" name="custom_field_18_day" ><option value="0"></option><option value="1"> 1 </option><option value="2"> 2 </option><option value="3"> 3 </option><option value="4"> 4 </option><option value="5"> 5 </option><option value="6"> 6 </option><option value="7"> 7 </option><option value="8"> 8 </option><option value="9"> 9 </option><option value="10"> 10 </option><option value="11"> 11 </option><option value="12"> 12 </option><option value="13"> 13 </option><option value="14"> 14 </option><option value="15"> 15 </option><option value="16"> 16 </option><option value="17"> 17 </option><option value="18"> 18 </option><option value="19"> 19 </option><option value="20"> 20 </option><option value="21"> 21 </option><option value="22"> 22 </option><option value="23"> 23 </option><option value="24"> 24 </option><option value="25"> 25 </option><option value="26"> 26 </option><option value="27"> 27 </option><option value="28"> 28 </option><option value="29"> 29 </option><option value="30"> 30 </option><option value="31"> 31 </option></select>
<select tabindex="35" name="custom_field_18_month" ><option value="0"></option><option value="1"> 1 </option><option value="2"> 2 </option><option value="3"> 3 </option><option value="4"> 4 </option><option value="5"> 5 </option><option value="6"> 6 </option><option value="7"> 7 </option><option value="8"> 8 </option><option value="9"> 9 </option><option value="10"> 10 </option><option value="11"> 11 </option><option value="12"> 12 </option></select>
<select tabindex="36" name="custom_field_18_year" ><option value="0"></option><option value="2011"> 2011 </option><option value="2012"> 2012 </option><option value="2013"> 2013 </option><option value="2014"> 2014 </option><option value="2015"> 2015 </option></select>
</td>
</tr>"

Et celui qui m'intéresse c'est le "custom_field_18_year"...

Est-ce qu'il y a vraiment une solution, ou dois-je plutôt opter pour la solution : "Vous n'aviez qu'à traiter vos fiches en temps et en heure" ? :p)

Merci beaucoup.

Stf.

Re: Ajouter une année dans les champs date

Posted: 13 Jan 2012, 15:13
by Stef06
Salut à tous,

Bon, on a trouvé la parade. On a fait une modification dans le code pour afficher une année supplémentaire dans le fichier "/mantis-1.1.6-0/apps/mantis/htdocs/core/date_api.php" :

function print_year_range_option_list( $p_year = 0, $p_start = 2009, $p_end = 0) {
$t_current = strval( intval(date( "Y" )) -1 ) ;
>> $t_previous_years = 1; // AJOUT DU PARAMETRE INDIQUANT LE NOMBRE D'ANNEES A RETRANCHER DE L'ANNEE INITIALE
$t_forward_years = config_get( 'forward_year_count' ) ;

$t_start_year = $p_start ;
if ($t_start_year == 0) {
$t_start_year = $t_current ;
}
if ( ( $p_year < $t_start_year ) && ( $p_year != 0 ) ) {
$t_start_year = $p_year ;
}

$t_end_year = $p_end ;
if ($t_end_year == 0) {
$t_end_year = $t_current + $t_forward_years ;
}
if ($p_year > $t_end_year) {
$t_end_year = $p_year + $t_forward_years ;
}

>> for ($i=$t_start_year-$t_previous_years; $i <= $t_end_year; $i++) { // ON RETRANCHE LE NOMBRE D'ANNEES SOUHAITEES DE L'ANNEE
if ($i == $p_year) {
PRINT "<option value=\"$i\" selected=\"selected\"> $i </option>" ;
} else {
PRINT "<option value=\"$i\"> $i </option>" ;
}
}
}

Du coup ça affiche de 2010 à 2015 ... impec !

A plus !

Stf.