mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
rdv: adapt calendar entities: drop useless field and change field type
This commit is contained in:
parent
de6df983a0
commit
c54290a265
@ -25,18 +25,18 @@ class LoadCancelReason extends Fixture implements FixtureGroupInterface
|
|||||||
public function load(ObjectManager $manager): void
|
public function load(ObjectManager $manager): void
|
||||||
{
|
{
|
||||||
$arr = array(
|
$arr = array(
|
||||||
array('name' => array('fr' => 'Annulé par l\'utilisateur')),
|
array('name' => CancelReason::CANCELEDBY_USER),
|
||||||
array('name' => array('fr' => 'Annulé par l\'usager')),
|
array('name' => CancelReason::CANCELEDBY_PERSON),
|
||||||
array('name' => array('fr' => 'Ne pas comptabiliser')),
|
array('name' => CancelReason::CANCELEDBY_DONOTCOUNT),
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($arr as $a) {
|
foreach ($arr as $a) {
|
||||||
print "Creating calendar cancel reason : " . $a['name']['fr'] . "\n";
|
print "Creating calendar cancel reason : " . $a['name'] . "\n";
|
||||||
$cancelReason= (new CancelReason())
|
$cancelReason= (new CancelReason())
|
||||||
->setCanceledBy($a['name'])
|
->setCanceledBy($a['name'])
|
||||||
->setActive(true);
|
->setActive(true);
|
||||||
$manager->persist($cancelReason);
|
$manager->persist($cancelReason);
|
||||||
$reference = 'CancelReason_'.$a['name']['fr'];
|
$reference = 'CancelReason_'.$a['name'];
|
||||||
$this->addReference($reference, $cancelReason);
|
$this->addReference($reference, $cancelReason);
|
||||||
static::$references[] = $reference;
|
static::$references[] = $reference;
|
||||||
}
|
}
|
||||||
|
@ -65,15 +65,6 @@ class Calendar
|
|||||||
*/
|
*/
|
||||||
private ?Collection $persons = null;
|
private ?Collection $persons = null;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @ORM\ManyToMany(
|
|
||||||
* targetEntity="Chill\PersonBundle\Entity\Person",
|
|
||||||
* cascade={"persist", "remove", "merge", "detach"})
|
|
||||||
* @ORM\JoinTable(name="chill_calendar.calendar_to_non_professionals")
|
|
||||||
*/
|
|
||||||
private ?Collection $nonProfessionals = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @ORM\ManyToMany(
|
* @ORM\ManyToMany(
|
||||||
@ -140,7 +131,6 @@ class Calendar
|
|||||||
{
|
{
|
||||||
$this->comment = new CommentEmbeddable();
|
$this->comment = new CommentEmbeddable();
|
||||||
$this->persons = new ArrayCollection();
|
$this->persons = new ArrayCollection();
|
||||||
$this->nonProfessionals = new ArrayCollection();
|
|
||||||
$this->professionals = new ArrayCollection();
|
$this->professionals = new ArrayCollection();
|
||||||
$this->invites = new ArrayCollection();
|
$this->invites = new ArrayCollection();
|
||||||
}
|
}
|
||||||
@ -271,30 +261,6 @@ class Calendar
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return Collection|Person[]
|
|
||||||
*/
|
|
||||||
public function getNonProfessionals(): Collection
|
|
||||||
{
|
|
||||||
return $this->nonProfessionals;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addNonProfessional(Person $nonProfessional): self
|
|
||||||
{
|
|
||||||
if (!$this->nonProfessionals->contains($nonProfessional)) {
|
|
||||||
$this->nonProfessionals[] = $nonProfessional;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function removeNonProfessional(Person $nonProfessional): self
|
|
||||||
{
|
|
||||||
$this->nonProfessionals->removeElement($nonProfessional);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Collection|ThirdParty[]
|
* @return Collection|ThirdParty[]
|
||||||
*/
|
*/
|
||||||
|
@ -11,6 +11,11 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
*/
|
*/
|
||||||
class CancelReason
|
class CancelReason
|
||||||
{
|
{
|
||||||
|
|
||||||
|
const CANCELEDBY_USER = 'CANCELEDBY_USER';
|
||||||
|
const CANCELEDBY_PERSON = 'CANCELEDBY_PERSON';
|
||||||
|
const CANCELEDBY_DONOTCOUNT = 'CANCELEDBY_DONOTCOUNT';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Id
|
* @ORM\Id
|
||||||
* @ORM\GeneratedValue
|
* @ORM\GeneratedValue
|
||||||
@ -24,7 +29,7 @@ class CancelReason
|
|||||||
private $active;
|
private $active;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="json_array")
|
* @ORM\Column(type="string", length=255)
|
||||||
*/
|
*/
|
||||||
private $canceledBy;
|
private $canceledBy;
|
||||||
|
|
||||||
@ -50,12 +55,12 @@ class CancelReason
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCanceledBy(): ?array
|
public function getCanceledBy(): ?string
|
||||||
{
|
{
|
||||||
return $this->canceledBy;
|
return $this->canceledBy;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setCanceledBy(array $canceledBy): self
|
public function setCanceledBy(string $canceledBy): self
|
||||||
{
|
{
|
||||||
$this->canceledBy = $canceledBy;
|
$this->canceledBy = $canceledBy;
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ class CalendarType extends AbstractType
|
|||||||
'required' => false,
|
'required' => false,
|
||||||
'class' => CancelReason::class,
|
'class' => CancelReason::class,
|
||||||
'choice_label' => function (CancelReason $entity) {
|
'choice_label' => function (CancelReason $entity) {
|
||||||
return $this->translatableStringHelper->localize($entity->getCanceledBy());
|
return $entity->getCanceledBy();
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
->add('sendSMS', ChoiceType::class, array(
|
->add('sendSMS', ChoiceType::class, array(
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Chill\Migrations\Calendar;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adapt calendar entities
|
||||||
|
*/
|
||||||
|
final class Version20210723074557 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return 'Adapt calendar entities';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
$this->addSql('DROP TABLE chill_calendar.calendar_to_non_professionals');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.cancel_reason ALTER canceledby TYPE VARCHAR(255)');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.cancel_reason ALTER canceledby DROP DEFAULT');
|
||||||
|
$this->addSql('COMMENT ON COLUMN chill_calendar.cancel_reason.canceledBy IS NULL');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
$this->addSql('CREATE TABLE chill_calendar.calendar_to_non_professionals (calendar_id INT NOT NULL, person_id INT NOT NULL, PRIMARY KEY(calendar_id, person_id))');
|
||||||
|
$this->addSql('CREATE INDEX idx_fadf2c77217bbb47 ON chill_calendar.calendar_to_non_professionals (person_id)');
|
||||||
|
$this->addSql('CREATE INDEX idx_fadf2c77a40a2c8 ON chill_calendar.calendar_to_non_professionals (calendar_id)');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.calendar_to_non_professionals ADD CONSTRAINT fk_fadf2c77a40a2c8 FOREIGN KEY (calendar_id) REFERENCES chill_calendar.calendar (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.calendar_to_non_professionals ADD CONSTRAINT fk_fadf2c77217bbb47 FOREIGN KEY (person_id) REFERENCES chill_person_person (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.cancel_reason ALTER canceledBy TYPE JSON');
|
||||||
|
$this->addSql('ALTER TABLE chill_calendar.cancel_reason ALTER canceledBy DROP DEFAULT');
|
||||||
|
$this->addSql('COMMENT ON COLUMN chill_calendar.cancel_reason.canceledby IS \'(DC2Type:json_array)\'');
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user