Add support of calendar on date type extrafield on propal

This commit is contained in:
jfefe 2013-03-29 22:14:06 +01:00
parent 2e3fd0083a
commit 6aae37493c

View File

@ -81,6 +81,9 @@ $result = restrictedArea($user, 'propal', $id);
$object = new Propal($db); $object = new Propal($db);
$extrafields = new ExtraFields($db); $extrafields = new ExtraFields($db);
// fetch optionals attributes and labels
$extralabels=$extrafields->fetch_name_optionals_label('propal');
// Load object // Load object
if ($id > 0 || ! empty($ref)) if ($id > 0 || ! empty($ref))
{ {
@ -339,12 +342,20 @@ else if ($action == 'add' && $user->rights->propal->creer)
} }
// Get extra fields // Get extra fields
foreach($_POST as $key => $value) foreach ($extralabels as $key => $value)
{ {
if (preg_match("/^options_/",$key)) $key_type = $extrafields->attribute_type[$key];
if (in_array($key_type,array('date','datetime')))
{ {
$object->array_options[$key]=GETPOST($key); // Clean parameters
$value_key=dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]);
} }
else
{
$value_key=GETPOST("options_".$key);
}
$object->array_options["options_".$key]=$value_key;
} }
$id = $object->create($user); $id = $object->create($user);
@ -1108,13 +1119,22 @@ else if ($action == 'down' && $user->rights->propal->creer)
else if ($action == 'update_extras') else if ($action == 'update_extras')
{ {
// Get extra fields // Get extra fields
foreach($_POST as $key => $value) foreach ($extralabels as $key => $value)
{ {
if (preg_match("/^options_/",$key)) $key_type = $extrafields->attribute_type[$key];
if (in_array($key_type,array('date','datetime')))
{ {
$object->array_options[$key]=$_POST[$key]; // Clean parameters
$value_key=dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]);
} }
else
{
$value_key=GETPOST("options_".$key);
} }
$object->array_options["options_".$key]=$value_key;
}
// Actions on extra fields (by external module or standard code) // Actions on extra fields (by external module or standard code)
// FIXME le hook fait double emploi avec le trigger !! // FIXME le hook fait double emploi avec le trigger !!
$hookmanager->initHooks(array('propaldao')); $hookmanager->initHooks(array('propaldao'));
@ -1208,9 +1228,6 @@ $formfile = new FormFile($db);
$formpropal = new FormPropal($db); $formpropal = new FormPropal($db);
$companystatic=new Societe($db); $companystatic=new Societe($db);
// fetch optionals attributes and labels
$extralabels=$extrafields->fetch_name_optionals_label('propal');
$now=dol_now(); $now=dol_now();
// Add new proposal // Add new proposal