diff --git a/lib/documentmanagement/Document.inc b/lib/documentmanagement/Document.inc index 4d50c86..3d80099 100644 --- a/lib/documentmanagement/Document.inc +++ b/lib/documentmanagement/Document.inc @@ -67,6 +67,8 @@ class Document extends KTEntity { var $sParentFolderIDs; /** forward slash deliminated path from file system root */ var $sFullPath; + /** date the document was created */ + var $dCreated; /** * Document class constructor @@ -172,6 +174,10 @@ class Document extends KTEntity { $this->dModified = $dNewValue; } + function getCreatedDateTime() { + return $this->dCreated; + } + /** get the document description */ function getDescription() { return $this->sDescription; @@ -352,6 +358,7 @@ class Document extends KTEntity { 'parent_folder_ids' => $this->sParentFolderIDs, 'full_path' => $this->sFullPath, 'status_id' => $this->iStatusID, + 'created' => $this->dCreated, ); } @@ -367,6 +374,7 @@ class Document extends KTEntity { * @return boolean true on successful insert, false otherwise */ function create() { + $this->dCreated = getCurrentDateTime(); $res = parent::create(); if ($res === true) { @@ -487,6 +495,7 @@ class Document extends KTEntity { $oDocument->setMinorVersionNumber($sql->f("minor_version")); $oDocument->setIsCheckedOut($sql->f("is_checked_out")); $oDocument->setLastModifiedDate($sql->f("modified")); + $oDocument->dCreated = $sql->f("created"); $oDocument->sParentFolderIDs = $sql->f("parent_folder_ids"); $oDocument->sFullPath = $sql->f("full_path"); $oDocument->setCheckedOutUserID($sql->f("checked_out_user_id")); diff --git a/sql/mysql/install/tables.sql b/sql/mysql/install/tables.sql index 4a5311c..77c7ba9 100644 --- a/sql/mysql/install/tables.sql +++ b/sql/mysql/install/tables.sql @@ -329,12 +329,14 @@ CREATE TABLE documents ( full_path text, checked_out_user_id int(11) default NULL, status_id int(11) default NULL, + created datetime NOT NULL default '0000-00-00 00:00:00', UNIQUE KEY id (id), KEY fk_document_type_id (document_type_id), KEY fk_creator_id (creator_id), KEY fk_folder_id (folder_id), KEY fk_checked_out_user_id (checked_out_user_id), KEY fk_status_id (status_id) + KEY created (created) ) TYPE=InnoDB; -- -------------------------------------------------------- diff --git a/sql/mysql/upgrade/1.2.4-to-1.2.5.sql b/sql/mysql/upgrade/1.2.4-to-1.2.5.sql index 604df4e..d15519e 100644 --- a/sql/mysql/upgrade/1.2.4-to-1.2.5.sql +++ b/sql/mysql/upgrade/1.2.4-to-1.2.5.sql @@ -416,3 +416,8 @@ INSERT INTO `zseq_browse_criteria` SELECT MAX(`id`) FROM `browse_criteria`; ALTER TABLE `folders` ADD `permission_folder_id` INT; ALTER TABLE `folders` ADD INDEX ( `permission_folder_id` ) ; + +ALTER TABLE `documents` ADD `created` DATETIME NOT NULL ; +ALTER TABLE `documents` ADD INDEX ( `created` ) ; + +UPDATE documents AS D, document_transactions AS T SET D.created = T.datetime WHERE T.document_id = D.id AND T.transaction_id = 1;