diff --git a/src/CoreBundle/DataProvider/Extension/MessageExtension.php b/src/CoreBundle/DataProvider/Extension/MessageExtension.php index 2b3efe2fce..8a119902cf 100644 --- a/src/CoreBundle/DataProvider/Extension/MessageExtension.php +++ b/src/CoreBundle/DataProvider/Extension/MessageExtension.php @@ -87,8 +87,6 @@ final class MessageExtension implements QueryCollectionExtensionInterface //, Qu ($alias.sender <> :current AND r.receiver = :current AND ( ($alias.msgType = :inbox) OR ($alias.msgType = :invitation) OR - ($alias.msgType = :promoted) OR - ($alias.msgType = :wallPost) OR ($alias.msgType = :conversation) ) ) @@ -101,8 +99,6 @@ final class MessageExtension implements QueryCollectionExtensionInterface //, Qu 'inbox' => Message::MESSAGE_TYPE_INBOX, //'outbox' => Message::MESSAGE_TYPE_OUTBOX, 'invitation' => Message::MESSAGE_TYPE_INVITATION, - 'promoted' => Message::MESSAGE_TYPE_PROMOTED, - 'wallPost' => Message::MESSAGE_TYPE_WALL, 'conversation' => Message::MESSAGE_TYPE_CONVERSATION, ]); } diff --git a/src/CoreBundle/Entity/Message.php b/src/CoreBundle/Entity/Message.php index 34b1fc435f..15894eeb95 100644 --- a/src/CoreBundle/Entity/Message.php +++ b/src/CoreBundle/Entity/Message.php @@ -97,9 +97,6 @@ use Symfony\Component\Validator\Constraints as Assert; class Message { public const MESSAGE_TYPE_INBOX = 1; - public const MESSAGE_TYPE_OUTBOX = 2; - public const MESSAGE_TYPE_PROMOTED = 3; - public const MESSAGE_TYPE_WALL = 4; public const MESSAGE_TYPE_GROUP = 5; public const MESSAGE_TYPE_INVITATION = 6; public const MESSAGE_TYPE_CONVERSATION = 7; @@ -110,7 +107,6 @@ class Message public const MESSAGE_STATUS_INVITATION_PENDING = 5; public const MESSAGE_STATUS_INVITATION_ACCEPTED = 6; public const MESSAGE_STATUS_INVITATION_DENIED = 7; - public const MESSAGE_STATUS_PROMOTED = 13; /** * @ORM\Column(name="id", type="bigint") diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20200821224243.php b/src/CoreBundle/Migrations/Schema/V200/Version20200821224243.php index 1aad692d33..40e4af046b 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20200821224243.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20200821224243.php @@ -6,11 +6,26 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Migrations\Schema\V200; +use Chamilo\CoreBundle\Entity\Message; use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo; use Doctrine\DBAL\Schema\Schema; final class Version20200821224243 extends AbstractMigrationChamilo { + private const OLD_MESSAGE_STATUS_NEW = 0; + private const OLD_MESSAGE_STATUS_UNREAD = 1; + private const OLD_MESSAGE_STATUS_DELETED = 3; + private const OLD_MESSAGE_STATUS_OUTBOX = 4; + private const OLD_MESSAGE_STATUS_INVITATION_PENDING = 5; + private const OLD_MESSAGE_STATUS_INVITATION_ACCEPTED = 6; + private const OLD_MESSAGE_STATUS_INVITATION_DENIED = 7; + private const OLD_MESSAGE_STATUS_WALL = 8; + private const OLD_MESSAGE_STATUS_WALL_DELETE = 9; + private const OLD_MESSAGE_STATUS_WALL_POST = 10; + private const OLD_MESSAGE_STATUS_CONVERSATION = 11; + private const OLD_MESSAGE_STATUS_FORUM = 12; + private const OLD_MESSAGE_STATUS_PROMOTED = 13; + public function getDescription(): string { return 'Post Message update'; @@ -37,6 +52,56 @@ final class Version20200821224243 extends AbstractMigrationChamilo //$this->addSql("UPDATE message SET user_receiver_id = NULL WHERE id = $messageId"); } } + + $newTypeQueries = []; + + $newTypeQueries[] = sprintf( + 'UPDATE message SET status = %d WHERE msg_type = %d', + Message::MESSAGE_STATUS_DELETED, + self::OLD_MESSAGE_STATUS_DELETED + ); + $newTypeQueries[] = sprintf( + 'UPDATE message SET msg_type = %d WHERE msg_type = %d', + Message::MESSAGE_TYPE_INBOX, self::OLD_MESSAGE_STATUS_OUTBOX + ); + + $newTypeQueries[] = sprintf( + 'UPDATE message SET status = %d WHERE msg_type = %d', + Message::MESSAGE_STATUS_INVITATION_PENDING, + self::OLD_MESSAGE_STATUS_INVITATION_PENDING + ); + $newTypeQueries[] = sprintf( + 'UPDATE message SET status = %d WHERE msg_type = %d', + Message::MESSAGE_STATUS_INVITATION_ACCEPTED, + self::OLD_MESSAGE_STATUS_INVITATION_ACCEPTED + ); + $newTypeQueries[] = sprintf( + 'UPDATE message SET status = %d WHERE msg_type = %d', + Message::MESSAGE_STATUS_INVITATION_DENIED, + self::OLD_MESSAGE_STATUS_INVITATION_DENIED + ); + $newTypeQueries[] = sprintf( + 'UPDATE message SET msg_type = %d WHERE status IN (%d, %d, %d)', + Message::MESSAGE_TYPE_INVITATION, + Message::MESSAGE_STATUS_INVITATION_PENDING, + Message::MESSAGE_STATUS_INVITATION_ACCEPTED, + Message::MESSAGE_STATUS_INVITATION_DENIED + ); + + $newTypeQueries[] = sprintf( + 'UPDATE message SET msg_type = %d WHERE msg_type = %d', + Message::MESSAGE_TYPE_INBOX, + self::OLD_MESSAGE_STATUS_NEW + ); + + $newTypeQueries[] = sprintf( + 'UPDATE message SET msg_type = %d WHERE group_id IS NOT NULL', + Message::MESSAGE_TYPE_GROUP + ); + + foreach ($newTypeQueries as $sql) { + $this->addSql($sql); + } } public function down(Schema $schema): void