diff --git a/core/asynctask.class.inc.php b/core/asynctask.class.inc.php index 7c0cb1d3a..f2e4d468a 100644 --- a/core/asynctask.class.inc.php +++ b/core/asynctask.class.inc.php @@ -113,7 +113,7 @@ abstract class AsyncTask extends DBObject MetaModel::Init_Params($aParams); //MetaModel::Init_InheritAttributes(); // MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeDateTime("created", array("allowed_values"=>null, "sql"=>"created", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeDateTime("created", array("allowed_values"=>null, "sql"=>"created", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeDateTime("started", array("allowed_values"=>null, "sql"=>"started", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); // planned... still not used - reserved for timer management MetaModel::Init_AddAttribute(new AttributeDateTime("planned", array("allowed_values"=>null, "sql"=>"planned", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index 73009af20..d6e6b7c95 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -2510,18 +2510,16 @@ class AttributeDateTime extends AttributeDBField return $iUnixSeconds; } - // This has been done at the time when itop was using TIMESTAMP columns, - // now that iTop is using DATETIME columns, it seems possible to have IsNullAllowed returning false... later when this is needed - public function IsNullAllowed() {return true;} public function GetDefaultValue() { $default = parent::GetDefaultValue(); - if (!parent::IsNullAllowed()) + if (!empty($default)) { - if (empty($default)) + $iDate = strtotime($default); + if ($iDate !== false) { - $default = date($this->GetDateFormat()); + $default = date($this->GetDateFormat(), $iDate); } } diff --git a/core/cmdbchange.class.inc.php b/core/cmdbchange.class.inc.php index d0b49e570..efb40de5e 100644 --- a/core/cmdbchange.class.inc.php +++ b/core/cmdbchange.class.inc.php @@ -47,7 +47,7 @@ class CMDBChange extends DBObject ); MetaModel::Init_Params($aParams); //MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeDateTime("date", array("allowed_values"=>null, "sql"=>"date", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeDateTime("date", array("allowed_values"=>null, "sql"=>"date", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("userinfo", array("allowed_values"=>null, "sql"=>"userinfo", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); } diff --git a/core/dbproperty.class.inc.php b/core/dbproperty.class.inc.php index 6be724cae..679861c5c 100644 --- a/core/dbproperty.class.inc.php +++ b/core/dbproperty.class.inc.php @@ -51,7 +51,7 @@ class DBProperty extends DBObject MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("value", array("allowed_values"=>null, "sql"=>"value", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeDateTime("change_date", array("allowed_values"=>null, "sql"=>"change_date", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeDateTime("change_date", array("allowed_values"=>null, "sql"=>"change_date", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("change_comment", array("allowed_values"=>null, "sql"=>"change_comment", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); } diff --git a/core/event.class.inc.php b/core/event.class.inc.php index 2c1e4ccf8..e24f64554 100644 --- a/core/event.class.inc.php +++ b/core/event.class.inc.php @@ -46,7 +46,7 @@ class Event extends DBObject implements iDisplay MetaModel::Init_Params($aParams); //MetaModel::Init_InheritAttributes(); MetaModel::Init_AddAttribute(new AttributeText("message", array("allowed_values"=>null, "sql"=>"message", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeDateTime("date", array("allowed_values"=>null, "sql"=>"date", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeDateTime("date", array("allowed_values"=>null, "sql"=>"date", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("userinfo", array("allowed_values"=>null, "sql"=>"userinfo", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); // MetaModel::Init_AddAttribute(new AttributeString("userinfo", array("allowed_values"=>null, "sql"=>"userinfo", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); diff --git a/datamodels/1.x/itop-attachments/datamodel.itop-attachments.xml b/datamodels/1.x/itop-attachments/datamodel.itop-attachments.xml index afa70830e..90c30af5b 100644 --- a/datamodels/1.x/itop-attachments/datamodel.itop-attachments.xml +++ b/datamodels/1.x/itop-attachments/datamodel.itop-attachments.xml @@ -53,7 +53,7 @@ expire - false + true temp_id diff --git a/datamodels/1.x/itop-tickets-1.0.0/datamodel.itop-tickets.xml b/datamodels/1.x/itop-tickets-1.0.0/datamodel.itop-tickets.xml index c5309d821..81bb8c7d7 100644 --- a/datamodels/1.x/itop-tickets-1.0.0/datamodel.itop-tickets.xml +++ b/datamodels/1.x/itop-tickets-1.0.0/datamodel.itop-tickets.xml @@ -54,7 +54,7 @@ start_date - false + true lnkTicketToDoc diff --git a/datamodels/2.x/itop-attachments/datamodel.itop-attachments.xml b/datamodels/2.x/itop-attachments/datamodel.itop-attachments.xml index afa70830e..90c30af5b 100755 --- a/datamodels/2.x/itop-attachments/datamodel.itop-attachments.xml +++ b/datamodels/2.x/itop-attachments/datamodel.itop-attachments.xml @@ -53,7 +53,7 @@ expire - false + true temp_id diff --git a/synchro/synchrodatasource.class.inc.php b/synchro/synchrodatasource.class.inc.php index fb2bb1b38..aa09e35d9 100644 --- a/synchro/synchrodatasource.class.inc.php +++ b/synchro/synchrodatasource.class.inc.php @@ -1473,7 +1473,7 @@ class SynchroReplica extends DBObject implements iDisplay MetaModel::Init_AddAttribute(new AttributeInteger("dest_id", array("allowed_values"=>null, "sql"=>"dest_id", "default_value"=>0, "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeClass("dest_class", array("class_category"=>"", "more_values"=>"", "sql"=>"dest_class", "default_value"=>'Organization', "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeDateTime("status_last_seen", array("allowed_values"=>null, "sql"=>"status_last_seen", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeDateTime("status_last_seen", array("allowed_values"=>null, "sql"=>"status_last_seen", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('new,synchronized,modified,orphan,obsolete'), "sql"=>"status", "default_value"=>"new", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeBoolean("status_dest_creator", array("allowed_values"=>null, "sql"=>"status_dest_creator", "default_value"=>0, "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("status_last_error", array("allowed_values"=>null, "sql"=>"status_last_error", "default_value"=>'', "is_null_allowed"=>true, "depends_on"=>array())));