FIX Timezone management for datetime with modulebuilder
This commit is contained in:
parent
a371647bca
commit
33c4180781
@ -160,7 +160,7 @@ if ($action == 'update' && !empty($permissiontoadd))
|
|||||||
} elseif ($object->fields[$key]['type'] == 'date') {
|
} elseif ($object->fields[$key]['type'] == 'date') {
|
||||||
$value = dol_mktime(12, 0, 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year'));
|
$value = dol_mktime(12, 0, 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year'));
|
||||||
} elseif ($object->fields[$key]['type'] == 'datetime') {
|
} elseif ($object->fields[$key]['type'] == 'datetime') {
|
||||||
$value = dol_mktime(GETPOST($key.'hour'), GETPOST($key.'min'), 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year'));
|
$value = dol_mktime(GETPOST($key.'hour'), GETPOST($key.'min'), 0, GETPOST($key.'month'), GETPOST($key.'day'), GETPOST($key.'year'), 'tzuserrel');
|
||||||
} elseif ($object->fields[$key]['type'] == 'duration') {
|
} elseif ($object->fields[$key]['type'] == 'duration') {
|
||||||
if (GETPOST($key.'hour', 'int') != '' || GETPOST($key.'min', 'int') != '') {
|
if (GETPOST($key.'hour', 'int') != '' || GETPOST($key.'min', 'int') != '') {
|
||||||
$value = 60 * 60 * GETPOST($key.'hour', 'int') + 60 * GETPOST($key.'min', 'int');
|
$value = 60 * 60 * GETPOST($key.'hour', 'int') + 60 * GETPOST($key.'min', 'int');
|
||||||
|
|||||||
@ -6531,13 +6531,13 @@ abstract class CommonObject
|
|||||||
elseif ($key == 'status' && method_exists($this, 'getLibStatut')) $value = $this->getLibStatut(3);
|
elseif ($key == 'status' && method_exists($this, 'getLibStatut')) $value = $this->getLibStatut(3);
|
||||||
elseif ($type == 'date') {
|
elseif ($type == 'date') {
|
||||||
if (!empty($value)) {
|
if (!empty($value)) {
|
||||||
$value = dol_print_date($value, 'day');
|
$value = dol_print_date($value, 'day'); // We suppose dates without time are always gmt (storage of course + output)
|
||||||
} else {
|
} else {
|
||||||
$value = '';
|
$value = '';
|
||||||
}
|
}
|
||||||
} elseif ($type == 'datetime' || $type == 'timestamp') {
|
} elseif ($type == 'datetime' || $type == 'timestamp') {
|
||||||
if (!empty($value)) {
|
if (!empty($value)) {
|
||||||
$value = dol_print_date($value, 'dayhour');
|
$value = dol_print_date($value, 'dayhour', 'tzuserrel');
|
||||||
} else {
|
} else {
|
||||||
$value = '';
|
$value = '';
|
||||||
}
|
}
|
||||||
@ -7587,11 +7587,13 @@ abstract class CommonObject
|
|||||||
*/
|
*/
|
||||||
public function setVarsFromFetchObj(&$obj)
|
public function setVarsFromFetchObj(&$obj)
|
||||||
{
|
{
|
||||||
|
global $db;
|
||||||
|
|
||||||
foreach ($this->fields as $field => $info)
|
foreach ($this->fields as $field => $info)
|
||||||
{
|
{
|
||||||
if ($this->isDate($info)) {
|
if ($this->isDate($info)) {
|
||||||
if (empty($obj->{$field}) || $obj->{$field} === '0000-00-00 00:00:00' || $obj->{$field} === '1000-01-01 00:00:00') $this->{$field} = 0;
|
if (is_null($obj->{$field}) || $obj->{$field} === '' || $obj->{$field} === '0000-00-00 00:00:00' || $obj->{$field} === '1000-01-01 00:00:00') $this->{$field} = '';
|
||||||
else $this->{$field} = strtotime($obj->{$field});
|
else $this->{$field} = $db->jdate($obj->{$field});
|
||||||
} elseif ($this->isArray($info))
|
} elseif ($this->isArray($info))
|
||||||
{
|
{
|
||||||
if (!empty($obj->{$field})) {
|
if (!empty($obj->{$field})) {
|
||||||
|
|||||||
@ -103,18 +103,26 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
|
|||||||
|
|
||||||
if (empty($reshook))
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
if ($action == 'seteatby' && $user->rights->stock->creer)
|
if ($action == 'seteatby' && $user->rights->stock->creer) {
|
||||||
{
|
$newvalue = dol_mktime(12, 0, 0, GETPOST('eatbymonth', 'int'), GETPOST('eatbyday', 'int'), GETPOST('eatbyyear', 'int'));
|
||||||
$newvalue = dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']);
|
|
||||||
$result = $object->setValueFrom('eatby', $newvalue, '', null, 'date', '', $user, 'PRODUCTLOT_MODIFY');
|
$result = $object->setValueFrom('eatby', $newvalue, '', null, 'date', '', $user, 'PRODUCTLOT_MODIFY');
|
||||||
if ($result < 0) dol_print_error($db, $object->error);
|
if ($result < 0) {
|
||||||
|
setEventMessages($object->error, null, 'errors');
|
||||||
|
$action == 'editeatby';
|
||||||
|
} else {
|
||||||
|
$action = 'view';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'setsellby' && $user->rights->stock->creer)
|
if ($action == 'setsellby' && $user->rights->stock->creer) {
|
||||||
{
|
$newvalue = dol_mktime(12, 0, 0, GETPOST('sellbymonth', 'int'), GETPOST('sellbyday', 'int'), GETPOST('sellbyyear', 'int'));
|
||||||
$newvalue = dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']);
|
|
||||||
$result = $object->setValueFrom('sellby', $newvalue, '', null, 'date', '', $user, 'PRODUCTLOT_MODIFY');
|
$result = $object->setValueFrom('sellby', $newvalue, '', null, 'date', '', $user, 'PRODUCTLOT_MODIFY');
|
||||||
if ($result < 0) dol_print_error($db, $object->error);
|
if ($result < 0) {
|
||||||
|
setEventMessages($object->error, null, 'errors');
|
||||||
|
$action == 'editsellby';
|
||||||
|
} else {
|
||||||
|
$action = 'view';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'update_extras')
|
if ($action == 'update_extras')
|
||||||
@ -136,8 +144,9 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error)
|
if ($error) {
|
||||||
$action = 'edit_extras';
|
$action = 'edit_extras';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action to add record
|
// Action to add record
|
||||||
@ -346,7 +355,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
// Other attributes
|
// Other attributes
|
||||||
$cols = 2;
|
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
@ -391,7 +399,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
* Documents generes
|
* Documents generes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (empty($action))
|
if (empty($action) || $action == 'view')
|
||||||
{
|
{
|
||||||
print '<div class="fichecenter"><div class="fichehalfleft">';
|
print '<div class="fichecenter"><div class="fichehalfleft">';
|
||||||
print '<a name="builddoc"></a>'; // ancre
|
print '<a name="builddoc"></a>'; // ancre
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user