diff --git a/CHANGELOG b/CHANGELOG index 346b7f4ea..dfecac91d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -108,6 +108,7 @@ - new calendar - move folder/document properly checks for access right if done by drag and drop (Closes #309) +- show workflow log on document details page -------------------------------------------------------------------------------- Changes in version 4.3.32 diff --git a/install/create_tables-innodb.sql b/install/create_tables-innodb.sql index 25e1779cb..e3c6fd6df 100644 --- a/install/create_tables-innodb.sql +++ b/install/create_tables-innodb.sql @@ -1,60 +1,60 @@ --- +-- -- Table structure for table `tblACLs` --- +-- CREATE TABLE `tblACLs` ( - `id` int(11) NOT NULL auto_increment, - `target` int(11) NOT NULL default '0', - `targetType` tinyint(4) NOT NULL default '0', - `userID` int(11) NOT NULL default '-1', - `groupID` int(11) NOT NULL default '-1', - `mode` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Table structure for table `tblCategory` --- - -CREATE TABLE `tblCategory` ( - `id` int(11) NOT NULL auto_increment, - `name` text NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Table structure for table `tblAttributeDefinitions` --- - -CREATE TABLE `tblAttributeDefinitions` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(100) default NULL, - `objtype` tinyint(4) NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `multiple` tinyint(4) NOT NULL default '0', - `minvalues` int(11) NOT NULL default '0', - `maxvalues` int(11) NOT NULL default '0', - `valueset` text default NULL, - `regex` text default NULL, - UNIQUE(`name`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `target` int(11) NOT NULL DEFAULT '0', + `targetType` tinyint(4) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '-1', + `groupID` int(11) NOT NULL DEFAULT '-1', + `mode` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- +-- Table structure for table `tblCategory` +-- + +CREATE TABLE `tblCategory` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `tblAttributeDefinitions` +-- + +CREATE TABLE `tblAttributeDefinitions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `objtype` tinyint(4) NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `multiple` tinyint(4) NOT NULL DEFAULT '0', + `minvalues` int(11) NOT NULL DEFAULT '0', + `maxvalues` int(11) NOT NULL DEFAULT '0', + `valueset` text DEFAULT NULL, + `regex` text DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- -- Table structure for table `tblUsers` --- +-- CREATE TABLE `tblRoles` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(50) default NULL, - `role` smallint(1) NOT NULL default '0', - `noaccess` varchar(30) NOT NULL default '', + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) DEFAULT NULL, + `role` smallint(1) NOT NULL DEFAULT '0', + `noaccess` varchar(30) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -66,107 +66,111 @@ CREATE TABLE `tblRoles` ( -- CREATE TABLE `tblUsers` ( - `id` int(11) NOT NULL auto_increment, - `login` varchar(50) default NULL, - `pwd` varchar(50) default NULL, - `secret` varchar(50) default NULL, - `fullName` varchar(100) default NULL, - `email` varchar(70) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `login` varchar(50) DEFAULT NULL, + `pwd` varchar(50) DEFAULT NULL, + `secret` varchar(50) DEFAULT NULL, + `fullName` varchar(100) DEFAULT NULL, + `email` varchar(70) DEFAULT NULL, `language` varchar(32) NOT NULL, `theme` varchar(32) NOT NULL, `comment` text NOT NULL, `role` int(11) NOT NULL, - `hidden` smallint(1) NOT NULL default '0', - `pwdExpiration` datetime default NULL, - `loginfailures` tinyint(4) NOT NULL default '0', - `disabled` smallint(1) NOT NULL default '0', - `quota` bigint, - `homefolder` int(11) default NULL, + `hidden` smallint(1) NOT NULL DEFAULT '0', + `pwdExpiration` datetime DEFAULT NULL, + `loginfailures` tinyint(4) NOT NULL DEFAULT '0', + `disabled` smallint(1) NOT NULL DEFAULT '0', + `quota` bigint(20) DEFAULT NULL, + `homefolder` int(11) DEFAULT NULL, PRIMARY KEY (`id`), - UNIQUE (`login`), + UNIQUE KEY `login` (`login`), CONSTRAINT `tblUsers_role` FOREIGN KEY (`role`) REFERENCES `tblRoles` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserSubstitutes` --- +-- CREATE TABLE `tblUserSubstitutes` ( - `id` int(11) NOT NULL auto_increment, - `user` int(11) default null, - `substitute` int(11) default null, + `id` int(11) NOT NULL AUTO_INCREMENT, + `user` int(11) DEFAULT null, + `substitute` int(11) DEFAULT null, PRIMARY KEY (`id`), - UNIQUE (`user`, `substitute`), + UNIQUE KEY `user` (`user`,`substitute`), CONSTRAINT `tblUserSubstitutes_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, CONSTRAINT `tblUserSubstitutes_substitute` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ); -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserPasswordRequest` --- +-- CREATE TABLE `tblUserPasswordRequest` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', - `hash` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', + `hash` varchar(50) DEFAULT NULL, `date` datetime NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblUserPasswordRequest_user` (`userID`), CONSTRAINT `tblUserPasswordRequest_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserPasswordHistory` --- +-- CREATE TABLE `tblUserPasswordHistory` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', - `pwd` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', + `pwd` varchar(50) DEFAULT NULL, `date` datetime NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblUserPasswordHistory_user` (`userID`), CONSTRAINT `tblUserPasswordHistory_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblUserImages` --- +-- CREATE TABLE `tblUserImages` ( - `id` int(11) NOT NULL auto_increment, - `userID` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `userID` int(11) NOT NULL DEFAULT '0', `image` blob NOT NULL, - `mimeType` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`), + `mimeType` varchar(100) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `tblUserImages_user` (`userID`), CONSTRAINT `tblUserImages_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblFolders` --- +-- CREATE TABLE `tblFolders` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(70) default NULL, - `parent` int(11) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(70) DEFAULT NULL, + `parent` int(11) DEFAULT NULL, `folderList` text NOT NULL, `comment` text, - `date` int(12) default NULL, - `owner` int(11) default NULL, - `inheritAccess` tinyint(1) NOT NULL default '1', - `defaultAccess` tinyint(4) NOT NULL default '0', - `sequence` double NOT NULL default '0', - PRIMARY KEY (`id`), + `date` int(12) DEFAULT NULL, + `owner` int(11) DEFAULT NULL, + `inheritAccess` tinyint(1) NOT NULL DEFAULT '1', + `defaultAccess` tinyint(4) NOT NULL DEFAULT '0', + `sequence` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), KEY `parent` (`parent`), + KEY `tblFolders_owner` (`owner`), CONSTRAINT `tblFolders_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -174,153 +178,163 @@ ALTER TABLE `tblUsers` ADD CONSTRAINT `tblUsers_homefolder` FOREIGN KEY (`homefo -- -------------------------------------------------------- --- +-- -- Table structure for table `tblFolderAttributes` --- +-- CREATE TABLE `tblFolderAttributes` ( - `id` int(11) NOT NULL auto_increment, - `folder` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (folder, attrdef), - CONSTRAINT `tblFolderAttributes_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblFolderAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `folder` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `folder` (`folder`,`attrdef`), + KEY `tblFolderAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblFolderAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblFolderAttributes_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocuments` --- +-- CREATE TABLE `tblDocuments` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(150) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(150) DEFAULT NULL, `comment` text, - `date` int(12) default NULL, - `expires` int(12) default NULL, - `owner` int(11) default NULL, - `folder` int(11) default NULL, + `date` int(12) DEFAULT NULL, + `expires` int(12) DEFAULT NULL, + `owner` int(11) DEFAULT NULL, + `folder` int(11) DEFAULT NULL, `folderList` text NOT NULL, - `inheritAccess` tinyint(1) NOT NULL default '1', - `defaultAccess` tinyint(4) NOT NULL default '0', - `locked` int(11) NOT NULL default '-1', + `inheritAccess` tinyint(1) NOT NULL DEFAULT '1', + `defaultAccess` tinyint(4) NOT NULL DEFAULT '0', + `locked` int(11) NOT NULL DEFAULT '-1', `keywords` text NOT NULL, - `sequence` double NOT NULL default '0', - PRIMARY KEY (`id`), + `sequence` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblDocuments_folder` (`folder`), + KEY `tblDocuments_owner` (`owner`), CONSTRAINT `tblDocuments_folder` FOREIGN KEY (`folder`) REFERENCES `tblFolders` (`id`), CONSTRAINT `tblDocuments_owner` FOREIGN KEY (`owner`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentAttributes` --- +-- CREATE TABLE `tblDocumentAttributes` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (document, attrdef), - CONSTRAINT `tblDocumentAttributes_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblDocumentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `document` (`document`,`attrdef`), + KEY `tblDocumentAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblDocumentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblDocumentAttributes_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentApprovers` --- +-- CREATE TABLE `tblDocumentApprovers` ( - `approveID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`approveID`), + `approveID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`approveID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentApprovers_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentApproveLog` --- +-- CREATE TABLE `tblDocumentApproveLog` ( - `approveLogID` int(11) NOT NULL auto_increment, - `approveID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `approveLogID` int(11) NOT NULL AUTO_INCREMENT, + `approveID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`approveLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`approveLogID`), + KEY `tblDocumentApproveLog_approve` (`approveID`), + KEY `tblDocumentApproveLog_user` (`userID`), CONSTRAINT `tblDocumentApproveLog_approve` FOREIGN KEY (`approveID`) REFERENCES `tblDocumentApprovers` (`approveID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentApproveLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentContent` --- +-- CREATE TABLE `tblDocumentContent` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', `version` smallint(5) unsigned NOT NULL, `comment` text, - `date` int(12) default NULL, - `createdBy` int(11) default NULL, - `dir` varchar(255) NOT NULL default '', - `orgFileName` varchar(150) NOT NULL default '', - `fileType` varchar(10) NOT NULL default '', - `mimeType` varchar(100) NOT NULL default '', - `fileSize` BIGINT, - `checksum` char(32), - `revisiondate` datetime default NULL, - PRIMARY KEY (`id`), - UNIQUE (`document`, `version`), + `date` int(12) DEFAULT NULL, + `createdBy` int(11) DEFAULT NULL, + `dir` varchar(255) NOT NULL DEFAULT '', + `orgFileName` varchar(150) NOT NULL DEFAULT '', + `fileType` varchar(10) NOT NULL DEFAULT '', + `mimeType` varchar(100) NOT NULL DEFAULT '', + `fileSize` bigint(20) DEFAULT NULL, + `checksum` char(32) DEFAULT NULL, + `revisiondate` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `document` (`document`,`version`), CONSTRAINT `tblDocumentContent_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentContentAttributes` --- +-- CREATE TABLE `tblDocumentContentAttributes` ( - `id` int(11) NOT NULL auto_increment, - `content` int(11) default NULL, - `attrdef` int(11) default NULL, - `value` text default NULL, - PRIMARY KEY (`id`), - UNIQUE (content, attrdef), - CONSTRAINT `tblDocumentContentAttributes_document` FOREIGN KEY (`content`) REFERENCES `tblDocumentContent` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblDocumentContentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `content` int(11) DEFAULT NULL, + `attrdef` int(11) DEFAULT NULL, + `value` text, + PRIMARY KEY (`id`), + UNIQUE KEY `content` (`content`,`attrdef`), + KEY `tblDocumentContentAttributes_attrdef` (`attrdef`), + CONSTRAINT `tblDocumentContentAttributes_attrdef` FOREIGN KEY (`attrdef`) REFERENCES `tblAttributeDefinitions` (`id`), + CONSTRAINT `tblDocumentContentAttributes_document` FOREIGN KEY (`content`) REFERENCES `tblDocumentContent` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentLinks` --- +-- CREATE TABLE `tblDocumentLinks` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', - `target` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `public` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', + `target` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + `public` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblDocumentLinks_document` (`document`), + KEY `tblDocumentLinks_target` (`target`), + KEY `tblDocumentLinks_user` (`userID`), CONSTRAINT `tblDocumentLinks_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLinks_target` FOREIGN KEY (`target`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLinks_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) @@ -328,57 +342,58 @@ CREATE TABLE `tblDocumentLinks` ( -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentFiles` --- +-- CREATE TABLE `tblDocumentFiles` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `public` tinyint(1) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + `public` tinyint(1) NOT NULL DEFAULT '0', `comment` text, - `name` varchar(150) default NULL, - `date` int(12) default NULL, - `dir` varchar(255) NOT NULL default '', - `orgFileName` varchar(150) NOT NULL default '', - `fileType` varchar(10) NOT NULL default '', - `mimeType` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`), + `name` varchar(150) DEFAULT NULL, + `date` int(12) DEFAULT NULL, + `dir` varchar(255) NOT NULL DEFAULT '', + `orgFileName` varchar(150) NOT NULL DEFAULT '', + `fileType` varchar(10) NOT NULL DEFAULT '', + `mimeType` varchar(100) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `tblDocumentFiles_document` (`document`), + KEY `tblDocumentFiles_user` (`userID`), CONSTRAINT `tblDocumentFiles_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentFiles_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - - -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentLocks` --- +-- CREATE TABLE `tblDocumentLocks` ( - `document` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`document`), + `document` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`document`), + KEY `tblDocumentLocks_user` (`userID`), CONSTRAINT `tblDocumentLocks_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentLocks_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentCheckOuts` --- +-- CREATE TABLE `tblDocumentCheckOuts` ( - `document` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `userID` int(11) NOT NULL default '0', + `document` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', `date` datetime NOT NULL, - `filename` varchar(255) NOT NULL default '', - PRIMARY KEY (`document`), + `filename` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`document`), CONSTRAINT `tblDocumentCheckOuts_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentCheckOuts_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -387,465 +402,491 @@ CREATE TABLE `tblDocumentCheckOuts` ( -- -- Table structure for table `tblDocumentReviewers` --- +-- CREATE TABLE `tblDocumentReviewers` ( - `reviewID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`reviewID`), + `reviewID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`reviewID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentReviewers_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentReviewLog` --- +-- CREATE TABLE `tblDocumentReviewLog` ( - `reviewLogID` int(11) NOT NULL auto_increment, - `reviewID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `reviewLogID` int(11) NOT NULL AUTO_INCREMENT, + `reviewID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`reviewLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`reviewLogID`), + KEY `tblDocumentReviewLog_review` (`reviewID`), + KEY `tblDocumentReviewLog_user` (`userID`), CONSTRAINT `tblDocumentReviewLog_review` FOREIGN KEY (`reviewID`) REFERENCES `tblDocumentReviewers` (`reviewID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentReviewLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRecipients` --- +-- CREATE TABLE `tblDocumentRecipients` ( - `receiptID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - PRIMARY KEY (`receiptID`), + `receiptID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`receiptID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentRecipients_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentReceiptLog` --- +-- CREATE TABLE `tblDocumentReceiptLog` ( - `receiptLogID` int(11) NOT NULL auto_increment, - `receiptID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `receiptLogID` int(11) NOT NULL AUTO_INCREMENT, + `receiptID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`receiptLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`receiptLogID`), CONSTRAINT `tblDocumentReceiptLog_recipient` FOREIGN KEY (`receiptID`) REFERENCES `tblDocumentRecipients` (`receiptID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentReceiptLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRevisors` --- +-- CREATE TABLE `tblDocumentRevisors` ( - `revisionID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - `type` tinyint(4) NOT NULL default '0', - `required` int(11) NOT NULL default '0', - `startdate` datetime default NULL, - PRIMARY KEY (`revisionID`), + `revisionID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` tinyint(4) NOT NULL DEFAULT '0', + `required` int(11) NOT NULL DEFAULT '0', + `startdate` datetime DEFAULT NULL, + PRIMARY KEY (`revisionID`), UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`), CONSTRAINT `tblDocumentRevisors_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentRevisionLog` --- +-- CREATE TABLE `tblDocumentRevisionLog` ( - `revisionLogID` int(11) NOT NULL auto_increment, - `revisionID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `revisionLogID` int(11) NOT NULL AUTO_INCREMENT, + `revisionID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`revisionLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`revisionLogID`), CONSTRAINT `tblDocumentRevisionLog_revision` FOREIGN KEY (`revisionID`) REFERENCES `tblDocumentRevisors` (`revisionID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentRevisionLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- + +-- -- Table structure for table `tblDocumentStatus` --- +-- CREATE TABLE `tblDocumentStatus` ( - `statusID` int(11) NOT NULL auto_increment, - `documentID` int(11) NOT NULL default '0', - `version` smallint(5) unsigned NOT NULL default '0', - PRIMARY KEY (`statusID`), + `statusID` int(11) NOT NULL AUTO_INCREMENT, + `documentID` int(11) NOT NULL DEFAULT '0', + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`statusID`), UNIQUE KEY `documentID` (`documentID`,`version`), CONSTRAINT `tblDocumentStatus_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentStatusLog` --- +-- CREATE TABLE `tblDocumentStatusLog` ( - `statusLogID` int(11) NOT NULL auto_increment, - `statusID` int(11) NOT NULL default '0', - `status` tinyint(4) NOT NULL default '0', + `statusLogID` int(11) NOT NULL AUTO_INCREMENT, + `statusID` int(11) NOT NULL DEFAULT '0', + `status` tinyint(4) NOT NULL DEFAULT '0', `comment` text NOT NULL, `date` datetime NOT NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`statusLogID`), + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`statusLogID`), KEY `statusID` (`statusID`), + KEY `tblDocumentStatusLog_user` (`userID`), CONSTRAINT `tblDocumentStatusLog_status` FOREIGN KEY (`statusID`) REFERENCES `tblDocumentStatus` (`statusID`) ON DELETE CASCADE, CONSTRAINT `tblDocumentStatusLog_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblGroups` --- +-- CREATE TABLE `tblGroups` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(50) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) DEFAULT NULL, `comment` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblGroupMembers` --- +-- CREATE TABLE `tblGroupMembers` ( - `groupID` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '0', - `manager` smallint(1) NOT NULL default '0', - UNIQUE (`groupID`,`userID`), - CONSTRAINT `tblGroupMembers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblGroupMembers_group` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE + `groupID` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '0', + `manager` smallint(1) NOT NULL DEFAULT '0', + UNIQUE KEY `groupID` (`groupID`,`userID`), + KEY `tblGroupMembers_user` (`userID`), + CONSTRAINT `tblGroupMembers_group` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblGroupMembers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblKeywordCategories` --- +-- CREATE TABLE `tblKeywordCategories` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(255) NOT NULL default '', - `owner` int(11) NOT NULL default '0', - PRIMARY KEY (`id`) + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `owner` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblKeywords` --- +-- CREATE TABLE `tblKeywords` ( - `id` int(11) NOT NULL auto_increment, - `category` int(11) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `category` int(11) NOT NULL DEFAULT '0', `keywords` text NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblKeywords_category` (`category`), CONSTRAINT `tblKeywords_category` FOREIGN KEY (`category`) REFERENCES `tblKeywordCategories` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblDocumentCategory` --- +-- CREATE TABLE `tblDocumentCategory` ( - `categoryID` int(11) NOT NULL default 0, - `documentID` int(11) NOT NULL default 0, + `categoryID` int(11) NOT NULL DEFAULT '0', + `documentID` int(11) NOT NULL DEFAULT '0', + KEY `tblDocumentCategory_category` (`categoryID`), + KEY `tblDocumentCategory_document` (`documentID`), CONSTRAINT `tblDocumentCategory_category` FOREIGN KEY (`categoryID`) REFERENCES `tblCategory` (`id`) ON DELETE CASCADE, CONSTRAINT `tblDocumentCategory_document` FOREIGN KEY (`documentID`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblNotify` --- +-- CREATE TABLE `tblNotify` ( - `target` int(11) NOT NULL default '0', - `targetType` int(11) NOT NULL default '0', - `userID` int(11) NOT NULL default '-1', - `groupID` int(11) NOT NULL default '-1', - PRIMARY KEY (`target`,`targetType`,`userID`,`groupID`) + `target` int(11) NOT NULL DEFAULT '0', + `targetType` int(11) NOT NULL DEFAULT '0', + `userID` int(11) NOT NULL DEFAULT '-1', + `groupID` int(11) NOT NULL DEFAULT '-1', + PRIMARY KEY (`target`,`targetType`,`userID`,`groupID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for table `tblSessions` --- +-- CREATE TABLE `tblSessions` ( - `id` varchar(50) NOT NULL default '', - `userID` int(11) NOT NULL default '0', - `lastAccess` int(11) NOT NULL default '0', - `theme` varchar(30) NOT NULL default '', - `language` varchar(30) NOT NULL default '', - `clipboard` text default NULL, - `su` INTEGER DEFAULT NULL, - `splashmsg` text default NULL, - PRIMARY KEY (`id`), + `id` varchar(50) NOT NULL DEFAULT '', + `userID` int(11) NOT NULL DEFAULT '0', + `lastAccess` int(11) NOT NULL DEFAULT '0', + `theme` varchar(30) NOT NULL DEFAULT '', + `language` varchar(30) NOT NULL DEFAULT '', + `clipboard` text, + `su` int(11) DEFAULT NULL, + `splashmsg` text, + PRIMARY KEY (`id`), + KEY `tblSessions_user` (`userID`), CONSTRAINT `tblSessions_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory reviewers --- +-- +-- Table structure for table `tblMandatoryReviewers` +-- CREATE TABLE `tblMandatoryReviewers` ( - `userID` int(11) NOT NULL default '0', - `reviewerUserID` int(11) NOT NULL default '0', - `reviewerGroupID` int(11) NOT NULL default '0', - PRIMARY KEY (`userID`,`reviewerUserID`,`reviewerGroupID`), + `userID` int(11) NOT NULL DEFAULT '0', + `reviewerUserID` int(11) NOT NULL DEFAULT '0', + `reviewerGroupID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`userID`,`reviewerUserID`,`reviewerGroupID`), CONSTRAINT `tblMandatoryReviewers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory approvers --- +-- +-- Table structure for table `tblMandatoryApprovers` +-- CREATE TABLE `tblMandatoryApprovers` ( - `userID` int(11) NOT NULL default '0', - `approverUserID` int(11) NOT NULL default '0', - `approverGroupID` int(11) NOT NULL default '0', - PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`), + `userID` int(11) NOT NULL DEFAULT '0', + `approverUserID` int(11) NOT NULL DEFAULT '0', + `approverGroupID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`), CONSTRAINT `tblMandatoryApprovers_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for events (calendar) --- +-- +-- Table structure for table `tblEvents` +-- CREATE TABLE `tblEvents` ( - `id` int(11) NOT NULL auto_increment, - `name` varchar(150) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(150) DEFAULT NULL, `comment` text, - `start` int(12) default NULL, - `stop` int(12) default NULL, - `date` int(12) default NULL, - `userID` int(11) NOT NULL default '0', - PRIMARY KEY (`id`) + `start` int(12) DEFAULT NULL, + `stop` int(12) DEFAULT NULL, + `date` int(12) DEFAULT NULL, + `userID` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow states --- +-- +-- Table structure for table `tblWorkflowStates` +-- CREATE TABLE `tblWorkflowStates` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, - `visibility` smallint(5) DEFAULT 0, - `maxtime` int(11) DEFAULT 0, - `precondfunc` text DEFAULT NULL, + `visibility` smallint(5) DEFAULT '0', + `maxtime` int(11) DEFAULT '0', + `precondfunc` text, `documentstatus` smallint(5) DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow actions --- +-- +-- Table structure for table `tblWorkflowActions` +-- CREATE TABLE `tblWorkflowActions` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflows --- +-- +-- Table structure for table `tblWorkflows` +-- CREATE TABLE `tblWorkflows` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, `initstate` int(11) NOT NULL, - `layoutdata` text default NULL, - PRIMARY KEY (`id`), + `layoutdata` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflow_initstate` (`initstate`), CONSTRAINT `tblWorkflow_initstate` FOREIGN KEY (`initstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transitions --- +-- +-- Table structure for table `tblWorkflowTransitions` +-- CREATE TABLE `tblWorkflowTransitions` ( - `id` int(11) NOT NULL auto_increment, - `workflow` int(11) default NULL, - `state` int(11) default NULL, - `action` int(11) default NULL, - `nextstate` int(11) default NULL, - `maxtime` int(11) DEFAULT 0, - PRIMARY KEY (`id`), - CONSTRAINT `tblWorkflowTransitions_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitions_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + `id` int(11) NOT NULL AUTO_INCREMENT, + `workflow` int(11) DEFAULT NULL, + `state` int(11) DEFAULT NULL, + `action` int(11) DEFAULT NULL, + `nextstate` int(11) DEFAULT NULL, + `maxtime` int(11) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitions_workflow` (`workflow`), + KEY `tblWorkflowTransitions_state` (`state`), + KEY `tblWorkflowTransitions_action` (`action`), + KEY `tblWorkflowTransitions_nextstate` (`nextstate`), CONSTRAINT `tblWorkflowTransitions_action` FOREIGN KEY (`action`) REFERENCES `tblWorkflowActions` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitions_nextstate` FOREIGN KEY (`nextstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowTransitions_nextstate` FOREIGN KEY (`nextstate`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitions_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitions_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transition users --- +-- +-- Table structure for table `tblWorkflowTransitionUsers` +-- CREATE TABLE `tblWorkflowTransitionUsers` ( - `id` int(11) NOT NULL auto_increment, - `transition` int(11) default NULL, - `userid` int(11) default NULL, - PRIMARY KEY (`id`), + `id` int(11) NOT NULL AUTO_INCREMENT, + `transition` int(11) DEFAULT NULL, + `userid` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitionUsers_transition` (`transition`), + KEY `tblWorkflowTransitionUsers_userid` (`userid`), CONSTRAINT `tblWorkflowTransitionUsers_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, CONSTRAINT `tblWorkflowTransitionUsers_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow transition groups --- +-- +-- Table structure for table `tblWorkflowTransitionGroups` +-- CREATE TABLE `tblWorkflowTransitionGroups` ( - `id` int(11) NOT NULL auto_increment, - `transition` int(11) default NULL, - `groupid` int(11) default NULL, - `minusers` int(11) default NULL, - PRIMARY KEY (`id`), - CONSTRAINT `tblWorkflowTransitionGroups_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowTransitionGroups_groupid` FOREIGN KEY (`groupID`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE + `id` int(11) NOT NULL AUTO_INCREMENT, + `transition` int(11) DEFAULT NULL, + `groupid` int(11) DEFAULT NULL, + `minusers` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `tblWorkflowTransitionGroups_transition` (`transition`), + KEY `tblWorkflowTransitionGroups_groupid` (`groupid`), + CONSTRAINT `tblWorkflowTransitionGroups_groupid` FOREIGN KEY (`groupid`) REFERENCES `tblGroups` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowTransitionGroups_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow log --- +-- +-- Table structure for table `tblWorkflowLog` +-- CREATE TABLE `tblWorkflowLog` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `version` smallint(5) default NULL, - `workflow` int(11) default NULL, - `userid` int(11) default NULL, - `transition` int(11) default NULL, + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `version` smallint(5) DEFAULT NULL, + `workflow` int(11) DEFAULT NULL, + `userid` int(11) DEFAULT NULL, + `transition` int(11) DEFAULT NULL, `date` datetime NOT NULL, `comment` text, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), + KEY `tblWorkflowLog_document` (`document`), + KEY `tblWorkflowLog_workflow` (`workflow`), + KEY `tblWorkflowLog_userid` (`userid`), + KEY `tblWorkflowLog_transition` (`transition`), CONSTRAINT `tblWorkflowLog_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowLog_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowLog_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE, CONSTRAINT `tblWorkflowLog_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowLog_transition` FOREIGN KEY (`transition`) REFERENCES `tblWorkflowTransitions` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowLog_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for workflow document relation --- +-- +-- Table structure for table `tblWorkflowDocumentContent` +-- CREATE TABLE `tblWorkflowDocumentContent` ( - `parentworkflow` int(11) DEFAULT 0, + `parentworkflow` int(11) DEFAULT '0', `workflow` int(11) DEFAULT NULL, `document` int(11) DEFAULT NULL, `version` smallint(5) DEFAULT NULL, `state` int(11) DEFAULT NULL, `date` datetime NOT NULL, + KEY `tblWorkflowDocument_document` (`document`), + KEY `tblWorkflowDocument_workflow` (`workflow`), + KEY `tblWorkflowDocument_state` (`state`), CONSTRAINT `tblWorkflowDocument_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowDocument_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowDocument_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE + CONSTRAINT `tblWorkflowDocument_state` FOREIGN KEY (`state`) REFERENCES `tblWorkflowStates` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowDocument_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- --- Table structure for mandatory workflows --- +-- +-- Table structure for table `tblWorkflowMandatoryWorkflow` +-- CREATE TABLE `tblWorkflowMandatoryWorkflow` ( - `userid` int(11) default NULL, - `workflow` int(11) default NULL, - UNIQUE(userid, workflow), - CONSTRAINT `tblWorkflowMandatoryWorkflow_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, - CONSTRAINT `tblWorkflowMandatoryWorkflow_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE + `userid` int(11) DEFAULT NULL, + `workflow` int(11) DEFAULT NULL, + UNIQUE KEY `userid` (`userid`,`workflow`), + KEY `tblWorkflowMandatoryWorkflow_workflow` (`workflow`), + CONSTRAINT `tblWorkflowMandatoryWorkflow_userid` FOREIGN KEY (`userid`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, + CONSTRAINT `tblWorkflowMandatoryWorkflow_workflow` FOREIGN KEY (`workflow`) REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for transmittal --- +-- CREATE TABLE `tblTransmittals` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, `comment` text NOT NULL, - `userID` int(11) NOT NULL default '0', - `date` datetime default NULL, - `public` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`), + `userID` int(11) NOT NULL DEFAULT '0', + `date` datetime DEFAULT NULL, + `public` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), CONSTRAINT `tblTransmittals_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- --- +-- -- Table structure for transmittal item --- +-- CREATE TABLE `tblTransmittalItems` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `transmittal` int(11) NOT NULL DEFAULT '0', - `document` int(11) default NULL, - `version` smallint(5) unsigned NOT NULL default '0', - `date` datetime default NULL, - PRIMARY KEY (`id`), + `document` int(11) DEFAULT NULL, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `date` datetime DEFAULT NULL, + PRIMARY KEY (`id`), UNIQUE (transmittal, document, version), CONSTRAINT `tblTransmittalItems_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblTransmittalItem_transmittal` FOREIGN KEY (`transmittal`) REFERENCES `tblTransmittals` (`id`) ON DELETE CASCADE @@ -858,10 +899,10 @@ CREATE TABLE `tblTransmittalItems` ( -- CREATE TABLE `tblCachedAccess` ( - `id` int(11) NOT NULL auto_increment, - `document` int(11) default NULL, - `user` int(11) default null, - `mode` tinyint(4) NOT NULL default '0', + `id` int(11) NOT NULL AUTO_INCREMENT, + `document` int(11) DEFAULT NULL, + `user` int(11) DEFAULT null, + `mode` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), CONSTRAINT `tblCachedAccess_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, CONSTRAINT `tblCachedAccess_user` FOREIGN KEY (`user`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE @@ -874,7 +915,7 @@ CREATE TABLE `tblCachedAccess` ( -- CREATE TABLE `tblAros` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `parent` int(11), `model` text NOT NULL, `foreignid` int(11) NOT NULL DEFAULT '0', @@ -889,7 +930,7 @@ CREATE TABLE `tblAros` ( -- CREATE TABLE `tblAcos` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `parent` int(11), `model` text NOT NULL, `foreignid` int(11) NOT NULL DEFAULT '0', @@ -904,7 +945,7 @@ CREATE TABLE `tblAcos` ( -- CREATE TABLE `tblArosAcos` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `aro` int(11) NOT NULL DEFAULT '0', `aco` int(11) NOT NULL DEFAULT '0', `create` tinyint(4) NOT NULL DEFAULT '-1', @@ -919,15 +960,15 @@ CREATE TABLE `tblArosAcos` ( -- -------------------------------------------------------- --- --- Table structure for version --- +-- +-- Table structure for table `tblVersion` +-- CREATE TABLE `tblVersion` ( `date` datetime NOT NULL, - `major` smallint, - `minor` smallint, - `subminor` smallint + `major` smallint(6) DEFAULT NULL, + `minor` smallint(6) DEFAULT NULL, + `subminor` smallint(6) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- diff --git a/views/bootstrap/class.DocumentVersionDetail.php b/views/bootstrap/class.DocumentVersionDetail.php index 92a5b34e3..177879438 100644 --- a/views/bootstrap/class.DocumentVersionDetail.php +++ b/views/bootstrap/class.DocumentVersionDetail.php @@ -473,6 +473,25 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style { print "\n\n"; $this->contentContainerEnd(); + $wkflogs = $version->getWorkflowLog(); + if($wkflogs) { + $this->contentHeading(getMLText("workflow_summary")); + $this->contentContainerStart(); + echo ""; + echo "\n"; + echo ""; + foreach($wkflogs as $wkflog) { + echo ""; + echo ""; + echo ""; + $loguser = $wkflog->getUser(); + echo ""; + echo ""; + echo ""; + } + print "\n
".getMLText('date')."".getMLText('action')."".getMLText('user')."".getMLText('comment')."
".$wkflog->getDate()."".$wkflog->getTransition()->getAction()->getName()."".$loguser->getFullName()."".$wkflog->getComment()."
\n"; + $this->contentContainerEnd(); + } ?>