public static function updateInvitation(Budget $budget, User $user, array $before, array $after) { $action = new Action(); $action->setTemplate('invitation_update'); $action->setBudget($budget); $action->setUser($user); $differences = array(); if ($before['status'] != $after['status']) { $differences['status'] = array($before['status'], $after['status']); } $data = $after; $data['differences'] = $differences; $action->setData($data); return $action; }