public function register()
 {
     $token = $this->helper->createToken();
     $logged = $this->loginHelper->isLoggedIn();
     $registerStudentForm = new RegisterStudentForm();
     if ($logged) {
         $registerStudentForm->setStudent($logged);
     }
     $errors = new ErrorList();
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $registerStudentForm->fillDataFromArray($_POST);
         $errors = $this->validations->validRegisterStudentForm($registerStudentForm, $logged);
         // $logged - $editMode
         if (!$errors->hasErrors()) {
             if ($this->helper->validToken($registerStudentForm->getToken())) {
                 if ($logged) {
                     $this->studentGateway->updateStudent($registerStudentForm->getStudent());
                     if ($registerStudentForm->getPassword != "") {
                         $this->loginHelper->createCookies($registerStudentForm->getStudent());
                     }
                     $this->redirect('/public/index.php?notify=Success');
                 } else {
                     $this->studentGateway->addStudent($registerStudentForm->getStudent());
                     $this->loginAction->login();
                     $this->redirect($this->getQuery('go'));
                 }
             } else {
                 throw new \Exception("Invalid token");
             }
         }
     }
     $this->render('templates/registration.phtml', compact('registerStudentForm', 'errors', 'token', 'logged'));
 }