Example #1
0
 /**
  * doExecute
  *
  * @return  string
  */
 protected function doExecute()
 {
     $view = new ProfileHtmlView($this->data);
     $model = new ProfileModel();
     $session = Ioc::getSession();
     $user = $session->get('profile.edit.data') ?: User::get();
     $view['item'] = $user;
     $view['form'] = $model->getForm($user);
     return $view->setLayout('edit')->render();
 }
 /**
  * validate
  *
  * @param Data $data
  *
  * @throws  ValidFailException
  * @return  boolean
  */
 protected function validate($data)
 {
     $model = new ProfileModel();
     $form = $model->getForm($data);
     if (!$form->validate()) {
         $errors = $form->getErrors();
         foreach ($errors as $error) {
             $this->addFlash($error->getMessage(), 'danger');
         }
         $this->setRedirect(Router::buildHttp('admin:profile', ['id' => $data->id ?: '']));
         return false;
     }
     if ($data->password) {
         if ($data->password2 != $data->password) {
             throw new ValidFailException('Password not match');
         }
         $password = new Password();
         $data->password = $password->create($data->password);
     } else {
         unset($data->password);
     }
     return true;
 }