update
This commit is contained in:
@@ -34,9 +34,6 @@ class Task
|
||||
#[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
|
||||
private ?Category $category = null;
|
||||
|
||||
#[ORM\Column]
|
||||
private bool $categoryOverridden = false;
|
||||
|
||||
#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
|
||||
private ?\DateTimeInterface $date = null;
|
||||
|
||||
@@ -82,6 +79,7 @@ class Task
|
||||
return $this;
|
||||
}
|
||||
|
||||
#[Groups(['task:read'])]
|
||||
public function getCategory(): ?Category
|
||||
{
|
||||
return $this->category;
|
||||
@@ -93,17 +91,6 @@ class Task
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function isCategoryOverridden(): bool
|
||||
{
|
||||
return $this->categoryOverridden;
|
||||
}
|
||||
|
||||
public function setCategoryOverridden(bool $categoryOverridden): static
|
||||
{
|
||||
$this->categoryOverridden = $categoryOverridden;
|
||||
return $this;
|
||||
}
|
||||
|
||||
#[Groups(['task:read'])]
|
||||
#[SerializedName('name')]
|
||||
public function getEffectiveName(): string
|
||||
@@ -111,13 +98,6 @@ class Task
|
||||
return $this->name ?? $this->schema->getName();
|
||||
}
|
||||
|
||||
#[Groups(['task:read'])]
|
||||
#[SerializedName('category')]
|
||||
public function getEffectiveCategory(): ?Category
|
||||
{
|
||||
return $this->categoryOverridden ? $this->category : $this->schema->getCategory();
|
||||
}
|
||||
|
||||
#[Groups(['task:read'])]
|
||||
public function getDate(): ?\DateTimeInterface
|
||||
{
|
||||
|
||||
@@ -37,7 +37,7 @@ class TaskRepository extends ServiceEntityRepository
|
||||
{
|
||||
return $this->createQueryBuilder('task')
|
||||
->join('task.schema', 'schema')
|
||||
->leftJoin('schema.category', 'category')
|
||||
->leftJoin('task.category', 'category')
|
||||
->addSelect('schema', 'category')
|
||||
->where('task.date >= :from')
|
||||
->andWhere('task.date <= :to')
|
||||
@@ -122,7 +122,7 @@ class TaskRepository extends ServiceEntityRepository
|
||||
{
|
||||
return $this->createQueryBuilder('task')
|
||||
->join('task.schema', 'schema')
|
||||
->leftJoin('schema.category', 'category')
|
||||
->leftJoin('task.category', 'category')
|
||||
->addSelect('schema', 'category')
|
||||
->where('task.date IS NOT NULL')
|
||||
->orderBy('task.date', 'DESC')
|
||||
@@ -137,7 +137,7 @@ class TaskRepository extends ServiceEntityRepository
|
||||
{
|
||||
return $this->createQueryBuilder('task')
|
||||
->join('task.schema', 'schema')
|
||||
->leftJoin('schema.category', 'category')
|
||||
->leftJoin('task.category', 'category')
|
||||
->addSelect('schema', 'category')
|
||||
->where('task.date IS NULL')
|
||||
->andWhere('schema.status != :excluded')
|
||||
|
||||
@@ -34,6 +34,7 @@ class TaskGenerator
|
||||
$task = new Task();
|
||||
$task->setSchema($schema);
|
||||
$task->setDate(new \DateTime($deadline->format('Y-m-d')));
|
||||
$task->setCategory($schema->getCategory());
|
||||
|
||||
$this->em->persist($task);
|
||||
$existingKeys[$key] = true;
|
||||
@@ -63,6 +64,7 @@ class TaskGenerator
|
||||
$task = new Task();
|
||||
$task->setSchema($schema);
|
||||
$task->setDate(null);
|
||||
$task->setCategory($schema->getCategory());
|
||||
$this->em->persist($task);
|
||||
$hasNew = true;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ class TaskManager
|
||||
? $this->categoryRepository->find($request->categoryId)
|
||||
: null;
|
||||
$task->setCategory($category);
|
||||
$task->setCategoryOverridden(true);
|
||||
|
||||
$status = TaskStatus::tryFrom($request->status);
|
||||
if ($status !== null) {
|
||||
|
||||
@@ -82,8 +82,7 @@ class TaskSynchronizer
|
||||
if ($schema->getTaskType() === TaskSchemaType::Single && $schema->getDeadline() === null) {
|
||||
foreach ($nullDateTasks as $task) {
|
||||
$task->setName(null);
|
||||
$task->setCategory(null);
|
||||
$task->setCategoryOverridden(false);
|
||||
$task->setCategory($schema->getCategory());
|
||||
}
|
||||
} else {
|
||||
foreach ($nullDateTasks as $task) {
|
||||
@@ -99,8 +98,7 @@ class TaskSynchronizer
|
||||
{
|
||||
foreach ($existingByDate as $task) {
|
||||
$task->setName(null);
|
||||
$task->setCategory(null);
|
||||
$task->setCategoryOverridden(false);
|
||||
$task->setCategory($task->getSchema()->getCategory());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +114,7 @@ class TaskSynchronizer
|
||||
$task = new Task();
|
||||
$task->setSchema($schema);
|
||||
$task->setDate(new \DateTime($dateKey));
|
||||
$task->setCategory($schema->getCategory());
|
||||
|
||||
$this->em->persist($task);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user