Commit 381d10f5 authored by Gabriel-31415's avatar Gabriel-31415
Browse files

feature user administrador

parent 5de5a599
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Administrador extends Model
{
protected $fillable = ['matricula'];
public function user(){
return $this->belongsTo('App\User');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class CoordenadorComite extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AdministradorController extends Controller
{
public function index(){
return view('admin.index');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CoordenadorComiteController extends Controller
{
//
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProReitorController extends Controller
{
//
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProponenteController extends Controller
{
//
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ReitorController extends Controller
{
//
}
<?php
namespace App\Http\Middleware;
use Closure;
class checkAdministrador
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!Auth::check()){
return redirect('/')->with('error', 'É necessário estar logado para utilizar esta funcionalidade');
}
if(Auth::user()->tipo=='administrador'){
return $next($request);
}
else{
return redirect('home')->with('error', 'Você não possui privilégios para acessa esta funcionalidade');
}
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ProReitor extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Proponente extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Reitor extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
...@@ -76,6 +76,21 @@ class User extends Authenticatable implements MustVerifyEmail ...@@ -76,6 +76,21 @@ class User extends Authenticatable implements MustVerifyEmail
public function evento(){ public function evento(){
return $this->hasMany('App\Evento', 'coordenadorId'); return $this->hasMany('App\Evento', 'coordenadorId');
} }
public function administradors(){
return $this->hasMany('App\Administrador');
}
public function Proponentes(){
return $this->hasMany('App\Proponente');
}
public function Reitors(){
return $this->hasMany('App\Reitor');
}
public function ProReitors(){
return $this->hasMany('App\ProReitor');
}
public function CoordenadorComites(){
return $this->hasMany('App\CoordenadorComite');
}
public function sendPasswordResetNotification($token){ public function sendPasswordResetNotification($token){
......
...@@ -24,6 +24,7 @@ class CreateUsersTable extends Migration ...@@ -24,6 +24,7 @@ class CreateUsersTable extends Migration
$table->string('cpf')->nullable(); $table->string('cpf')->nullable();
$table->string('especProfissional')->nullable(); $table->string('especProfissional')->nullable();
$table->boolean('usuarioTemp')->nullable(); $table->boolean('usuarioTemp')->nullable();
$table->string('tipo')->nullable();
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAdministradorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('administradors', function (Blueprint $table) {
$table->bigIncrements('id');/*Igor pediu que as PK das tabelas fossem o id */
$table->string('matricula')->unique();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('administradors');
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddUsersToAdministradorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('administradors', function (Blueprint $table) {
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('administradors', function (Blueprint $table) {
//
$table->dropForeign('administradors_user_id_foreign');
$table->dropColumn('user_id');
});
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateReitorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('reitors', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('reitors');
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddUsersToReitorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('reitors', function (Blueprint $table) {
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('reitors', function (Blueprint $table) {
$table->dropForeign('reitors_user_id_foreign');
$table->dropColumn('user_id');
});
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProReitorsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pro_reitors', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pro_reitors');
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment