@@ -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 ($ card ));
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,12 +534,13 @@ 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 );
540541 $ this ->changeHelper ->cardChanged ($ id , false );
541542
542- $ this ->eventDispatcher ->dispatchTyped (new CardUpdatedEvent ($ card ));
543+ $ this ->eventDispatcher ->dispatchTyped (new CardUpdatedEvent ($ card, $ changes -> getBefore () ));
543544
544545 return $ newCard ;
545546 }
@@ -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