Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Walter Felipe
submeta
Commits
5de5a599
Commit
5de5a599
authored
May 20, 2020
by
Gabriel-31415
Browse files
first commit
parents
Changes
231
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/Auth/RegisterController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers\Auth
;
use
App\Http\Controllers\Controller
;
use
App\Providers\RouteServiceProvider
;
use
Illuminate\Foundation\Auth\RegistersUsers
;
use
Illuminate\Support\Facades\Hash
;
use
Illuminate\Support\Facades\Validator
;
use
App\User
;
use
App\Endereco
;
class
RegisterController
extends
Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use
RegistersUsers
;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected
$redirectTo
=
RouteServiceProvider
::
HOME
;
/**
* Create a new controller instance.
*
* @return void
*/
public
function
__construct
()
{
$this
->
middleware
(
'guest'
);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected
function
validator
(
array
$data
)
{
return
Validator
::
make
(
$data
,
[
'name'
=>
[
'required'
,
'string'
,
'max:255'
],
'email'
=>
[
'required'
,
'string'
,
'email'
,
'max:255'
,
'unique:users'
],
'password'
=>
[
'required'
,
'string'
,
'min:8'
,
'confirmed'
],
'cpf'
=>
[
'required'
,
'cpf'
],
'celular'
=>
[
'required'
,
'string'
],
'instituicao'
=>
[
'required'
,
'string'
,
'max:255'
],
// 'especProfissional' => [],
'rua'
=>
[
'required'
,
'string'
,
'max:255'
],
'numero'
=>
[
'nullable'
,
'string'
],
'bairro'
=>
[
'required'
,
'string'
,
'max:255'
],
'cidade'
=>
[
'required'
,
'string'
,
'max:255'
],
'uf'
=>
[
'required'
,
'string'
],
'cep'
=>
[
'required'
,
'string'
],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\User
*/
protected
function
create
(
array
$data
)
{
// endereço
$end
=
new
Endereco
();
$end
->
rua
=
$data
[
'rua'
];
$end
->
numero
=
$data
[
'numero'
];
$end
->
bairro
=
$data
[
'bairro'
];
$end
->
cidade
=
$data
[
'cidade'
];
$end
->
uf
=
$data
[
'uf'
];
$end
->
cep
=
$data
[
'cep'
];
$end
->
save
();
// dd($end)
$user
=
new
User
();
$user
->
name
=
$data
[
'name'
];
$user
->
email
=
$data
[
'email'
];
$user
->
password
=
bcrypt
(
$data
[
'password'
]);
$user
->
cpf
=
$data
[
'cpf'
];
$user
->
celular
=
$data
[
'celular'
];
$user
->
instituicao
=
$data
[
'instituicao'
];
$user
->
enderecoId
=
$end
->
id
;
$user
->
save
();
return
$user
;
}
}
app/Http/Controllers/Auth/ResetPasswordController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers\Auth
;
use
App\Http\Controllers\Controller
;
use
App\Providers\RouteServiceProvider
;
use
Illuminate\Foundation\Auth\ResetsPasswords
;
class
ResetPasswordController
extends
Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use
ResetsPasswords
;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected
$redirectTo
=
RouteServiceProvider
::
HOME
;
}
app/Http/Controllers/Auth/VerificationController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers\Auth
;
use
App\Http\Controllers\Controller
;
use
App\Providers\RouteServiceProvider
;
use
Illuminate\Foundation\Auth\VerifiesEmails
;
class
VerificationController
extends
Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use
VerifiesEmails
;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected
$redirectTo
=
RouteServiceProvider
::
HOME
;
/**
* Create a new controller instance.
*
* @return void
*/
public
function
__construct
()
{
$this
->
middleware
(
'auth'
);
$this
->
middleware
(
'signed'
)
->
only
(
'verify'
);
$this
->
middleware
(
'throttle:6,1'
)
->
only
(
'verify'
,
'resend'
);
}
}
app/Http/Controllers/CoautorController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Coautor
;
use
Illuminate\Http\Request
;
class
CoautorController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Coautor $coautor
* @return \Illuminate\Http\Response
*/
public
function
show
(
Coautor
$coautor
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Coautor $coautor
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Coautor
$coautor
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Coautor $coautor
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Coautor
$coautor
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Coautor $coautor
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Coautor
$coautor
)
{
//
}
}
app/Http/Controllers/ComissaoController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
Illuminate\Http\Request
;
use
App\User
;
use
App\ComissaoEvento
;
use
App\Evento
;
use
App\Area
;
use
App\Revisor
;
use
App\Mail\EmailParaUsuarioNaoCadastrado
;
use
Illuminate\Support\Facades\Mail
;
use
Illuminate\Support\Str
;
use
Illuminate\Support\Facades\Storage
;
use
Illuminate\Support\Facades\DB
;
class
ComissaoController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
$validationData
=
$this
->
validate
(
$request
,[
'emailMembroComissao'
=>
'required|string|email'
,
// 'especProfissional'=>'required|string',
]);
$user
=
User
::
where
(
'email'
,
$request
->
input
(
'emailMembroComissao'
))
->
first
();
$evento
=
Evento
::
find
(
$request
->
eventoId
);
if
(
$user
==
null
){
$passwordTemporario
=
Str
::
random
(
8
);
Mail
::
to
(
$request
->
emailMembroComissao
)
->
send
(
new
EmailParaUsuarioNaoCadastrado
(
Auth
()
->
user
()
->
name
,
' '
,
'Comissao'
,
$evento
->
nome
,
$passwordTemporario
));
$user
=
User
::
create
([
'email'
=>
$request
->
emailMembroComissao
,
'password'
=>
bcrypt
(
$passwordTemporario
),
'usuarioTemp'
=>
true
,
]);
}
// dd($user->id);
$comissaoEventos
=
new
ComissaoEvento
();
$comissaoEventos
->
eventosId
=
$request
->
input
(
'eventoId'
);
$comissaoEventos
->
userId
=
$user
->
id
;
// $comissaoEventos->especProfissional = $request->input('especProfissional');
$comissaoEventos
->
save
();
$evento
=
Evento
::
find
(
$request
->
input
(
'eventoId'
));
$ComissaoEvento
=
ComissaoEvento
::
where
(
'eventosId'
,
$evento
->
id
)
->
get
();
$areas
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$revisores
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
// dd($ComissaoEventos);
$ids
=
[];
foreach
(
$ComissaoEvento
as
$ce
){
array_push
(
$ids
,
$ce
->
userId
);
}
$users
=
User
::
find
(
$ids
);
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
public
function
coordenadorComissao
(
Request
$request
){
$evento
=
Evento
::
find
(
$request
->
input
(
'eventoId'
));
$evento
->
coordComissaoId
=
$request
->
input
(
'coordComissaoId'
);
$evento
->
save
();
$ComissaoEvento
=
ComissaoEvento
::
where
(
'eventosId'
,
$evento
->
id
)
->
get
();
$areas
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$revisores
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
// dd($ComissaoEventos);
$ids
=
[];
foreach
(
$ComissaoEvento
as
$ce
){
array_push
(
$ids
,
$ce
->
userId
);
}
$users
=
User
::
find
(
$ids
);
// return view('coordenador.detalhesEvento', [
// 'evento' => $evento,
// 'areas' => $areas,
// 'revisores' => $revisores,
// 'users' => $users,
// ]);
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
public
function
show
(
$id
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
edit
(
$id
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
$id
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Request
$request
)
{
$comissao
=
ComissaoEvento
::
where
(
'eventosId'
,
$request
->
eventosId
)
->
where
(
'userId'
,
$request
->
userId
);
// dd($comissao);
$comissao
->
delete
();
return
redirect
()
->
back
();
}
}
app/Http/Controllers/Controller.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
Illuminate\Foundation\Auth\Access\AuthorizesRequests
;
use
Illuminate\Foundation\Bus\DispatchesJobs
;
use
Illuminate\Foundation\Validation\ValidatesRequests
;
use
Illuminate\Routing\Controller
as
BaseController
;
class
Controller
extends
BaseController
{
use
AuthorizesRequests
,
DispatchesJobs
,
ValidatesRequests
;
}
app/Http/Controllers/EnderecoController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Endereco
;
use
Illuminate\Http\Request
;
class
EnderecoController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Endereco $endereco
* @return \Illuminate\Http\Response
*/
public
function
show
(
Endereco
$endereco
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Endereco $endereco
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Endereco
$endereco
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Endereco $endereco
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Endereco
$endereco
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Endereco $endereco
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Endereco
$endereco
)
{
//
}
}
app/Http/Controllers/EventoController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Area
;
use
App\Atividade
;
use
App\Evento
;
use
App\Coautor
;
use
App\Revisor
;
use
App\Atribuicao
;
use
App\Modalidade
;
use
App\ComissaoEvento
;
use
App\User
;
use
App\Trabalho
;
use
App\AreaModalidade
;
use
Illuminate\Http\Request
;
use
Carbon\Carbon
;
use
Illuminate\Support\Facades\Storage
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Log
;
use
App\Endereco
;
use
App\Mail\EventoCriado
;
use
Illuminate\Support\Facades\Mail
;
class
EventoController
extends
Controller
{
public
function
index
()
{
//
$eventos
=
Evento
::
all
();
// $comissaoEvento = ComissaoEvento::all();
// $eventos = Evento::where('coordenadorId', Auth::user()->id)->get();
return
view
(
'coordenador.home'
,[
'eventos'
=>
$eventos
]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
return
view
(
'evento.criarEvento'
);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
$mytime
=
Carbon
::
now
(
'America/Recife'
);
$yesterday
=
Carbon
::
yesterday
(
'America/Recife'
);
$yesterday
=
$yesterday
->
toDateString
();
// dd($request);
// validar datas nulas antes, pois pode gerar um bug
if
(
$request
->
dataInicio
==
null
||
$request
->
dataFim
==
null
||
$request
->
inicioSubmissao
==
null
||
$request
->
fimSubmissao
==
null
||
$request
->
inicioRevisao
==
null
||
$request
->
fimRevisao
==
null
||
$request
->
inicioResultado
==
null
||
$request
->
fimResultado
==
null
){
$validatedData
=
$request
->
validate
([
'nome'
=>
[
'required'
,
'string'
],
// 'numeroParticipantes' => ['required', 'integer', 'gt:0'],
'descricao'
=>
[
'required'
,
'string'
],
'tipo'
=>
[
'required'
,
'string'
],
'dataInicio'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'dataFim'
=>
[
'required'
,
'date'
],
'inicioSubmissao'
=>
[
'required'
,
'date'
],
'fimSubmissao'
=>
[
'required'
,
'date'
],
'inicioRevisao'
=>
[
'required'
,
'date'
],
'fimRevisao'
=>
[
'required'
,
'date'
],
'inicioResultado'
=>
[
'required'
,
'date'
],
'fimResultado'
=>
[
'required'
,
'date'
],
// 'valorTaxa' => ['required', 'integer'],
'fotoEvento'
=>
[
'file'
,
'mimes:png'
],
]);
}
// validacao normal
$validatedData
=
$request
->
validate
([
'nome'
=>
[
'required'
,
'string'
],
// 'numeroParticipantes' => ['required', 'integer', 'gt:0'],
'descricao'
=>
[
'required'
,
'string'
],
'tipo'
=>
[
'required'
,
'string'
],
'dataInicio'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'dataFim'
=>
[
'required'
,
'date'
,
'after:'
.
$request
->
dataInicio
],
'inicioSubmissao'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'fimSubmissao'
=>
[
'required'
,
'date'
,
'after:'
.
$request
->
inicioSubmissao
],
'inicioRevisao'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'fimRevisao'
=>
[
'required'
,
'date'
,
'after:'
.
$request
->
inicioRevisao
],
'inicioResultado'
=>
[
'required'
,
'date'
,
'after:'
.
$yesterday
],
'fimResultado'
=>
[
'required'
,
'date'
,
'after:'
.
$request
->
inicioResultado
],
// 'valorTaxa' => ['required', 'integer'],
'fotoEvento'
=>
[
'file'
,
'mimes:png'
],
]);
// validar endereco
$validatedData
=
$request
->
validate
([
'rua'
=>
[
'required'
,
'string'
],
'numero'
=>
[
'required'
,
'string'
],
'bairro'
=>
[
'required'
,
'string'
],
'cidade'
=>
[
'required'
,
'string'
],
'uf'
=>
[
'required'
,
'string'
],
'cep'
=>
[
'required'
,
'string'
],
]);
$endereco
=
Endereco
::
create
([
'rua'
=>
$request
->
rua
,
'numero'
=>
$request
->
numero
,
'bairro'
=>
$request
->
bairro
,
'cidade'
=>
$request
->
cidade
,
'uf'
=>
$request
->
uf
,
'cep'
=>
$request
->
cep
,
]);
$evento
=
Evento
::
create
([
'nome'
=>
$request
->
nome
,
// 'numeroParticipantes' => $request->numeroParticipantes,
'descricao'
=>
$request
->
descricao
,
'tipo'
=>
$request
->
tipo
,
'dataInicio'
=>
$request
->
dataInicio
,
'dataFim'
=>
$request
->
dataFim
,
'inicioSubmissao'
=>
$request
->
inicioSubmissao
,
'fimSubmissao'
=>
$request
->
fimSubmissao
,
'inicioRevisao'
=>
$request
->
inicioRevisao
,
'fimRevisao'
=>
$request
->
fimRevisao
,
'inicioResultado'
=>
$request
->
inicioResultado
,
'fimResultado'
=>
$request
->
fimResultado
,
// 'possuiTaxa' => $request->possuiTaxa,
// 'valorTaxa' => $request->valorTaxa,
'enderecoId'
=>
$endereco
->
id
,
'coordenadorId'
=>
Auth
::
user
()
->
id
,
]);
// se o evento tem foto
if
(
$request
->
fotoEvento
!=
null
){
$file
=
$request
->
fotoEvento
;
$path
=
'public/eventos/'
.
$evento
->
id
;
$nome
=
'/logo.png'
;
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$evento
->
fotoEvento
=
$path
.
$nome
;
$evento
->
save
();
}
// se vou me tornar coordenador do Evento
// if($request->isCoordenador == true){
// $evento->coordenadorId = Auth::user()->id;
// $evento->save();
// }
$evento
->
coordenadorId
=
Auth
::
user
()
->
id
;
$evento
->
save
();
$user
=
Auth
::
user
();
$subject
=
"Evento Criado"
;
Mail
::
to
(
$user
->
email
)
->
send
(
new
EventoCriado
(
$user
,
$subject
));
return
redirect
()
->
route
(
'coord.home'
);
}
/**
* Display the specified resource.
*
* @param \App\Evento $evento
* @return \Illuminate\Http\Response
*/
public
function
show
(
$id
)
{
$evento
=
Evento
::
find
(
$id
);
$hasTrabalho
=
false
;
$hasTrabalhoCoautor
=
false
;
$hasFile
=
false
;
$trabalhos
=
Trabalho
::
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
get
();
$trabalhosCount
=
Trabalho
::
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
count
();
$trabalhosId
=
Trabalho
::
where
(
'eventoId'
,
$evento
->
id
)
->
select
(
'id'
)
->
get
();
$trabalhosIdCoautor
=
Coautor
::
whereIn
(
'trabalhoId'
,
$trabalhosId
)
->
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
select
(
'trabalhoId'
)
->
get
();
$coautorCount
=
Coautor
::
whereIn
(
'trabalhoId'
,
$trabalhosId
)
->
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
count
();
$trabalhosCoautor
=
Trabalho
::
whereIn
(
'id'
,
$trabalhosIdCoautor
)
->
get
();
if
(
$trabalhosCount
!=
0
){
$hasTrabalho
=
true
;
$hasFile
=
true
;
}
if
(
$coautorCount
!=
0
){
$hasTrabalhoCoautor
=
true
;
$hasFile
=
true
;
}
$mytime
=
Carbon
::
now
(
'America/Recife'
);
// dd(false);
return
view
(
'evento.visualizarEvento'
,
[
'evento'
=>
$evento
,
'trabalhos'
=>
$trabalhos
,
'trabalhosCoautor'
=>
$trabalhosCoautor
,
'hasTrabalho'
=>
$hasTrabalho
,
'hasTrabalhoCoautor'
=>
$hasTrabalhoCoautor
,
'hasFile'
=>
$hasFile
,
'mytime'
=>
$mytime
]);
}
public
function
showNaoLogado
(
$id
)
{
$evento
=
Evento
::
find
(
$id
);
$hasTrabalho
=
false
;
$hasTrabalhoCoautor
=
false
;
$hasFile
=
false
;
$trabalhos
=
null
;
$trabalhosCoautor
=
null
;
$mytime
=
Carbon
::
now
(
'America/Recife'
);
// dd(false);
return
view
(
'evento.visualizarEvento'
,
[
'evento'
=>
$evento
,
'trabalhos'
=>
$trabalhos
,
'trabalhosCoautor'
=>
$trabalhosCoautor
,
'hasTrabalho'
=>
$hasTrabalho
,
'hasTrabalhoCoautor'
=>
$hasTrabalhoCoautor
,
'hasFile'
=>
$hasFile
,
'mytime'
=>
$mytime
]);
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Evento $evento
* @return \Illuminate\Http\Response
*/
public
function
edit
(
$id
)
{
// dd($id);
$evento
=
Evento
::
find
(
$id
);
$endereco
=
Endereco
::
find
(
$evento
->
enderecoId
);
return
view
(
'evento.editarEvento'
,[
'evento'
=>
$evento
,
'endereco'
=>
$endereco
]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Evento $evento
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
$id
)
{
$evento
=
Evento
::
find
(
$id
);
$endereco
=
Endereco
::
find
(
$evento
->
enderecoId
);
$evento
->
nome
=
$request
->
nome
;
// $evento->numeroParticipantes = $request->numeroParticipantes;
$evento
->
descricao
=
$request
->
descricao
;
$evento
->
tipo
=
$request
->
tipo
;
$evento
->
dataInicio
=
$request
->
dataInicio
;
$evento
->
dataFim
=
$request
->
dataFim
;
$evento
->
inicioSubmissao
=
$request
->
inicioSubmissao
;
$evento
->
fimSubmissao
=
$request
->
fimSubmissao
;
$evento
->
inicioRevisao
=
$request
->
inicioRevisao
;
$evento
->
fimRevisao
=
$request
->
fimRevisao
;
$evento
->
inicioResultado
=
$request
->
inicioResultado
;
$evento
->
fimResultado
=
$request
->
fimResultado
;
// $evento->possuiTaxa = $request->possuiTaxa;
// $evento->valorTaxa = $request->valorTaxa;
$evento
->
enderecoId
=
$endereco
->
id
;
$evento
->
save
();
$endereco
->
rua
=
$request
->
rua
;
$endereco
->
numero
=
$request
->
numero
;
$endereco
->
bairro
=
$request
->
bairro
;
$endereco
->
cidade
=
$request
->
cidade
;
$endereco
->
uf
=
$request
->
uf
;
$endereco
->
cep
=
$request
->
cep
;
$endereco
->
save
();
$eventos
=
Evento
::
all
();
return
view
(
'coordenador.home'
,[
'eventos'
=>
$eventos
]);
}
/**
* Remove the specified resource from storage.
*
* @param \App\Evento $evento
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
$id
)
{
$evento
=
Evento
::
find
(
$id
);
$endereco
=
Endereco
::
find
(
$evento
->
enderecoId
);
$areas
=
Area
::
where
(
'eventoId'
,
$id
);
$atividades
=
Atividade
::
where
(
'eventoId'
,
$id
);
$comissao
=
ComissaoEvento
::
where
(
'eventosId'
,
$id
);
$revisores
=
Revisor
::
where
(
'eventoId'
,
$id
);
$trabalhos
=
Trabalho
::
where
(
'eventoId'
,
$id
);
if
(
isset
(
$areas
)){
$areas
->
delete
();
}
if
(
isset
(
$atividades
)){
$atividades
->
delete
();
}
if
(
isset
(
$comissao
)){
$comissao
->
delete
();
}
if
(
isset
(
$revisores
)){
$revisores
->
delete
();
}
if
(
isset
(
$trabalhos
)){
$trabalhos
->
delete
();
}
$evento
->
delete
();
$endereco
->
delete
();
return
redirect
()
->
back
();
}
public
function
detalhes
(
Request
$request
){
$evento
=
Evento
::
find
(
$request
->
eventoId
);
$this
->
authorize
(
'isCoordenador'
,
$evento
);
$ComissaoEvento
=
ComissaoEvento
::
where
(
'eventosId'
,
$evento
->
id
)
->
get
();
// dd($ComissaoEventos);
$ids
=
[];
foreach
(
$ComissaoEvento
as
$ce
){
array_push
(
$ids
,
$ce
->
userId
);
}
$users
=
User
::
find
(
$ids
);
$areas
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$areasId
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
select
(
'id'
)
->
get
();
$trabalhosId
=
Trabalho
::
whereIn
(
'areaId'
,
$areasId
)
->
select
(
'id'
)
->
get
();
$revisores
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$modalidades
=
Modalidade
::
all
();
$areaModalidades
=
AreaModalidade
::
whereIn
(
'areaId'
,
$areasId
)
->
get
();
$trabalhos
=
Trabalho
::
whereIn
(
'areaId'
,
$areasId
)
->
orderBy
(
'id'
)
->
get
();
$trabalhosEnviados
=
Trabalho
::
whereIn
(
'areaId'
,
$areasId
)
->
count
();
$trabalhosPendentes
=
Trabalho
::
whereIn
(
'areaId'
,
$areasId
)
->
where
(
'avaliado'
,
'processando'
)
->
count
();
$trabalhosAvaliados
=
Atribuicao
::
whereIn
(
'trabalhoId'
,
$trabalhosId
)
->
where
(
'parecer'
,
'!='
,
'processando'
)
->
count
();
$numeroRevisores
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
count
();
$numeroComissao
=
ComissaoEvento
::
where
(
'eventosId'
,
$evento
->
id
)
->
count
();
// $atribuicoesProcessando
// dd($trabalhosEnviados);
$revs
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
with
(
'user'
)
->
get
();
return
view
(
'coordenador.detalhesEvento'
,
[
'evento'
=>
$evento
,
'areas'
=>
$areas
,
'revisores'
=>
$revisores
,
'revs'
=>
$revs
,
'users'
=>
$users
,
'modalidades'
=>
$modalidades
,
'areaModalidades'
=>
$areaModalidades
,
'trabalhos'
=>
$trabalhos
,
'trabalhosEnviados'
=>
$trabalhosEnviados
,
'trabalhosAvaliados'
=>
$trabalhosAvaliados
,
'trabalhosPendentes'
=>
$trabalhosPendentes
,
'numeroRevisores'
=>
$numeroRevisores
,
'numeroComissao'
=>
$numeroComissao
]);
}
public
function
numTrabalhos
(
Request
$request
){
$evento
=
Evento
::
find
(
$request
->
eventoId
);
$this
->
authorize
(
'isCoordenador'
,
$evento
);
$validatedData
=
$request
->
validate
([
'eventoId'
=>
[
'required'
,
'integer'
],
'trabalhosPorAutor'
=>
[
'required'
,
'integer'
],
'numCoautor'
=>
[
'required'
,
'integer'
]
]);
$evento
->
numMaxTrabalhos
=
$request
->
trabalhosPorAutor
;
$evento
->
numMaxCoautores
=
$request
->
numCoautor
;
$evento
->
save
();
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
public
function
setResumo
(
Request
$request
){
$evento
=
Evento
::
find
(
$request
->
eventoId
);
$this
->
authorize
(
'isCoordenador'
,
$evento
);
$validatedData
=
$request
->
validate
([
'eventoId'
=>
[
'required'
,
'integer'
],
'hasResumo'
=>
[
'required'
,
'string'
]
]);
if
(
$request
->
hasResumo
==
'true'
){
$evento
->
hasResumo
=
true
;
}
else
{
$evento
->
hasResumo
=
false
;
}
$evento
->
save
();
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
public
function
setFotoEvento
(
Request
$request
){
$evento
=
Evento
::
find
(
$request
->
eventoId
);
$this
->
authorize
(
'isCoordenador'
,
$evento
);
// dd($request);
$validatedData
=
$request
->
validate
([
'eventoId'
=>
[
'required'
,
'integer'
],
'fotoEvento'
=>
[
'required'
,
'file'
,
'mimes:png'
]
]);
$file
=
$request
->
fotoEvento
;
$path
=
'public/eventos/'
.
$evento
->
id
;
$nome
=
'/logo.png'
;
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$evento
->
fotoEvento
=
$path
.
$nome
;
$evento
->
save
();
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
public
function
areaParticipante
()
{
$eventos
=
Evento
::
all
();
return
view
(
'user.areaParticipante'
,[
'eventos'
=>
$eventos
]);
}
public
function
listComissao
()
{
$comissaoEvento
=
ComissaoEvento
::
where
(
'userId'
,
Auth
::
user
()
->
id
)
->
get
();
$eventos
=
Evento
::
all
();
$evnts
=
[];
foreach
(
$comissaoEvento
as
$comissao
)
{
foreach
(
$eventos
as
$evento
)
{
if
(
$comissao
->
eventosId
==
$evento
->
id
){
array_push
(
$evnts
,
$evento
);
}
}
}
return
view
(
'user.comissoes'
,[
'eventos'
=>
$evnts
]);
}
public
function
listComissaoTrabalhos
(
Request
$request
)
{
$evento
=
Evento
::
find
(
$request
->
eventoId
);
$areasId
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
select
(
'id'
)
->
get
();
$trabalhos
=
Trabalho
::
whereIn
(
'areaId'
,
$areasId
)
->
orderBy
(
'id'
)
->
get
();
return
view
(
'user.areaComissao'
,
[
'trabalhos'
=>
$trabalhos
]);
}
}
app/Http/Controllers/HomeController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
Illuminate\Http\Request
;
class
HomeController
extends
Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public
function
__construct
()
{
$this
->
middleware
([
'auth'
,
'verified'
]);
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public
function
index
()
{
return
view
(
'home'
);
}
public
function
downloadArquivo
(
Request
$request
){
return
response
()
->
download
(
storage_path
(
'app/'
.
$request
->
file
));
}
}
app/Http/Controllers/MensagemController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Mensagem
;
use
Illuminate\Http\Request
;
class
MensagemController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Mensagem $mensagem
* @return \Illuminate\Http\Response
*/
public
function
show
(
Mensagem
$mensagem
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Mensagem $mensagem
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Mensagem
$mensagem
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Mensagem $mensagem
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Mensagem
$mensagem
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Mensagem $mensagem
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Mensagem
$mensagem
)
{
//
}
}
app/Http/Controllers/ModalidadeController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Modalidade
;
use
Illuminate\Http\Request
;
class
ModalidadeController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
$validatedData
=
$request
->
validate
([
'nomeModalidade'
=>
[
'required'
,
'string'
,],
]);
$modalidade
=
Modalidade
::
create
([
'nome'
=>
$request
->
nomeModalidade
,
]);
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
/**
* Display the specified resource.
*
* @param \App\Modalidade $modalidade
* @return \Illuminate\Http\Response
*/
public
function
show
(
Modalidade
$modalidade
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Modalidade $modalidade
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Modalidade
$modalidade
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Modalidade $modalidade
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Modalidade
$modalidade
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Modalidade $modalidade
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Modalidade
$modalidade
)
{
//
}
}
app/Http/Controllers/ParecerController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Parecer
;
use
Illuminate\Http\Request
;
class
ParecerController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Parecer $parecer
* @return \Illuminate\Http\Response
*/
public
function
show
(
Parecer
$parecer
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Parecer $parecer
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Parecer
$parecer
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Parecer $parecer
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Parecer
$parecer
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Parecer $parecer
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Parecer
$parecer
)
{
//
}
}
app/Http/Controllers/PertenceController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Pertence
;
use
Illuminate\Http\Request
;
class
PertenceController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Pertence $pertence
* @return \Illuminate\Http\Response
*/
public
function
show
(
Pertence
$pertence
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Pertence $pertence
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Pertence
$pertence
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Pertence $pertence
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Pertence
$pertence
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Pertence $pertence
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Pertence
$pertence
)
{
//
}
}
app/Http/Controllers/RecursoController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Recurso
;
use
Illuminate\Http\Request
;
class
RecursoController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Recurso $recurso
* @return \Illuminate\Http\Response
*/
public
function
show
(
Recurso
$recurso
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Recurso $recurso
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Recurso
$recurso
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Recurso $recurso
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Recurso
$recurso
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Recurso $recurso
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Recurso
$recurso
)
{
//
}
}
app/Http/Controllers/RevisorController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Revisor
;
use
App\User
;
use
App\Evento
;
use
Illuminate\Http\Request
;
use
App\Mail\EmailParaUsuarioNaoCadastrado
;
use
App\Mail\EmailLembrete
;
use
Illuminate\Support\Facades\Mail
;
use
Illuminate\Support\Str
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Log
;
class
RevisorController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
indexListarTrabalhos
()
{
return
view
(
'revisor.listarTrabalhos'
);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
{
$validatedData
=
$request
->
validate
([
'emailRevisor'
=>
[
'required'
,
'string'
,
'email'
,
'max:255'
],
'nomeRevisor'
=>
[
'required'
,
'string'
,
'max:255'
],
'areaRevisor'
=>
[
'required'
,
'integer'
],
]);
$usuario
=
User
::
where
(
'email'
,
$request
->
emailRevisor
)
->
first
();
$evento
=
Evento
::
find
(
$request
->
eventoId
);
if
(
$usuario
==
null
){
$passwordTemporario
=
Str
::
random
(
8
);
Mail
::
to
(
$request
->
emailRevisor
)
->
send
(
new
EmailParaUsuarioNaoCadastrado
(
Auth
()
->
user
()
->
name
,
' '
,
'Revisor'
,
$evento
->
nome
,
$passwordTemporario
));
$usuario
=
User
::
create
([
'email'
=>
$request
->
emailRevisor
,
'name'
=>
$request
->
nomeRevisor
,
'password'
=>
bcrypt
(
$passwordTemporario
),
'usuarioTemp'
=>
true
,
]);
}
$revisor
=
Revisor
::
create
([
'trabalhosCorrigidos'
=>
0
,
'correcoesEmAndamento'
=>
0
,
'eventoId'
=>
$request
->
eventoId
,
'revisorId'
=>
$usuario
->
id
,
'areaId'
=>
$request
->
areaRevisor
]);
return
redirect
()
->
route
(
'coord.detalhesEvento'
,
[
'eventoId'
=>
$request
->
eventoId
]);
}
/**
* Display the specified resource.
*
* @param \App\Revisor $revisor
* @return \Illuminate\Http\Response
*/
public
function
show
(
Revisor
$revisor
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Revisor $revisor
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Revisor
$revisor
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Revisor $revisor
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Revisor
$revisor
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Revisor $revisor
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Request
$request
)
{
$revisor
=
Revisor
::
where
(
'eventoId'
,
$request
->
eventoId
)
->
where
(
'revisorId'
,
$request
->
userId
);
// dd($revisor);
$revisor
->
delete
();
return
redirect
()
->
back
();
}
public
function
numeroDeRevisoresAjax
(
Request
$request
){
$validatedData
=
$request
->
validate
([
'areaId'
=>
[
'required'
,
'string'
],
]);
$numeroRevisores
=
Revisor
::
where
(
'areaId'
,
$request
->
areaId
)
->
count
();
return
response
()
->
json
(
$numeroRevisores
,
200
);
}
public
function
enviarEmailRevisor
(
Request
$request
){
$subject
=
"Lembrete Controller Um"
;
$user
=
json_decode
(
$request
->
input
(
'user'
));
//Log::debug('Revisores ' . gettype($user));
//Log::debug('Revisores ' . $request->input('user'));
Mail
::
to
(
$user
->
email
)
->
send
(
new
EmailLembrete
(
$user
,
$subject
));
return
redirect
()
->
back
();
}
public
function
enviarEmailTodosRevisores
(
Request
$request
){
$subject
=
"Lembrete Controller Todos"
;
$revisores
=
json_decode
(
$request
->
input
(
'revisores'
))
;
foreach
(
$revisores
as
$revisor
)
{
$user
=
$revisor
->
user
;
Mail
::
to
(
$user
->
email
)
->
send
(
new
EmailLembrete
(
$user
,
$subject
));
}
return
redirect
()
->
back
();
}
}
app/Http/Controllers/TrabalhoController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
App\Trabalho
;
use
App\Coautor
;
use
App\Evento
;
use
App\User
;
use
App\AreaModalidade
;
use
App\Area
;
use
App\Revisor
;
use
App\Modalidade
;
use
App\Atribuicao
;
use
App\Arquivo
;
use
Carbon\Carbon
;
use
Auth
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Storage
;
use
App\Mail\EmailParaUsuarioNaoCadastrado
;
use
Illuminate\Support\Facades\Mail
;
use
Illuminate\Support\Facades\Log
;
use
Illuminate\Support\Str
;
use
App\Mail\SubmissaoTrabalho
;
class
TrabalhoController
extends
Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public
function
index
(
$id
)
{
$evento
=
Evento
::
find
(
$id
);
$areas
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$areasId
=
Area
::
where
(
'eventoId'
,
$evento
->
id
)
->
select
(
'id'
)
->
get
();
$revisores
=
Revisor
::
where
(
'eventoId'
,
$evento
->
id
)
->
get
();
$modalidades
=
Modalidade
::
all
();
$areaModalidades
=
AreaModalidade
::
whereIn
(
'areaId'
,
$areasId
)
->
get
();
$areasEnomes
=
Area
::
wherein
(
'id'
,
$areasId
)
->
get
();
$modalidadesIDeNome
=
[];
foreach
(
$areaModalidades
as
$key
)
{
array_push
(
$modalidadesIDeNome
,[
'areaId'
=>
$key
->
area
->
id
,
'modalidadeId'
=>
$key
->
modalidade
->
id
,
'modalidadeNome'
=>
$key
->
modalidade
->
nome
]);
}
$trabalhos
=
Trabalho
::
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
whereIn
(
'areaId'
,
$areasId
)
->
get
();
// dd($evento);
return
view
(
'evento.submeterTrabalho'
,[
'evento'
=>
$evento
,
'areas'
=>
$areas
,
'revisores'
=>
$revisores
,
'modalidades'
=>
$modalidades
,
'areaModalidades'
=>
$areaModalidades
,
'trabalhos'
=>
$trabalhos
,
'areasEnomes'
=>
$areasEnomes
,
'modalidadesIDeNome'
=>
$modalidadesIDeNome
,
]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
){
$mytime
=
Carbon
::
now
(
'America/Recife'
);
$mytime
=
$mytime
->
toDateString
();
$evento
=
Evento
::
find
(
$request
->
eventoId
);
if
(
$evento
->
inicioSubmissao
>
$mytime
){
if
(
$mytime
>=
$evento
->
fimSubmissao
){
return
redirect
()
->
route
(
'home'
);
}
}
$validatedData
=
$request
->
validate
([
'nomeTrabalho'
=>
[
'required'
,
'string'
,],
'areaId'
=>
[
'required'
,
'integer'
],
'modalidadeId'
=>
[
'required'
,
'integer'
],
'eventoId'
=>
[
'required'
,
'integer'
],
'resumo'
=>
[
'nullable'
,
'string'
],
'nomeCoautor.*'
=>
[
'string'
],
'emailCoautor.*'
=>
[
'string'
],
'arquivo'
=>
[
'required'
,
'file'
,
'mimes:pdf'
,
'max:2000000'
],
]);
$autor
=
Auth
::
user
();
$trabalhosDoAutor
=
Trabalho
::
where
(
'eventoId'
,
$request
->
eventoId
)
->
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
count
();
$areaModalidade
=
AreaModalidade
::
where
(
'areaId'
,
$request
->
areaId
)
->
where
(
'modalidadeId'
,
$request
->
modalidadeId
)
->
first
();
Log
::
debug
(
'Numero de trabalhos'
.
$evento
);
if
(
$trabalhosDoAutor
>=
$evento
->
numMaxTrabalhos
){
return
redirect
()
->
back
()
->
withErrors
([
'numeroMax'
=>
'Número máximo de trabalhos permitidos atingido.'
]);
}
if
(
$request
->
emailCoautor
!=
null
){
$i
=
0
;
foreach
(
$request
->
emailCoautor
as
$key
)
{
$i
++
;
}
if
(
$i
>
$evento
->
numMaxCoautores
){
return
redirect
()
->
back
()
->
withErrors
([
'numeroMax'
=>
'Número de coautores deve ser menor igual a '
.
$evento
->
numMaxCoautores
]);
}
}
if
(
$request
->
emailCoautor
!=
null
){
$i
=
0
;
foreach
(
$request
->
emailCoautor
as
$key
)
{
$userCoautor
=
User
::
where
(
'email'
,
$key
)
->
first
();
if
(
$userCoautor
==
null
){
$passwordTemporario
=
Str
::
random
(
8
);
Mail
::
to
(
$key
)
->
send
(
new
EmailParaUsuarioNaoCadastrado
(
Auth
()
->
user
()
->
name
,
' '
,
'Coautor'
,
$evento
->
nome
,
$passwordTemporario
));
$usuario
=
User
::
create
([
'email'
=>
$key
,
'password'
=>
bcrypt
(
$passwordTemporario
),
'usuarioTemp'
=>
true
,
'name'
=>
$request
->
nomeCoautor
[
$i
],
]);
}
$i
++
;
}
}
$trabalho
=
Trabalho
::
create
([
'titulo'
=>
$request
->
nomeTrabalho
,
'modalidadeId'
=>
$areaModalidade
->
modalidade
->
id
,
'areaId'
=>
$areaModalidade
->
area
->
id
,
'autorId'
=>
$autor
->
id
,
'eventoId'
=>
$evento
->
id
,
'avaliado'
=>
'nao'
]);
if
(
$request
->
emailCoautor
!=
null
){
foreach
(
$request
->
emailCoautor
as
$key
)
{
$userCoautor
=
User
::
where
(
'email'
,
$key
)
->
first
();
Coautor
::
create
([
'ordem'
=>
'-'
,
'autorId'
=>
$userCoautor
->
id
,
'trabalhoId'
=>
$trabalho
->
id
,
]);
}
}
$file
=
$request
->
arquivo
;
$path
=
'trabalhos/'
.
$request
->
eventoId
.
'/'
.
$trabalho
->
id
.
'/'
;
$nome
=
"1.pdf"
;
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$arquivo
=
Arquivo
::
create
([
'nome'
=>
$path
.
$nome
,
'trabalhoId'
=>
$trabalho
->
id
,
'versaoFinal'
=>
true
,
]);
$subject
=
"Submissão de Trabalho"
;
Mail
::
to
(
$autor
->
email
)
->
send
(
new
SubmissaoTrabalho
(
$autor
,
$subject
));
if
(
$request
->
emailCoautor
!=
null
){
foreach
(
$request
->
emailCoautor
as
$key
)
{
$userCoautor
=
User
::
where
(
'email'
,
$key
)
->
first
();
Mail
::
to
(
$userCoautor
->
email
)
->
send
(
new
SubmissaoTrabalho
(
$userCoautor
,
$subject
));
}
}
return
redirect
()
->
route
(
'evento.visualizar'
,[
'id'
=>
$request
->
eventoId
]);
}
/**
* Display the specified resource.
*
* @param \App\Trabalho $trabalho
* @return \Illuminate\Http\Response
*/
public
function
show
(
Trabalho
$trabalho
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Trabalho $trabalho
* @return \Illuminate\Http\Response
*/
public
function
edit
(
Trabalho
$trabalho
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Trabalho $trabalho
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
Trabalho
$trabalho
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Trabalho $trabalho
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
Trabalho
$trabalho
)
{
//
}
public
function
novaVersao
(
Request
$request
){
$mytime
=
Carbon
::
now
(
'America/Recife'
);
$mytime
=
$mytime
->
toDateString
();
$evento
=
Evento
::
find
(
$request
->
eventoId
);
if
(
$evento
->
inicioSubmissao
>
$mytime
){
if
(
$mytime
>=
$evento
->
fimSubmissao
){
return
redirect
()
->
route
(
'home'
);
}
}
$validatedData
=
$request
->
validate
([
'arquivo'
=>
[
'required'
,
'file'
,
'mimes:pdf'
],
'eventoId'
=>
[
'required'
,
'integer'
],
'trabalhoId'
=>
[
'required'
,
'integer'
],
]);
$trabalho
=
Trabalho
::
find
(
$request
->
trabalhoId
);
if
(
Auth
::
user
()
->
id
!=
$trabalho
->
autorId
){
return
redirect
()
->
route
(
'home'
);
}
$arquivos
=
$trabalho
->
arquivo
;
$count
=
1
;
foreach
(
$arquivos
as
$key
)
{
$key
->
versaoFinal
=
false
;
$key
->
save
();
$count
++
;
}
$file
=
$request
->
arquivo
;
$path
=
'trabalhos/'
.
$request
->
eventoId
.
'/'
.
$trabalho
->
id
.
'/'
;
$nome
=
$count
.
".pdf"
;
Storage
::
putFileAs
(
$path
,
$file
,
$nome
);
$arquivo
=
Arquivo
::
create
([
'nome'
=>
$path
.
$nome
,
'trabalhoId'
=>
$trabalho
->
id
,
'versaoFinal'
=>
true
,
]);
return
redirect
()
->
route
(
'evento.visualizar'
,[
'id'
=>
$request
->
eventoId
]);
}
public
function
detalhesAjax
(
Request
$request
){
$validatedData
=
$request
->
validate
([
'trabalhoId'
=>
[
'required'
,
'integer'
]
]);
$trabalho
=
Trabalho
::
find
(
$request
->
trabalhoId
);
$revisores
=
Atribuicao
::
where
(
'trabalhoId'
,
$request
->
trabalhoId
)
->
get
();
$revisoresAux
=
[];
foreach
(
$revisores
as
$key
)
{
if
(
$key
->
revisor
->
user
->
name
!=
null
){
array_push
(
$revisoresAux
,
[
'id'
=>
$key
->
revisor
->
id
,
'nomeOuEmail'
=>
$key
->
revisor
->
user
->
name
]);
}
else
{
array_push
(
$revisoresAux
,
[
'id'
=>
$key
->
revisor
->
id
,
'nomeOuEmail'
=>
$key
->
revisor
->
user
->
email
]);
}
}
$revisoresDisponeis
=
Revisor
::
where
(
'eventoId'
,
$trabalho
->
eventoId
)
->
where
(
'areaId'
,
$trabalho
->
areaId
)
->
get
();
$revisoresAux1
=
[];
foreach
(
$revisoresDisponeis
as
$key
)
{
//verificar se ja é um revisor deste trabalhos
$revisorNaoExiste
=
true
;
foreach
(
$revisoresAux
as
$key1
)
{
if
(
$key
->
id
==
$key1
[
'id'
]){
$revisorNaoExiste
=
false
;
}
}
//
if
(
$revisorNaoExiste
){
if
(
$key
->
user
->
name
!=
null
){
array_push
(
$revisoresAux1
,
[
'id'
=>
$key
->
id
,
'nomeOuEmail'
=>
$key
->
user
->
name
]);
}
else
{
array_push
(
$revisoresAux1
,
[
'id'
=>
$key
->
id
,
'nomeOuEmail'
=>
$key
->
user
->
email
]);
}
}
}
return
response
()
->
json
([
'titulo'
=>
$trabalho
->
titulo
,
'resumo'
=>
$trabalho
->
resumo
,
'revisores'
=>
$revisoresAux
,
'revisoresDisponiveis'
=>
$revisoresAux1
],
200
);
}
}
app/Http/Controllers/UserController.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Controllers
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Validator
;
use
App\User
;
use
App\Endereco
;
use
App\Trabalho
;
use
App\Coautor
;
class
UserController
extends
Controller
{
//
function
perfil
(){
$user
=
User
::
find
(
Auth
::
user
()
->
id
);
$end
=
$user
->
endereco
;
return
view
(
'user.perfilUser'
,[
'user'
=>
$user
,
'end'
=>
$end
]);
}
function
editarPerfil
(
Request
$request
){
$validator
=
$request
->
validate
([
'name'
=>
'required|string|max:255'
,
'cpf'
=>
'required'
,
'celular'
=>
'required|string'
,
'instituicao'
=>
'required|string| max:255'
,
// 'especProfissional' => 'nullable|string',
'rua'
=>
'required|string|max:255'
,
'numero'
=>
'required|string'
,
'bairro'
=>
'required|string|max:255'
,
'cidade'
=>
'required|string|max:255'
,
'uf'
=>
'required|string'
,
'cep'
=>
'required|integer'
,
]);
if
(
Auth
()
->
user
()
->
usuarioTemp
==
true
){
// criar endereço
$end
=
new
Endereco
();
$end
->
rua
=
$request
->
input
(
'rua'
);
$end
->
numero
=
$request
->
input
(
'numero'
);
$end
->
bairro
=
$request
->
input
(
'bairro'
);
$end
->
cidade
=
$request
->
input
(
'cidade'
);
$end
->
uf
=
$request
->
input
(
'uf'
);
$end
->
cep
=
$request
->
input
(
'cep'
);
$end
->
save
();
// Atualizar dados não preenchidos de User
$user
=
User
::
find
(
$request
->
id
);
$user
->
name
=
$request
->
input
(
'name'
);
$user
->
cpf
=
$request
->
input
(
'cpf'
);
$user
->
celular
=
$request
->
input
(
'celular'
);
$user
->
instituicao
=
$request
->
input
(
'instituicao'
);
// $user->especProfissional = $request->input('especProfissional');
$user
->
usuarioTemp
=
null
;
$user
->
enderecoId
=
$end
->
id
;
$user
->
save
();
return
redirect
(
route
(
'home'
));
}
else
{
// User
$user
=
User
::
find
(
$request
->
id
);
$user
->
name
=
$request
->
input
(
'name'
);
$user
->
cpf
=
$request
->
input
(
'cpf'
);
$user
->
celular
=
$request
->
input
(
'celular'
);
$user
->
instituicao
=
$request
->
input
(
'instituicao'
);
// $user->especProfissional = $request->input('especProfissional');
$user
->
usuarioTemp
=
null
;
$user
->
save
();
// endereço
$end
=
Endereco
::
find
(
$user
->
enderecoId
);
$end
->
rua
=
$request
->
input
(
'rua'
);
$end
->
numero
=
$request
->
input
(
'numero'
);
$end
->
bairro
=
$request
->
input
(
'bairro'
);
$end
->
cidade
=
$request
->
input
(
'cidade'
);
$end
->
uf
=
$request
->
input
(
'uf'
);
$end
->
cep
=
$request
->
input
(
'cep'
);
$end
->
save
();
// dd([$user,$end]);
return
redirect
(
route
(
'home'
));
}
}
public
function
meusTrabalhos
(){
$trabalhos
=
Trabalho
::
where
(
'autorId'
,
Auth
::
user
()
->
id
)
->
get
();
return
view
(
'user.meusTrabalhos'
,[
'trabalhos'
=>
$trabalhos
,
]);
}
}
app/Http/Kernel.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http
;
use
Illuminate\Foundation\Http\Kernel
as
HttpKernel
;
class
Kernel
extends
HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected
$middleware
=
[
\
App\Http\Middleware\TrustProxies
::
class
,
\
App\Http\Middleware\CheckForMaintenanceMode
::
class
,
\
Illuminate\Foundation\Http\Middleware\ValidatePostSize
::
class
,
\
App\Http\Middleware\TrimStrings
::
class
,
\
Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull
::
class
,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected
$middlewareGroups
=
[
'web'
=>
[
\
App\Http\Middleware\EncryptCookies
::
class
,
\
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse
::
class
,
\
Illuminate\Session\Middleware\StartSession
::
class
,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\
Illuminate\View\Middleware\ShareErrorsFromSession
::
class
,
\
App\Http\Middleware\VerifyCsrfToken
::
class
,
\
Illuminate\Routing\Middleware\SubstituteBindings
::
class
,
],
'api'
=>
[
'throttle:60,1'
,
\
Illuminate\Routing\Middleware\SubstituteBindings
::
class
,
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected
$routeMiddleware
=
[
'auth'
=>
\
App\Http\Middleware\Authenticate
::
class
,
'auth.basic'
=>
\
Illuminate\Auth\Middleware\AuthenticateWithBasicAuth
::
class
,
'bindings'
=>
\
Illuminate\Routing\Middleware\SubstituteBindings
::
class
,
'cache.headers'
=>
\
Illuminate\Http\Middleware\SetCacheHeaders
::
class
,
'can'
=>
\
Illuminate\Auth\Middleware\Authorize
::
class
,
'guest'
=>
\
App\Http\Middleware\RedirectIfAuthenticated
::
class
,
'password.confirm'
=>
\
Illuminate\Auth\Middleware\RequirePassword
::
class
,
'signed'
=>
\
Illuminate\Routing\Middleware\ValidateSignature
::
class
,
'throttle'
=>
\
Illuminate\Routing\Middleware\ThrottleRequests
::
class
,
'verified'
=>
\
Illuminate\Auth\Middleware\EnsureEmailIsVerified
::
class
,
'isTemp'
=>
\
App\Http\Middleware\IsTemp
::
class
,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected
$middlewarePriority
=
[
\
Illuminate\Session\Middleware\StartSession
::
class
,
\
Illuminate\View\Middleware\ShareErrorsFromSession
::
class
,
\
App\Http\Middleware\Authenticate
::
class
,
\
Illuminate\Routing\Middleware\ThrottleRequests
::
class
,
\
Illuminate\Session\Middleware\AuthenticateSession
::
class
,
\
Illuminate\Routing\Middleware\SubstituteBindings
::
class
,
\
Illuminate\Auth\Middleware\Authorize
::
class
,
];
}
app/Http/Middleware/Authenticate.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Middleware
;
use
Illuminate\Auth\Middleware\Authenticate
as
Middleware
;
class
Authenticate
extends
Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
protected
function
redirectTo
(
$request
)
{
if
(
!
$request
->
expectsJson
())
{
return
route
(
'login'
);
}
}
}
app/Http/Middleware/CheckForMaintenanceMode.php
0 → 100644
View file @
5de5a599
<?php
namespace
App\Http\Middleware
;
use
Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode
as
Middleware
;
class
CheckForMaintenanceMode
extends
Middleware
{
/**
* The URIs that should be reachable while maintenance mode is enabled.
*
* @var array
*/
protected
$except
=
[
//
];
}
Prev
1
2
3
4
5
6
…
12
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment