/**
  * Set session with authenticated user data
  * 
  * 
  * @access public
  * @param Users/Entity/User $user ,default is null
  * @uses AuthenticationService
  */
 public function newSession($user = null)
 {
     if (is_null($user)) {
         $user = $this->query->findOneBy('Users\\Entity\\User', array('username' => $this->request->getPost('username')));
     }
     $auth = new AuthenticationService();
     $storage = $auth->getStorage();
     // here to add new entries to the session
     $storage->write(array('id' => $user->id, 'firstName' => $user->getFirstName(), 'middleName' => $user->getMiddleName(), 'lastName' => $user->getLastName(), 'name' => $user->getFullName(), 'username' => $user->getUsername(), 'email' => $user->getEmail(), 'photo' => $user->getPhoto(), 'status' => $user->getStatus(), 'roles' => $user->getRolesNames(), 'agreements' => $user->getRolesAgreementsStatus()));
 }