From 12d4a53dbe4f0b42006e09ba15c3ddb99a9a101d Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Sun, 10 Apr 2016 22:53:01 -0300 Subject: [PATCH] Criado esquema de login e registro --- app/Http/Controllers/HomeController.php | 29 +++++++ app/Http/routes.php | 8 ++ app/User.php | 4 + .../views/auth/emails/password.blade.php | 1 + resources/views/auth/login.blade.php | 66 +++++++++++++++ .../views/auth/passwords/email.blade.php | 47 +++++++++++ .../views/auth/passwords/reset.blade.php | 70 ++++++++++++++++ resources/views/auth/register.blade.php | 82 ++++++++++++++++++ resources/views/home.blade.php | 17 ++++ resources/views/layouts/app.blade.php | 83 +++++++++++++++++++ resources/views/welcome.blade.php | 54 +++--------- 11 files changed, 420 insertions(+), 41 deletions(-) create mode 100644 app/Http/Controllers/HomeController.php create mode 100644 resources/views/auth/emails/password.blade.php create mode 100644 resources/views/auth/login.blade.php create mode 100644 resources/views/auth/passwords/email.blade.php create mode 100644 resources/views/auth/passwords/reset.blade.php create mode 100644 resources/views/auth/register.blade.php create mode 100644 resources/views/home.blade.php create mode 100644 resources/views/layouts/app.blade.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..cb060b6 --- /dev/null +++ b/app/Http/Controllers/HomeController.php @@ -0,0 +1,29 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Requests; +use Illuminate\Http\Request; + +class HomeController extends Controller +{ + /** + * Create a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + return view('home'); + } +} diff --git a/app/Http/routes.php b/app/Http/routes.php index 1ad3549..dea0a38 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -14,3 +14,11 @@ Route::get('/', function () { return view('welcome'); }); + +/* ----------- Rotas de Eventos ----------- */ +Route::get('/eventos', 'EventController@index'); //lista todos os eventos +Route::get('/eventos/{evento}', 'EventController@eventIndex'); //mostra um evento específico + +Route::auth(); + +Route::get('/home', 'HomeController@index'); diff --git a/app/User.php b/app/User.php index 75741ae..5b31edf 100644 --- a/app/User.php +++ b/app/User.php @@ -23,4 +23,8 @@ class User extends Authenticatable protected $hidden = [ 'password', 'remember_token', ]; + + public function events() { + return $this->belongsToMany('App\Event'); + } } diff --git a/resources/views/auth/emails/password.blade.php b/resources/views/auth/emails/password.blade.php new file mode 100644 index 0000000..1b53830 --- /dev/null +++ b/resources/views/auth/emails/password.blade.php @@ -0,0 +1 @@ +Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a> diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php new file mode 100644 index 0000000..9ef32f7 --- /dev/null +++ b/resources/views/auth/login.blade.php @@ -0,0 +1,66 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Login</div> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> + {!! csrf_field() !!} + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">E-Mail</label> + + <div class="col-md-6"> + <input type="email" class="form-control" name="email" value="{{ old('email') }}"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Senha</label> + + <div class="col-md-6"> + <input type="password" class="form-control" name="password"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <div class="checkbox"> + <label> + <input type="checkbox" name="remember"> Lembrar esta sessão + </label> + </div> + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-sign-in"></i>Login + </button> + + <a class="btn btn-link" href="{{ url('/password/reset') }}">Esqueceu sua senha?</a> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..9833600 --- /dev/null +++ b/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,47 @@ +@extends('layouts.app') + +<!-- Main Content --> +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Reset Password</div> + <div class="panel-body"> + @if (session('status')) + <div class="alert alert-success"> + {{ session('status') }} + </div> + @endif + + <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/email') }}"> + {!! csrf_field() !!} + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">E-Mail Address</label> + + <div class="col-md-6"> + <input type="email" class="form-control" name="email" value="{{ old('email') }}"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-envelope"></i>Send Password Reset Link + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..3e7d960 --- /dev/null +++ b/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Reset Password</div> + + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}"> + {!! csrf_field() !!} + + <input type="hidden" name="token" value="{{ $token }}"> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">E-Mail Address</label> + + <div class="col-md-6"> + <input type="email" class="form-control" name="email" value="{{ $email or old('email') }}"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Password</label> + + <div class="col-md-6"> + <input type="password" class="form-control" name="password"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Confirm Password</label> + <div class="col-md-6"> + <input type="password" class="form-control" name="password_confirmation"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <strong>{{ $errors->first('password_confirmation') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-refresh"></i>Reset Password + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php new file mode 100644 index 0000000..dbf52c4 --- /dev/null +++ b/resources/views/auth/register.blade.php @@ -0,0 +1,82 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-8 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading">Register</div> + <div class="panel-body"> + <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}"> + {!! csrf_field() !!} + + <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Nome</label> + + <div class="col-md-6"> + <input type="text" class="form-control" name="name" value="{{ old('name') }}"> + + @if ($errors->has('name')) + <span class="help-block"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">E-mail</label> + + <div class="col-md-6"> + <input type="email" class="form-control" name="email" value="{{ old('email') }}"> + + @if ($errors->has('email')) + <span class="help-block"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Senha</label> + + <div class="col-md-6"> + <input type="password" class="form-control" name="password"> + + @if ($errors->has('password')) + <span class="help-block"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}"> + <label class="col-md-4 control-label">Confirme sua senha</label> + + <div class="col-md-6"> + <input type="password" class="form-control" name="password_confirmation"> + + @if ($errors->has('password_confirmation')) + <span class="help-block"> + <strong>{{ $errors->first('password_confirmation') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group"> + <div class="col-md-6 col-md-offset-4"> + <button type="submit" class="btn btn-primary"> + <i class="fa fa-btn fa-user"></i>Registrar + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..7adf5c2 --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-10 col-md-offset-1"> + <div class="panel panel-default"> + <div class="panel-heading">Dashboard</div> + + <div class="panel-body"> + You are logged in! + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..eb3fa1f --- /dev/null +++ b/resources/views/layouts/app.blade.php @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title>GCCEI - Gerador de Ceritificados do CEI</title> + + <!-- Fonts --> + <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel='stylesheet' type='text/css'> + <link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700" rel='stylesheet' type='text/css'> + + <!-- Styles --> + <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> + {{-- <link href="{{ elixir('css/app.css') }}" rel="stylesheet"> --}} + + <style> + body { + font-family: 'Lato'; + } + + .fa-btn { + margin-right: 6px; + } + </style> +</head> +<body id="app-layout"> + <nav class="navbar navbar-default navbar-static-top"> + <div class="container"> + <div class="navbar-header"> + + <!-- Collapsed Hamburger --> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse"> + <span class="sr-only">Toggle Navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + <!-- Branding Image --> + <a href="#" class="pull-left"><img src="/gccei.png" style="height: 4em;width: auto;"></a> + <a class="navbar-brand" href="{{ url('/') }}"> + GCCEI + </a> + </div> + + <div class="collapse navbar-collapse" id="app-navbar-collapse"> + <!-- Left Side Of Navbar --> + <ul class="nav navbar-nav"> + <li><a href="{{ url('/home') }}">Início</a></li> + </ul> + + <!-- Right Side Of Navbar --> + <ul class="nav navbar-nav navbar-right"> + <!-- Authentication Links --> + @if (Auth::guest()) + <li><a href="{{ url('/login') }}">Entrar</a></li> + <li><a href="{{ url('/register') }}">Registrar</a></li> + @else + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> + {{ Auth::user()->name }} <span class="caret"></span> + </a> + + <ul class="dropdown-menu" role="menu"> + <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Sair</a></li> + </ul> + </li> + @endif + </ul> + </div> + </div> + </nav> + + @yield('content') + + <!-- JavaScripts --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> + {{-- <script src="{{ elixir('js/app.js') }}"></script> --}} +</body> +</html> diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 87710ac..b98b6f4 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,45 +1,17 @@ -<!DOCTYPE html> -<html> - <head> - <title>Laravel</title> +@extends('layouts.app') - <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> +@section('content') +<div class="container"> + <div class="row"> + <div class="col-md-10 col-md-offset-1"> + <div class="panel panel-default"> + <div class="panel-heading">Bem Vindo!</div> - <style> - html, body { - height: 100%; - } - - body { - margin: 0; - padding: 0; - width: 100%; - display: table; - font-weight: 100; - font-family: 'Lato'; - } - - .container { - text-align: center; - display: table-cell; - vertical-align: middle; - } - - .content { - text-align: center; - display: inline-block; - } - - .title { - font-size: 96px; - } - </style> - </head> - <body> - <div class="container"> - <div class="content"> - <div class="title">Laravel 5</div> + <div class="panel-body"> + GCCEI: Gerador de Ceritificados do CEI. + </div> </div> </div> - </body> -</html> + </div> +</div> +@endsection -- GitLab