예제 #1
0
파일: Perfis.php 프로젝트: safaricco/admfw
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['descricao' => 'required|string']);
     if ($validator->fails()) {
         return redirect('admin/configuracoes/perfis/novo')->withErrors($validator)->withInput();
     } else {
         try {
             $perfil = new Perfil();
             $perfil->descricao = $request->descricao;
             $perfil->save();
             $funcoes = Funcao::all();
             $cont = 1;
             foreach ($funcoes as $funcao) {
                 try {
                     $permissao = new PermissaoPerfil();
                     $permissao->id_funcao = $funcao->id_funcao;
                     $permissao->id_perfil = $perfil->id_perfil;
                     $permissao->id_role = $request->{$cont};
                     $permissao->save();
                     $cont++;
                 } catch (\Exception $e) {
                     LogR::exception($permissao, $e);
                     session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
                 }
             }
             session()->flash('flash_message', 'Registro gravado com sucesso!');
         } catch (\Exception $e) {
             LogR::exception($perfil, $e);
             session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
         }
         return Redirect::back();
     }
 }
예제 #2
0
 /**
  * Creates a new Perfil model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Perfil();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
예제 #3
0
 /**
  * Creates a new Alumno model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $hoy = date('Y-m-d H:i:s');
     $perfil = new Perfil();
     $perfil->fecha_alta = $hoy;
     $alumno = new Alumno();
     $alumno->estado_id = EstadoAlumno::findOne(['descripcion' => EstadoAlumno::PREINSCRIPTO])->id;
     // Ver http://www.yiiframework.com/forum/index.php/topic/53935-subforms/page__gopid__248185#entry248185
     if ($perfil->load(Yii::$app->request->post()) && Model::validateMultiple([$perfil, $alumno])) {
         $perfil->save(false);
         $alumno->perfil_id = $perfil->id;
         $alumno->save(false);
         return $this->redirect(['view', 'id' => $alumno->id]);
     } else {
         return $this->render('create', ['model' => $alumno, 'perfil' => $perfil]);
     }
 }
예제 #4
0
 /**
  * This function will be triggered when user is successfuly authenticated using some oAuth client.
  *
  * @param yii\authclient\ClientInterface $client
  * @return boolean|yii\web\Response
  */
 public function oAuthSuccess($client)
 {
     // get user data from client
     $userAttributes = $client->getUserAttributes();
     //cuida de logar
     $user = User::find()->where(['=', 'email', $userAttributes['email']])->one();
     if ($user != null) {
         Yii::$app->user->login($user);
         copy('http://graph.facebook.com/' . $user->username . '/picture?type=large', 'images/' . $user->username . '.jpeg');
         return $this->goHome();
     } else {
         $modelCadastro = new SignupForm();
         $modelCadastro->email = $userAttributes['email'];
         $modelCadastro->username = $userAttributes['id'];
         $modelCadastro->password = $userAttributes['id'];
         $nome = explode(" ", $userAttributes['name']);
         if ($user = $modelCadastro->signup()) {
             $modelPerfil = new Perfil();
             $modelPerfil->id = $user->id;
             $modelPerfil->data = date('Y-m-d');
             $modelPerfil->nome = $nome[0];
             $modelPerfil->sobrenome = $nome[1];
             copy('http://graph.facebook.com/' . $modelCadastro->username . '/picture?type=large', 'images/' . $modelCadastro->username . '.jpeg');
             $modelPerfil->foto = $modelCadastro->username . '.jpeg';
             $modelPerfil->save();
             if (Yii::$app->getUser()->login($user)) {
                 return $this->goHome();
             }
         }
     }
     //Cuida do cadastro do usuario na base
     // do some thing with user data. for example with $userAttributes['email']
 }