From 6aae37493c0b4026f6c39ca8226a63d260ce4af2 Mon Sep 17 00:00:00 2001 From: jfefe Date: Fri, 29 Mar 2013 22:14:06 +0100 Subject: [PATCH] Add support of calendar on date type extrafield on propal --- htdocs/comm/propal.php | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index e35c8d2940d..08ec557e8f5 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -81,6 +81,9 @@ $result = restrictedArea($user, 'propal', $id); $object = new Propal($db); $extrafields = new ExtraFields($db); +// fetch optionals attributes and labels +$extralabels=$extrafields->fetch_name_optionals_label('propal'); + // Load object if ($id > 0 || ! empty($ref)) { @@ -339,12 +342,20 @@ else if ($action == 'add' && $user->rights->propal->creer) } // 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); @@ -1108,13 +1119,22 @@ else if ($action == 'down' && $user->rights->propal->creer) else if ($action == 'update_extras') { // 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) // FIXME le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('propaldao')); @@ -1208,9 +1228,6 @@ $formfile = new FormFile($db); $formpropal = new FormPropal($db); $companystatic=new Societe($db); -// fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('propal'); - $now=dol_now(); // Add new proposal