diff --git a/include/class.osticket.php b/include/class.osticket.php index 2f06453973fc318c303a76edb18cb5b3195ff745..2e082d2dc323cb21513788370b658ed412fa8f9d 100644 --- a/include/class.osticket.php +++ b/include/class.osticket.php @@ -313,7 +313,8 @@ class osTicket { return false; //Alert admin if enabled... - if($alert && $this->getConfig()->getLogLevel() >= $level) + $alert = $alert && !$this->isUpgradePending(); + if ($alert && $this->getConfig()->getLogLevel() >= $level) $this->alertAdmin($title, $message); //Save log based on system log level settings. diff --git a/include/class.staff.php b/include/class.staff.php index ceb42129cd1ef9b2c22a47ff281eed68ca2d8869..457ab1787462e340b4a9610efb8ff72397732d5e 100644 --- a/include/class.staff.php +++ b/include/class.staff.php @@ -386,7 +386,8 @@ implements AuthenticatedUser, EmailContact, TemplateVariable { } function getTimezone() { - return $this->timezone; + if (isset($this->timezone)) + return $this->timezone; } function getLocale() { diff --git a/include/i18n/en_US/list.yaml b/include/i18n/en_US/list.yaml index 2dbd2e7a4145fddd34ca064bf50bc7da19a49341..d4e4f6a6c14abce41c8217f42a37de250096c69c 100644 --- a/include/i18n/en_US/list.yaml +++ b/include/i18n/en_US/list.yaml @@ -32,7 +32,7 @@ properties: title: Ticket Status Properties instructions: Properties that can be set on a ticket status. - deletable: false + flags: 0 fields: - type: state # notrans name: state # notrans diff --git a/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql b/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql index ceabe6eee63488943e3f0e2068796cff2691a0c9..e20f60e8bf09640416ec3ca35821dc3f1d232425 100644 --- a/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql +++ b/include/upgrader/streams/core/36f6b328-5cd0a25a.patch.sql @@ -71,10 +71,12 @@ INSERT INTO `%TABLE_PREFIX%attachment` WHERE A.file_id > 0; -- convert ticket_email_info to thread_entry_email +ALTER TABLE `%TABLE_PREFIX%ticket_email_info` + ADD INDEX ( `thread_id` ); + ALTER TABLE `%TABLE_PREFIX%ticket_email_info` CHANGE `thread_id` `thread_entry_id` INT( 11 ) UNSIGNED NOT NULL, - CHANGE `email_mid` `mid` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - ADD INDEX ( `thread_entry_id` ); + CHANGE `email_mid` `mid` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; RENAME TABLE `%TABLE_PREFIX%ticket_email_info` TO `%TABLE_PREFIX%thread_entry_email`; diff --git a/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql b/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql index 6d9d110fc09aa7e7f2a466165a712331f5387e67..401b6780cfd4680deea77c8efa1a935f5184a5a3 100644 --- a/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql +++ b/include/upgrader/streams/core/9143a511-0d6099a6.patch.sql @@ -48,7 +48,7 @@ UPDATE `%TABLE_PREFIX%form` SET `flags` = 0 WHERE `type` IN ('T','U','C','O','A'); ALTER TABLE `%TABLE_PREFIX%team` - ADD `flags` int(10) unsigned NOTN ULL default 1 AFTER `lead_id`; + ADD `flags` int(10) unsigned NOT NULL default 1 AFTER `lead_id`; UPDATE `%TABLE_PREFIX%team` SET `flags` = CASE WHEN `isenabled` THEN 1 ELSE 0 END @@ -59,9 +59,9 @@ ALTER TABLE `%TABLE_PREFIX%department` ADD `flags` int(10) unsigned NOT NULL default 0 AFTER `manager_id`; UPDATE `%TABLE_PREFIX%department` A1 - JOIN (SELECT `value` FROM `%TABLE_PREFIX%config`) `config` - ON (`config`.`namespace` = CONCAT('dept.', A1.`id`) AND `config`.`key` = 'assign_members_only') - SET A1.`flags` = 1 WHERE `config`.`value` != ''; + JOIN `%TABLE_PREFIX%config` A2 + ON (A2.`namespace` = CONCAT('dept.', A1.`id`) AND A2.`key` = 'assign_members_only') + SET A1.`flags` = 1 WHERE A2.`value` != ''; -- Migrate %config[namespace=sla.x, key=transient] ALTER TABLE `%TABLE_PREFIX%sla` @@ -84,9 +84,9 @@ ALTER TABLE `%TABLE_PREFIX%list` ADD `configuration` text NOT NULL DEFAULT '' AFTER `type`; UPDATE `%TABLE_PREFIX%list` A1 - JOIN (SELECT `value` FROM `%TABLE_PREFIX%config`) `config` - ON (`config`.`namespace` = CONCAT('list.', A1.`id`) AND `config`.`key` = 'configuration') - SET A1.`configuration` = `config`.`value`; + JOIN `%TABLE_PREFIX%config` A2 + ON (A2.`namespace` = CONCAT('list.', A1.`id`) AND A2.`key` = 'configuration') + SET A1.`configuration` = A2.`value`; -- Rebuild %ticket__cdata as UTF8 DROP TABLE IF EXISTS `%TABLE_PREFIX%ticket__cdata`; diff --git a/include/upgrader/streams/core/9143a511-0d6099a6.task.php b/include/upgrader/streams/core/9143a511-0d6099a6.task.php new file mode 100644 index 0000000000000000000000000000000000000000..4578329f6130ed943e486bbdb78ae9766630eb32 --- /dev/null +++ b/include/upgrader/streams/core/9143a511-0d6099a6.task.php @@ -0,0 +1,28 @@ +<?php + +class StatusListCreater extends MigrationTask { + var $description = "Add ticket statuses (if not already)"; + + function run($max_time) { + global $cfg; + + // Moved here from core/8f99b8bf-03ff59bf.task.php + // Moved here from core/b26f29a6-1ee831c8.task.php + require_once(INCLUDE_DIR . 'class.list.php'); + if ($list = DynamicList::objects()->filter(array('type' => 'ticket-status'))->first()) + // Already have ticket statuses + return; + + $i18n = new Internationalization($cfg->get('system_language', 'en_US')); + $lists = $i18n->getTemplate('list.yaml')->getData(); + foreach ($lists as $l) { + DynamicList::create($l); + } + + $statuses = $i18n->getTemplate('ticket_status.yaml')->getData(); + foreach ($statuses as $s) { + TicketStatus::__create($s); + } + } +} +return 'StatusListCreater'; diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql index 7877fbc61300a008906eb2bd8e560f4ead39f74a..97bd2d4927a5abd805fa2bb88bf4bcd127fad8c9 100644 --- a/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql +++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.cleanup.sql @@ -1,6 +1,6 @@ /** * @signature 1ee831c854fe9f35115a3e672916bb91 - * @version v1.9.6 + * @version v1.10.0 * @title Make editable content translatable * * This patch adds support for translatable administratively editable @@ -19,5 +19,5 @@ ALTER TABLE `%TABLE_PREFIX%user_account` DROP `dst`; DELETE FROM `%TABLE_PREFIX%config` - WHERE `key` = IN ('enable_daylight_saving', 'default_timezone_id') + WHERE `key` IN ('enable_daylight_saving', 'default_timezone_id') AND `namespace` = 'core'; diff --git a/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php b/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php index 19bed1964633046d1152708ca9b4574210738783..ba6d63515b8bee4a3535185464103057ce66a7fa 100644 --- a/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php +++ b/include/upgrader/streams/core/b26f29a6-1ee831c8.task.php @@ -69,20 +69,6 @@ class IntlMigrator extends MigrationTask { // Add in new custom date format flag $cfg->set('date_formats', $touched ? 'custom' : '' ); - - // Moved here from core/8f99b8bf-03ff59bf.task.php - require_once(INCLUDE_DIR . 'class.list.php'); - $i18n = new Internationalization($cfg->get('system_language', 'en_US')); - $lists = $i18n->getTemplate('list.yaml')->getData(); - foreach ($lists as $l) { - DynamicList::create($l); - } - - $statuses = $i18n->getTemplate('ticket_status.yaml')->getData(); - foreach ($statuses as $s) { - TicketStatus::__create($s); - } - } }