Helpdesk da PluGzOne, baseado no osTicket
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

56 lines
2.2 KiB

/**
* @version v1.10.0
* @title Add collaborators to tasks
* @signature 9143a511719555e8f8f09b49523bd022
*
* This patch renames the %ticket_lock table to just %lock, which allows for
* it to be considered more flexible. Instead, it joins the lock to the
* ticket and task objects directly.
*
* It also redefines the collaborator table to link to a thread rather than
* to a ticket, which allows any object in the system with a thread to
* theoretically have collaborators.
*/
ALTER TABLE `%TABLE_PREFIX%ticket`
ADD `lock_id` int(11) unsigned NOT NULL default '0' AFTER `email_id`;
RENAME TABLE `%TABLE_PREFIX%ticket_lock` TO `%TABLE_PREFIX%lock`;
ALTER TABLE `%TABLE_PREFIX%lock`
DROP COLUMN `ticket_id`,
ADD `code` varchar(20) AFTER `expire`;
-- Drop all the current locks as they do not point to anything now
TRUNCATE TABLE `%TABLE_PREFIX%lock`;
CREATE TABLE `%TABLE_PREFIX%thread_collaborator` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`isactive` tinyint(1) NOT NULL DEFAULT '1',
`thread_id` int(11) unsigned NOT NULL DEFAULT '0',
`user_id` int(11) unsigned NOT NULL DEFAULT '0',
-- M => (message) clients, N => (note) 3rd-Party, R => (reply) external authority
`role` char(1) NOT NULL DEFAULT 'M',
`created` datetime NOT NULL,
`updated` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `collab` (`thread_id`,`user_id`),
KEY `user_id` (`user_id`)
) DEFAULT CHARSET=utf8;
-- Drop zombie collaborators from tickets which were deleted and had
-- collaborators and the collaborators were not removed
INSERT INTO `%TABLE_PREFIX%thread_collaborator`
(`id`, `isactive`, `thread_id`, `user_id`, `role`, `created`, `updated`)
SELECT t1.`id`, t1.`isactive`, t2.`id`, t1.`user_id`, t1.`role`, t2.`created`, t1.`updated`
FROM `%TABLE_PREFIX%ticket_collaborator` t1
JOIN `%TABLE_PREFIX%thread` t2 ON (t2.`object_id` = t1.`ticket_id` and t2.`object_type` = 'T');
DROP TABLE `%TABLE_PREFIX%ticket_collaborator`;
ALTER TABLE `%TABLE_PREFIX%task`
ADD `lock_id` int(11) unsigned NOT NULL DEFAULT '0' AFTER `team_id`;
-- Finished with patch
UPDATE `%TABLE_PREFIX%config`
SET `value` = '9143a511719555e8f8f09b49523bd022'
WHERE `key` = 'schema_signature' AND `namespace` = 'core';