diff --git a/src/Bundle/ChillMainBundle/Controller/UserJobScopeHistoriesController.php b/src/Bundle/ChillMainBundle/Controller/UserJobScopeHistoriesController.php index 4014e0593..55d7aceb7 100644 --- a/src/Bundle/ChillMainBundle/Controller/UserJobScopeHistoriesController.php +++ b/src/Bundle/ChillMainBundle/Controller/UserJobScopeHistoriesController.php @@ -28,16 +28,18 @@ class UserJobScopeHistoriesController extends AbstractController */ public function indexAction(User $user): Response { - $jobHistories = $user->getUserJobHistories(); - $scopeHistories = $user->getMainScopeHistories(); - + $jobHistories = $user->getUserJobHistoriesOrdered(); + $scopeHistories = $user->getMainScopeHistoriesOrdered(); return new Response( - $this->engine->render('@ChillMain/User/history.html.twig', [ - 'user' => $user, - 'jobHistories' => $jobHistories, - 'scopeHistories' => $scopeHistories, - ] - )); + $this->engine->render( + '@ChillMain/User/history.html.twig', + [ + 'user' => $user, + 'jobHistories' => $jobHistories, + 'scopeHistories' => $scopeHistories, + ] + ) + ); } } diff --git a/src/Bundle/ChillMainBundle/Entity/User.php b/src/Bundle/ChillMainBundle/Entity/User.php index 64f0e18f6..33c8be166 100644 --- a/src/Bundle/ChillMainBundle/Entity/User.php +++ b/src/Bundle/ChillMainBundle/Entity/User.php @@ -283,6 +283,22 @@ class User implements UserInterface, \Stringable return $this->scopeHistories; } + /** + * @return ArrayCollection|UserScopeHistory[] + */ + public function getMainScopeHistoriesOrdered(): ArrayCollection + { + $scopeHistories = $this->getMainScopeHistories(); + + $sortedScopeHistories = $scopeHistories->toArray(); + + usort($sortedScopeHistories, function ($a, $b) { + return $a->getStartDate() < $b->getStartDate() ? 1 : -1; + }); + + return new ArrayCollection($sortedScopeHistories); + } + /** * @return string */ @@ -321,6 +337,22 @@ class User implements UserInterface, \Stringable return $this->jobHistories; } + /** + * @return ArrayCollection|UserJobHistory[] + */ + public function getUserJobHistoriesOrdered(): ArrayCollection + { + $jobHistories = $this->getUserJobHistories(); + + $sortedJobHistories = $jobHistories->toArray(); + + usort($sortedJobHistories, function ($a, $b) { + return $a->getStartDate() < $b->getStartDate() ? 1 : -1; + }); + + return new ArrayCollection($sortedJobHistories); + } + /** * @return string */ diff --git a/src/Bundle/ChillMainBundle/Resources/views/User/history.html.twig b/src/Bundle/ChillMainBundle/Resources/views/User/history.html.twig index ec38ec388..eb1e0e461 100644 --- a/src/Bundle/ChillMainBundle/Resources/views/User/history.html.twig +++ b/src/Bundle/ChillMainBundle/Resources/views/User/history.html.twig @@ -16,7 +16,7 @@ - {% for entity in jobHistories|reverse %} + {% for entity in jobHistories %} {{ entity.startDate|format_datetime('medium') }} @@ -48,7 +48,7 @@ - {% for entity in scopeHistories|reverse %} + {% for entity in scopeHistories %} {{ entity.startDate|format_datetime('medium') }}