Fix migration for messages types

pull/4161/head
Angel Fernando Quiroz Campos 4 years ago
parent 40ea61c5a7
commit 1b78b9493d
  1. 4
      src/CoreBundle/DataProvider/Extension/MessageExtension.php
  2. 4
      src/CoreBundle/Entity/Message.php
  3. 65
      src/CoreBundle/Migrations/Schema/V200/Version20200821224243.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,
]);
}

@ -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")

@ -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

Loading…
Cancel
Save