Skip to content

Commit 8fbce92

Browse files
committed
Updated all functionalities within cardService to include a before state where possible
Signed-off-by: StPronk <stpronk@gmail.com>
1 parent bfacdfa commit 8fbce92

1 file changed

Lines changed: 21 additions & 18 deletions

File tree

lib/Service/CardService.php

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ public function update($id, $title, $stackId, $type, $owner, $description = '',
356356
if ($resetDuedateNotification) {
357357
$this->notificationHelper->markDuedateAsRead($card);
358358
}
359-
$this->changeHelper->cardChanged($card->getId(), true);
359+
$this->changeHelper->cardChanged($card->getId());
360360

361361
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
362362

@@ -418,11 +418,12 @@ public function rename($id, $title) {
418418
if ($card->getArchived()) {
419419
throw new StatusException('Operation not allowed. This card is archived.');
420420
}
421+
$changes = new ChangeSet($card);
421422
$card->setTitle($title);
422423
$this->changeHelper->cardChanged($card->getId(), false);
423424
$update = $this->cardMapper->update($card);
424425

425-
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
426+
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
426427

427428
return $update;
428429
}
@@ -441,7 +442,6 @@ public function rename($id, $title) {
441442
public function reorder($id, $stackId, $order) {
442443
$this->cardServiceValidator->check(compact('id', 'stackId', 'order'));
443444

444-
445445
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
446446
$this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT);
447447

@@ -459,30 +459,30 @@ public function reorder($id, $stackId, $order) {
459459
$changes->setAfter($card);
460460
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_CARD, $changes, ActivityManager::SUBJECT_CARD_UPDATE);
461461

462-
$cards = $this->cardMapper->findAll($stackId);
462+
$cardsToReorder = $this->cardMapper->findAll($stackId);
463463
$result = [];
464464
$i = 0;
465-
foreach ($cards as $card) {
466-
if ($card->getArchived()) {
465+
foreach ($cardsToReorder as $cardToReorder) {
466+
if ($cardToReorder->getArchived()) {
467467
throw new StatusException('Operation not allowed. This card is archived.');
468468
}
469-
if ($card->id === $id) {
470-
$card->setOrder($order);
471-
$card->setLastModified(time());
469+
if ($cardToReorder->id === $id) {
470+
$cardToReorder->setOrder($order);
471+
$cardToReorder->setLastModified(time());
472472
}
473473

474474
if ($i === $order) {
475475
$i++;
476476
}
477477

478-
if ($card->id !== $id) {
479-
$card->setOrder($i++);
478+
if ($cardToReorder->id !== $id) {
479+
$cardToReorder->setOrder($i++);
480480
}
481-
$this->cardMapper->update($card);
482-
$result[$card->getOrder()] = $card;
481+
$this->cardMapper->update($cardToReorder);
482+
$result[$cardToReorder->getOrder()] = $cardToReorder;
483483
}
484484
$this->changeHelper->cardChanged($id, false);
485-
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($changes->getAfter(), $changes->getBefore()));
485+
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
486486

487487
return array_values($result);
488488
}
@@ -499,19 +499,19 @@ public function reorder($id, $stackId, $order) {
499499
public function archive($id) {
500500
$this->cardServiceValidator->check(compact('id'));
501501

502-
503502
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
504503
if ($this->boardService->isArchived($this->cardMapper, $id)) {
505504
throw new StatusException('Operation not allowed. This board is archived.');
506505
}
507506
$card = $this->cardMapper->find($id);
507+
$changes = new ChangeSet($card);
508508
$card->setArchived(true);
509509
$newCard = $this->cardMapper->update($card);
510510
$this->notificationHelper->markDuedateAsRead($card);
511511
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_ARCHIVE);
512512
$this->changeHelper->cardChanged($id, false);
513513

514-
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
514+
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
515515

516516
return $newCard;
517517
}
@@ -534,6 +534,7 @@ public function unarchive($id) {
534534
throw new StatusException('Operation not allowed. This board is archived.');
535535
}
536536
$card = $this->cardMapper->find($id);
537+
$changes = new ChangeSet($card);
537538
$card->setArchived(false);
538539
$newCard = $this->cardMapper->update($card);
539540
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_UNARCHIVE);
@@ -559,13 +560,14 @@ public function done(int $id): Card {
559560
throw new StatusException('Operation not allowed. This board is archived.');
560561
}
561562
$card = $this->cardMapper->find($id);
563+
$changes = new ChangeSet($card);
562564
$card->setDone(new \DateTime());
563565
$newCard = $this->cardMapper->update($card);
564566
$this->notificationHelper->markDuedateAsRead($card);
565567
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_DONE);
566568
$this->changeHelper->cardChanged($id, false);
567569

568-
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
570+
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
569571

570572
return $newCard;
571573
}
@@ -585,12 +587,13 @@ public function undone(int $id): Card {
585587
throw new StatusException('Operation not allowed. This board is archived.');
586588
}
587589
$card = $this->cardMapper->find($id);
590+
$changes = new ChangeSet($card);
588591
$card->setDone(null);
589592
$newCard = $this->cardMapper->update($card);
590593
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_UNDONE);
591594
$this->changeHelper->cardChanged($id, false);
592595

593-
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
596+
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card, $changes->getBefore()));
594597

595598
return $newCard;
596599
}

0 commit comments

Comments
 (0)