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
pad-upe
Commits
684cd0d3
Commit
684cd0d3
authored
May 05, 2024
by
alissonalbuquerque
Browse files
feat(search): add search em sessões de pad
parent
7bf03170
Changes
10
Hide whitespace changes
Inline
Side-by-side
app/Http/Controllers/PadController.php
View file @
684cd0d3
...
...
@@ -7,6 +7,9 @@ use App\Http\Controllers\UserPadController;
use
App\Models\Avaliacao
;
use
App\Models\AvaliadorPad
;
use
App\Models\AvaliadorPadDimensao
;
use
App\Search\AvaliadorPadSearch
;
use
App\Search\UserPadSearch
;
use
App\Search\UserSearch
;
use
Illuminate\Http\Request
;
use
App\Models\Pad
;
use
App\Models\Tabelas\Constants
;
...
...
@@ -202,31 +205,42 @@ class PadController extends Controller
/**
* Show the form for editing the specified resource.
*
* @param Illuminate\Http\Request
* @param integer $id
* @return \Illuminate\Http\Response
*/
public
function
edit
(
$id
)
public
function
edit
(
mixed
$id
,
Request
$request
)
{
$menu
=
Menu
::
PADS
;
$pad
=
PAD
::
find
(
$id
);
$userPads
=
$pad
->
userPads
()
->
paginate
(
50
);
$avaliatorsPads
=
$pad
->
avaliadorPads
;
$status
=
Constants
::
listStatus
();
$status
=
Pad
::
listStatus
();
//Se a página atual for 1 remova o previous
//Se a página atual for lastPage remova o next
//Se houver um page="" no query selecionar a opção de professor por padrão [list]
//Criar variavel para retornar o active tab selecionado
$user_pad_search
=
new
UserPadSearch
();
$user_pad_search
->
pad_id
=
$id
;
$user_pad_search
->
paginate
=
50
;
// dd($pad->id);
// dd($userPads, $userPads->links());
$avaliador_pad_search
=
new
AvaliadorPadSearch
();
$avaliador_pad_search
->
pad_id
=
$id
;
$avaliador_pad_search
->
paginate
=
50
;
$query_params
=
$request
->
all
();
if
(
isset
(
$query_params
[
'search_tab'
]))
{
$user_pads
=
(
$query_params
[
'search_tab'
]
==
'user_pad'
)
?
$user_pad_search
->
search
(
$query_params
)
:
$user_pad_search
->
search
();
$avaliador_pads
=
(
$query_params
[
'search_tab'
]
==
'avaliador_pad'
)
?
$avaliador_pad_search
->
search
(
$query_params
)
:
$avaliador_pad_search
->
search
();
}
else
{
$user_pads
=
$user_pad_search
->
search
();
$avaliador_pads
=
$avaliador_pad_search
->
search
();
}
return
view
(
'pad.admin.edit'
,
[
'pad'
=>
$pad
,
'menu'
=>
$menu
,
'status'
=>
$status
,
'userPads'
=>
$userPads
,
'avaliatorsPads'
=>
$avaliatorsPads
'user_pads'
=>
$user_pads
,
'avaliador_pads'
=>
$avaliador_pads
,
'user_pad_search'
=>
$user_pad_search
,
'avaliador_pad_search'
=>
$avaliador_pad_search
]);
}
...
...
@@ -321,7 +335,7 @@ class PadController extends Controller
$professor
->
status
=
"Pendente"
;
$userPad
=
$professor
->
userPads
()
->
where
(
'pad_id'
,
'='
,
$pad
->
id
)
->
first
();
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$avaliacoes_ensino
=
!
empty
(
$avaliacoes
[
'ensino'
])
?
$avaliacoes
[
'ensino'
]
:
null
;
$avaliacoes_pesquisa
=
!
empty
(
$avaliacoes
[
'pesquisa'
])
?
$avaliacoes
[
'pesquisa'
]
:
null
;
...
...
@@ -334,7 +348,7 @@ class PadController extends Controller
$avaliacoes_extensao_all
=
$avaliacoes_extensao
?
$avaliacoes_extensao
->
all
()
:
null
;
$avaliacoes_gestao_all
=
$avaliacoes_gestao
?
$avaliacoes_gestao
->
all
()
:
null
;
if
(
$avaliacoes_ensino_all
||
$avaliacoes_pesquisa_all
||
$avaliacoes_extensao_all
||
$avaliacoes_gestao_all
)
{
$professor
->
status
=
"Enviado"
;
}
...
...
@@ -347,7 +361,7 @@ class PadController extends Controller
}
public
function
professor_atividades
(
$id
,
$professor_id
,
$aba
=
null
)
{
{
$pad
=
Pad
::
find
(
$id
);
$user
=
Auth
::
user
();
$index_menu
=
MenuItemsAvaliador
::
HOME
;
...
...
@@ -371,7 +385,7 @@ class PadController extends Controller
$avaliacoes_pesquisa
=
!
empty
(
$avaliacoes
[
'pesquisa'
])
&&
$avaliacoes
[
'pesquisa'
]
->
count
()
?
$avaliacoes
[
'pesquisa'
]
->
paginate
(
5
)
:
[];
$avaliacoes_extensao
=
!
empty
(
$avaliacoes
[
'extensao'
])
&&
$avaliacoes
[
'extensao'
]
->
count
()
?
$avaliacoes
[
'extensao'
]
->
paginate
(
5
)
:
[];
$avaliacoes_gestao
=
!
empty
(
$avaliacoes
[
'gestao'
])
&&
$avaliacoes
[
'gestao'
]
->
count
()
?
$avaliacoes
[
'gestao'
]
->
paginate
(
5
)
:
[];
//Informando quais tipos (ensino, pesquisa, extensão ou gestão) de atividades podem ser avaliadas pelo usuário logado.
$avalPad
=
$user
->
avaliadorPad
()
->
first
();
...
...
@@ -385,7 +399,7 @@ class PadController extends Controller
}
else
{
$caminho
=
'pad.avaliacao.tarefas_'
.
$aba
;
}
return
view
(
$caminho
,
compact
(
'pad'
,
'index_menu'
,
'professor'
,
'avaliacoes_ensino'
,
'avaliacoes_pesquisa'
,
'avaliacoes_extensao'
,
'avaliacoes_gestao'
,
'niveis'
,
'modalidades'
));
}
...
...
@@ -466,7 +480,7 @@ class PadController extends Controller
$avaliacoes_ensino_ids
=
array_merge
(
$avaliacoes_ensino_ids
,
$avaliacao_ids
);
}
$avaliacoes_ensino
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_ensino_ids
)
->
orderBy
(
'status'
)
->
get
();
//
}
...
...
@@ -499,7 +513,7 @@ class PadController extends Controller
$avaliacoes_pesquisa_ids
=
array_merge
(
$avaliacoes_pesquisa_ids
,
$avaliacao_ids
);
}
$avaliacoes_pesquisa
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_pesquisa_ids
)
->
orderBy
(
'status'
)
->
get
();
}
...
...
@@ -510,7 +524,7 @@ class PadController extends Controller
'ids'
=>
ExtensaoCoordenacao
::
whereUserPadId
(
$user_pad
->
id
)
->
pluck
(
'id'
)
->
toArray
(),
'type'
=>
AvaliacaoUtil
::
EXTENSAO_COORDENACAO
],
[
[
'ids'
=>
ExtensaoOrientacao
::
whereUserPadId
(
$user_pad
->
id
)
->
pluck
(
'id'
)
->
toArray
(),
'type'
=>
AvaliacaoUtil
::
EXTENSAO_ORIENTACAO
],
...
...
@@ -519,7 +533,7 @@ class PadController extends Controller
'type'
=>
AvaliacaoUtil
::
EXTENSAO_OUTROS
]
];
$avaliacoes_extensao_ids
=
[];
foreach
(
$extensao_grouped_ids
as
$extensao_group
)
{
...
...
@@ -527,7 +541,7 @@ class PadController extends Controller
$avaliacoes_extensao_ids
=
array_merge
(
$avaliacoes_extensao_ids
,
$avaliacao_ids
);
}
$avaliacoes_extensao
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_extensao_ids
)
->
orderBy
(
'status'
)
->
get
();
}
...
...
@@ -575,19 +589,19 @@ class PadController extends Controller
$avaliacoes_gestao_ids
=
array_merge
(
$avaliacoes_gestao_ids
,
$avaliacao_ids
);
}
$avaliacoes_gestao
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_gestao_ids
)
->
orderBy
(
'status'
)
->
get
();
}
return
[
'ensino'
=>
$avaliacoes_ensino
,
'pesquisa'
=>
$avaliacoes_pesquisa
,
'extensao'
=>
$avaliacoes_extensao
,
'pesquisa'
=>
$avaliacoes_pesquisa
,
'extensao'
=>
$avaliacoes_extensao
,
'gestao'
=>
$avaliacoes_gestao
];
}
private
function
get_avaliacoes_with_pagination
(
$user_pad
,
$avaliador_pad
)
{
$avaliacoes_ensino
=
[];
...
...
@@ -655,7 +669,7 @@ class PadController extends Controller
$avaliacoes_ensino_ids
=
array_merge
(
$avaliacoes_ensino_ids
,
$avaliacao_ids
);
}
$avaliacoes_ensino
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_ensino_ids
)
->
orderBy
(
'status'
);
//
}
...
...
@@ -688,7 +702,7 @@ class PadController extends Controller
$avaliacoes_pesquisa_ids
=
array_merge
(
$avaliacoes_pesquisa_ids
,
$avaliacao_ids
);
}
$avaliacoes_pesquisa
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_pesquisa_ids
)
->
orderBy
(
'status'
);
}
...
...
@@ -699,7 +713,7 @@ class PadController extends Controller
'ids'
=>
ExtensaoCoordenacao
::
whereUserPadId
(
$user_pad
->
id
)
->
pluck
(
'id'
)
->
toArray
(),
'type'
=>
AvaliacaoUtil
::
EXTENSAO_COORDENACAO
],
[
[
'ids'
=>
ExtensaoOrientacao
::
whereUserPadId
(
$user_pad
->
id
)
->
pluck
(
'id'
)
->
toArray
(),
'type'
=>
AvaliacaoUtil
::
EXTENSAO_ORIENTACAO
],
...
...
@@ -708,7 +722,7 @@ class PadController extends Controller
'type'
=>
AvaliacaoUtil
::
EXTENSAO_OUTROS
]
];
$avaliacoes_extensao_ids
=
[];
foreach
(
$extensao_grouped_ids
as
$extensao_group
)
{
...
...
@@ -716,7 +730,7 @@ class PadController extends Controller
$avaliacoes_extensao_ids
=
array_merge
(
$avaliacoes_extensao_ids
,
$avaliacao_ids
);
}
$avaliacoes_extensao
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_extensao_ids
)
->
orderBy
(
'status'
);
}
...
...
@@ -764,20 +778,20 @@ class PadController extends Controller
$avaliacoes_gestao_ids
=
array_merge
(
$avaliacoes_gestao_ids
,
$avaliacao_ids
);
}
$avaliacoes_gestao
=
Avaliacao
::
whereIn
(
'id'
,
$avaliacoes_gestao_ids
)
->
orderBy
(
'status'
);
}
return
[
'ensino'
=>
$avaliacoes_ensino
,
'pesquisa'
=>
$avaliacoes_pesquisa
,
'extensao'
=>
$avaliacoes_extensao
,
'pesquisa'
=>
$avaliacoes_pesquisa
,
'extensao'
=>
$avaliacoes_extensao
,
'gestao'
=>
$avaliacoes_gestao
];
}
private
function
get_carga_horaria_total
(
$avaliacoes
)
{
{
//
$ch
=
0
;
$avaliacoes_ensino
=
!
empty
(
$avaliacoes
[
'ensino'
])
?
$avaliacoes
[
'ensino'
]
:
null
;
...
...
@@ -808,7 +822,7 @@ class PadController extends Controller
$ch
+=
$avaliacoes_gestao
[
$i
]
->
tarefa
()
->
first
()
->
ch_semanal
;
}
}
return
$ch
;
}
...
...
@@ -879,22 +893,22 @@ class PadController extends Controller
$professor
->
status
=
"Pendente"
;
$userPad
=
$professor
->
userPads
()
->
where
(
'pad_id'
,
'='
,
$pad
->
id
)
->
first
();
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$professor
->
ch_ensino
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'ensino'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'ensino'
])
:
0
;
$professor
->
ch_pesquisa
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'pesquisa'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'pesquisa'
])
:
0
;
$professor
->
ch_extensao
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'extensao'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'extensao'
])
:
0
;
$professor
->
ch_gestao
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'gestao'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'gestao'
])
:
0
;
if
(
$professor
->
ch_ensino
||
$professor
->
ch_pesquisa
||
$professor
->
ch_extensao
||
$professor
->
ch_gestao
)
{
$professor
->
status
=
"Enviado"
;
$professor
->
pad_id
=
$userPad
->
{
'id'
};
}
}
return
view
(
'pad.relatorio.relatorio'
,
[
'pad'
=>
$pad
,
'pad'
=>
$pad
,
'index_menu'
=>
$index_menu
,
'professores'
=>
$professores
]);
}
...
...
@@ -927,13 +941,13 @@ class PadController extends Controller
foreach
(
$professores
as
$professor
){
$userPad
=
$professor
->
userPads
()
->
where
(
'pad_id'
,
'='
,
$pad
->
id
)
->
first
();
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$avaliacoes
=
$this
->
get_avaliacoes
(
$userPad
,
$avaliador_pad
);
$professor
->
ch_ensino
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'ensino'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'ensino'
])
:
0
;
$professor
->
ch_pesquisa
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'pesquisa'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'pesquisa'
])
:
0
;
$professor
->
ch_extensao
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'extensao'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'extensao'
])
:
0
;
$professor
->
ch_gestao
=
$this
->
get_carga_horaria
(
$avaliacoes
[
'gestao'
])
?
$this
->
get_carga_horaria
(
$avaliacoes
[
'gestao'
])
:
0
;
if
(
$professor
->
ch_ensino
||
$professor
->
ch_pesquisa
||
$professor
->
ch_extensao
||
$professor
->
ch_gestao
)
{
$resource
=
tmpfile
();
$path
=
stream_get_meta_data
(
$resource
)[
'uri'
];
...
...
@@ -947,12 +961,12 @@ class PadController extends Controller
$zipFile
=
storage_path
(
random_int
(
1000
,
9999
)
.
".zip"
);
$zip
=
new
\
ZipArchive
();
$zip
->
open
(
$zipFile
,
\
ZipArchive
::
CREATE
);
foreach
(
$pads
as
$profName
=>
$file
)
foreach
(
$pads
as
$profName
=>
$file
)
{
$zip
->
addFile
(
$file
,
"PAD - Professor "
.
$profName
.
"_.pdf"
);
}
$zip
->
close
();
foreach
(
$pads
as
$profName
=>
$file
)
foreach
(
$pads
as
$profName
=>
$file
)
{
unlink
(
$file
);
}
...
...
@@ -965,7 +979,7 @@ class PadController extends Controller
private
function
get_carga_horaria
(
$avaliacoes
){
$ch
=
0
;
foreach
(
$avaliacoes
as
$avaliacao
){
$ch
+=
$avaliacao
->
tarefa
->
ch_semanal
;
}
...
...
app/Models/Pad.php
View file @
684cd0d3
...
...
@@ -21,11 +21,15 @@ class Pad extends Model
/** @var array */
protected
$dates
=
[
'deleted_at'
];
const
STATUS_ATIVO
=
1
;
const
STATUS_INATIVO
=
2
;
const
STATUS_ARQUIVADO
=
3
;
/**
* @return string
* */
public
function
statusAsString
()
{
return
Status
::
listStatus
(
$this
->
status
);
return
self
::
listStatus
(
$this
->
status
);
}
/**
...
...
@@ -57,5 +61,16 @@ class Pad extends Model
public
function
avaliadorPads
(){
return
$this
->
hasMany
(
AvaliadorPad
::
class
,
'pad_id'
);
}
public
static
function
listStatus
(
$value
=
null
)
{
$values
=
[
self
::
STATUS_ATIVO
=>
'Ativo'
,
self
::
STATUS_INATIVO
=>
'Inativo'
,
self
::
STATUS_ARQUIVADO
=>
'Arquivado'
,
];
return
$value
!==
null
?
$values
[
$value
]
:
$values
;
}
}
app/Models/UserPad.php
View file @
684cd0d3
...
...
@@ -31,6 +31,7 @@ use App\Models\Pad;
use
App\Models\Util\Status
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Model
;
use
DateTime
;
//remover tabela de user_pad
...
...
@@ -68,13 +69,13 @@ class UserPad extends Model
public
static
function
messages
()
{
return
[
];
}
public
function
totalHoras
()
{
$ensinoTotalHoras
=
{
$ensinoTotalHoras
=
EnsinoAtendimentoDiscente
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
EnsinoAula
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
EnsinoCoordenacaoRegencia
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
...
...
@@ -84,8 +85,8 @@ class UserPad extends Model
+
EnsinoParticipacao
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
EnsinoProjeto
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
EnsinoSupervisao
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
);
$gestaoTotalHoras
=
$gestaoTotalHoras
=
GestaoCoordenacaoLaboratoriosDidaticos
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
GestaoCoordenacaoProgramaInstitucional
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
GestaoMembroCamaras
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
...
...
@@ -94,7 +95,7 @@ class UserPad extends Model
+
GestaoMembroTitularConselho
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
GestaoOutros
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
GestaoRepresentanteUnidadeEducacao
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
);
$pesquisaTotalHoras
=
PesquisaCoordenacao
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
+
PesquisaLideranca
::
whereUserPadId
(
$this
->
id
)
->
sum
(
'ch_semanal'
)
...
...
@@ -111,7 +112,21 @@ class UserPad extends Model
return
$totalHoras
;
}
/*
public
function
total_horas
()
{
$date_interval
=
TaskTime
::
float_to_date_interval
(
$this
->
totalHoras
());
[
$hours
,
$minutes
]
=
[
$date_interval
->
format
(
'%h'
),
$date_interval
->
format
(
'%i'
)];
$hours
=
strlen
(
$hours
)
<
2
?
str_pad
(
$hours
,
2
,
'0'
,
STR_PAD_LEFT
)
:
$hours
;
$minutes
=
strlen
(
$minutes
)
<
2
?
str_pad
(
$minutes
,
2
,
'0'
,
STR_PAD_LEFT
)
:
$minutes
;
$date_format
=
"
{
$hours
}
:
{
$minutes
}
"
;
return
$date_format
;
}
/*
* @RELATIONS (relações entre tarefas)
*/
public
function
ensinoAtendimentoDiscentes
()
{
...
...
@@ -150,7 +165,7 @@ class UserPad extends Model
return
$this
->
hasMany
(
EnsinoSupervisao
::
class
,
'user_pad_id'
,
'id'
);
}
public
function
extensaoCoordenacoes
()
{
return
$this
->
hasMany
(
ExtensaoCoordenacao
::
class
,
'user_pad_id'
,
'id'
);
}
...
...
@@ -163,7 +178,7 @@ class UserPad extends Model
return
$this
->
hasMany
(
ExtensaoOutros
::
class
,
'user_pad_id'
,
'id'
);
}
public
function
gestaoCoordenacaoLaboratoriosDidaticos
()
{
return
$this
->
hasMany
(
GestaoCoordenacaoLaboratoriosDidaticos
::
class
,
'user_pad_id'
,
'id'
);
}
...
...
@@ -196,7 +211,7 @@ class UserPad extends Model
return
$this
->
hasMany
(
GestaoRepresentanteUnidadeEducacao
::
class
,
'user_pad_id'
,
'id'
);
}
public
function
pesquisaCoordenacoes
()
{
return
$this
->
hasMany
(
PesquisaCoordenacao
::
class
,
'user_pad_id'
,
'id'
);
}
...
...
@@ -204,11 +219,11 @@ class UserPad extends Model
public
function
pesquisaLiderancas
()
{
return
$this
->
hasMany
(
PesquisaLideranca
::
class
,
'user_pad_id'
,
'id'
);
}
public
function
pesquisaOrientacoes
()
{
return
$this
->
hasMany
(
PesquisaOrientacao
::
class
,
'user_pad_id'
,
'id'
);
}
public
function
pesquisaOutros
()
{
return
$this
->
hasMany
(
PesquisaOutros
::
class
,
'user_pad_id'
,
'id'
);
}
...
...
app/Search/AvaliadorPadSearch.php
0 → 100644
View file @
684cd0d3
<?php
namespace
App\Search
;
use
App\Models\AvaliadorPad
;
use
App\Models\Pad
;
use
App\Models\User
;
use
App\Models\UserPad
;
use
Illuminate\Database\Eloquent\Model
;
class
AvaliadorPadSearch
extends
Model
{
/** @var string */
public
$name
;
/** @var string */
public
$email
;
/** @var integer */
public
$user_id
;
/** @var integer */
public
$pad_id
;
/** @var integer */
public
$paginate
;
/** @var array */
public
$_attributes
=
[
'name'
,
'email'
,
'user_id'
,
'pad_id'
,
'paginate'
];
/** @return void */
public
function
load
(
$params
=
[])
{
foreach
(
$this
->
_attributes
as
$_attribute
)
{
if
(
isset
(
$this
->
$_attribute
))
{
$this
->
$_attribute
=
$this
->
$_attribute
;
}
else
if
(
isset
(
$params
[
$_attribute
]))
{
$this
->
$_attribute
=
$params
[
$_attribute
];
}
else
{
$this
->
$_attribute
=
null
;
}
}
}
/** @return Illuminate\Database\Eloquent\Collection */
public
function
search
(
$params
=
[])
{
/** @var Illuminate\Database\Eloquent\Builder */
$query
=
AvaliadorPad
::
where
([]);
$query
->
join
(
'users'
,
'users.id'
,
'='
,
'avaliador_pad.user_id'
);
$this
->
load
(
$params
);
if
(
$this
->
name
)
{
$name
=
$this
->
name
;
$query
->
where
(
'users.name'
,
"like"
,
"%
{
$name
}
%"
);
}
if
(
$this
->
email
)
{
$email
=
$this
->
email
;
$query
->
where
(
'users.email'
,
"like"
,
"%
{
$email
}
%"
);
}
if
(
$this
->
user_id
)
{
$user_id
=
$this
->
user_id
;
$query
->
where
(
"user_id"
,
'='
,
"
{
$user_id
}
"
);
}
if
(
$this
->
pad_id
)
{
$pad_id
=
$this
->
pad_id
;
$query
->
where
(
"pad_id"
,
'='
,
"
{
$pad_id
}
"
);
}
return
$this
->
paginate
?
$query
->
get
()
->
paginate
(
$this
->
paginate
)
:
$query
->
get
();
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public
function
user
()
{
return
$this
->
belongsTo
(
User
::
class
);
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public
function
pad
()
{
return
$this
->
belongsTo
(
Pad
::
class
);
}
}
app/Search/UserPadSearch.php
0 → 100644
View file @
684cd0d3
<?php
namespace
App\Search
;
use
App\Models\Pad
;
use
App\Models\User
;
use
App\Models\UserPad
;
use
Illuminate\Database\Eloquent\Model
;
class
UserPadSearch
extends
Model
{
/** @var string */
public
$name
;
/** @var string */
public
$email
;
/** @var integer */
public
$user_id
;
/** @var integer */
public
$pad_id
;
/** @var integer */
public
$paginate
;
/** @var array */
public
$_attributes
=
[
'name'
,
'email'
,
'user_id'
,
'pad_id'
,
'paginate'
];
/** @return void */
public
function
load
(
$params
=
[])
{
foreach
(
$this
->
_attributes
as
$_attribute
)
{
if
(
isset
(
$this
->
$_attribute
))
{
$this
->
$_attribute
=
$this
->
$_attribute
;
}
else
if
(
isset
(
$params
[
$_attribute
]))
{
$this
->
$_attribute
=
$params
[
$_attribute
];
}
else
{
$this
->
$_attribute
=
null
;
}
}
}
/** @return Illuminate\Database\Eloquent\Collection */
public
function
search
(
$params
=
[])
{
/** @var Illuminate\Database\Eloquent\Builder */
$query
=
UserPad
::
where
([]);
$query
->
join
(
'users'
,
'users.id'
,
'='
,
'user_pad.user_id'
);
$this
->
load
(
$params
);
if
(
$this
->
name
)
{
$name
=
$this
->
name
;
$query
->
where
(
'users.name'
,
"like"
,
"%
{
$name
}
%"
);
}
if
(
$this
->
email
)
{
$email
=
$this
->
email
;
$query
->
where
(
'users.email'
,
"like"
,
"%
{
$email
}
%"
);
}
if
(
$this
->
user_id
)
{
$user_id
=
$this
->
user_id
;
$query
->
where
(
"user_id"
,
'='
,
"
{
$user_id
}
"
);
}
if
(
$this
->
pad_id
)
{
$pad_id
=
$this
->
pad_id
;
$query
->
where
(
"pad_id"
,
'='
,
"
{
$pad_id
}
"
);
}
return
$this
->
paginate
?
$query
->
get
()
->
paginate
(
$this
->
paginate
)
:
$query
->
get
();
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public
function
user
()
{
return
$this
->
belongsTo
(
User
::
class
);
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public
function
pad
()
{
return
$this
->
belongsTo
(
Pad
::
class
);
}
}
resources/views/pad/admin/edit.blade.php
View file @
684cd0d3
@
php
/**
* @var $pad App\Models\Pad
* @var $menu integer
* @var $status integer
* @var $user_pads Illuminate\Database\Eloquent\Collection<App\Models\UserPad>
* @var $avaliador_pads Illuminate\Database\Eloquent\Collection<App\Models\AvaliadorPad>
* @var $user_pad_search App\Search\UserPadSearch
* @var $avaliador_pad_search App\Search\AvaliadorPadSearch
*/
@
endphp
@
extends
(
'layouts.main'
)
@
section
(
'title'
,
'Novo'
)
...
...
@@ -110,6 +122,8 @@
<div class="
border
rounded
px
-
2
">
@include('pad/admin/search/_user_pad_search', ['model' =>
$user_pad_search
])
{{-- Create Professor --}}
<div class="
text
-
end
my
-
2
">
<button type="
button
" class="
btn
btn
-
success
user
-
pad
-
create
"> Cadastrar Professor </button>
...
...
@@ -122,17 +136,19 @@
<tr>
<th scope="
col
"> Professor </th>
<th scope="
col
"> PDA </th>
<th scope="
col
"> E-mail </th>
<th scope="
col
"> C.H </th>
<th scope="
col
"> Opções </th>
</tr>
</thead>
<tbody>
@foreach(
$user
P
ads
as
$user
P
ad
)
@foreach(
$user
_p
ads
as
$user
_p
ad
)
<tr>
<td>{{
$userPad->user
}}</td>
<td>{{
$userPad->pad
->nome }}</td>
<td> <span class="
badge
bg
-
primary
">{{
$userPad->totalHoras
() }}</span> </td>
<td>{{
$user_pad->user
}}</td>
<td>{{
$user_pad->pad
->nome }}</td>
<td>{{
$user_pad->user
->email }}</td>
<td> <span class="
badge
bg
-
primary
">{{
$user_pad->total_horas
() }}</span> </td>
</tr>
@endforeach
</tbody>
...
...
@@ -140,18 +156,19 @@
{{-- Table --}}
{{-- Pagination --}}
<ul class="
pagination
justify
-
content
-
end
">
@if(
$user_pads->hasPages
())
<ul class="
pagination
justify
-
content
-
end
">
</ul>
@if(!
$user_pads->onFirstPage
())
<li class="
page
-
item
"> <a class="
page
-
link
" href="
{{
$user_pads
->
previousPageUrl
()
}}
" tabindex="
-
1
" aria-disabled="
true
">< Anterior</a> </li>
@endif
<ul class="
pagination
justify
-
content
-
end
">
<li class="
page
-
item
"> <a class="
page
-
link
" href="
#" tabindex="-1" aria-disabled="true">Anterior</a> </li>
<
li
class
=
"page-item"
><
a
class
=
"page-link"
href
=
""
>
1
</
a
></
li
>
<
li
class
=
"page-item"
><
a
class
=
"page-link"
href
=
"#"
>
2
</
a
></
li
>
<
li
class
=
"page-item"
><
a
class
=
"page-link"
href
=
"#"
>
3
</
a
></
li
>
<
li
class
=
"page-item"
>
<
a
class
=
"page-link"
href
=
"#"
>
Próximo
</
a
>
</
li
>
</
ul
>
{{
--
Pagination
--
}}
@if(
$user_pads->hasMorePages
())
<li class="
page
-
item
"> <a class="
page
-
link
" href="
{{
$user_pads
->
nextPageUrl
()
}}
">Próximo > </a> </li>
@endif
</ul>
@endif
</div>
...
...
@@ -161,6 +178,8 @@
<div class="
border
rounded
px
-
2
">
@include('pad/admin/search/_avaliador_pad_search', ['model' =>
$avaliador_pad_search
])
<div class="
text
-
end
my
-
2
">
<button type="
button
" class="
btn
btn
-
success
avaliator
-
pad
-
create
"> Cadastrar Avaliador </button>
</div>
...
...
@@ -169,6 +188,7 @@
<thead>
<tr>
<th scope="
col
"> Avaliador </th>
<th scope="
col
"> E-mail </th>
<th scope="
col
"> PDA </th>
<th scope="
col
"> Dimensão </th>
<th scope="
col
"> Opções </th>
...
...
@@ -176,12 +196,13 @@
</thead>
<tbody>
@
foreach
(
$avalia
t
or
sP
ads
as
$avalia
t
or
P
ad
)
@foreach(
$avalia
d
or
_p
ads
as
$avalia
d
or
_p
ad
)
<tr>
<
td
>
{{
$avaliatorPad
->
user
->
name
??
'UserID não selecionado!'
}}
</
td
>
<
td
>
{{
$avaliatorPad
->
pad
->
nome
}}
</
td
>
<td>{{
$avaliador_pad->user
->name ?? 'UserID não selecionado!' }}</td>
<td>{{
$avaliador_pad->user
->email }}</td>
<td>{{
$avaliador_pad->pad
->nome }}</td>
<td>
@
foreach
(
$avalia
t
or
P
ad
->
dimensions
as
$dimension
)
@foreach(
$avalia
d
or
_p
ad->dimensions
as
$dimension
)
<span class="
badge
bg
-
primary
">{{
$dimension
}}</span>
@endforeach
</td>
...
...
@@ -190,13 +211,13 @@
<div class="
me
-
1
">
@include('components.buttons.btn-edit-task', [
'btn_class' => 'btn-edit_avaliador_pad',
'btn_id'
=>
$avalia
t
or
P
ad
->
id
,
'btn_id' =>
$avalia
d
or
_p
ad->id
,
])
</div>
<div class="
me
-
1
">
@include('components.buttons.btn-delete', [
'id'
=>
$avalia
t
or
P
ad
->
id
,
'route'
=>
route
(
'avaliador-pad_delete'
,
[
'id'
=>
$avalia
t
or
P
ad
->
id
])
'id' =>
$avalia
d
or
_p
ad->id
,
'route' => route('avaliador-pad_delete', ['id' =>
$avalia
d
or
_p
ad->id
])
])
</div>
</div>
...
...
resources/views/pad/admin/search/_avaliador_pad_search.blade.php
0 → 100644
View file @
684cd0d3
<?php
/**
* @var $model App\Search\AvaliadorPadSearch;
*/
?>
<div
class=
"m-2 p-2"
>
<form
action=
"{{ route('pad_edit', ['id' => $model->pad_id]) }}"
method=
"get"
>
<div
class=
"row"
>
<div>
<input
type=
"hidden"
name=
"search_tab"
value=
"avaliador_pad"
>
</div>
<div>
<input
type=
"hidden"
name=
"pad_id"
value=
"{{ $model->pad_id }}"
>
</div>
<div
class=
"mb-3 col-6"
>
<div
class=
"form-group"
>
<label
class=
"form-label"
for=
"name"
>
Nome
</label>
<input
type=
"text"
name=
"name"
id=
"name"
class=
"form-control"
placeholder=
"Nome"
value=
"{{ $model->name }}"
>
</div>
</div>
<div
class=
"mb-3 col-6"
>
<div
class=
"form-group"
>
<label
class=
"form-label"
for=
"email"
>
E-Mail
</label>
<input
type=
"email"
name=
"email"
id=
"email"
class=
"form-control"
placeholder=
"E-Mail"
value=
"{{ $model->email }}"
>
</div>
</div>
</div>
<button
type=
"submit"
class=
"btn btn-primary"
>
Buscar
</button>
</form>
</div>
<hr>
resources/views/pad/admin/search/_user_pad_search.blade.php
0 → 100644
View file @
684cd0d3
<?php
/**
* @var $model App\Search\UserPadSearch;
*/
?>
<div
class=
"m-2 p-2"
>
<form
action=
"{{ route('pad_edit', ['id' => $model->pad_id]) }}"
method=
"get"
>
<div
class=
"row"
>
<div>
<input
type=
"hidden"
name=
"search_tab"
value=
"user_pad"
>
</div>
<div>
<input
type=
"hidden"
name=
"pad_id"
value=
"{{ $model->pad_id }}"
>
</div>
<div
class=
"mb-3 col-6"
>
<div
class=
"form-group"
>
<label
class=
"form-label"
for=
"name"
>
Nome
</label>
<input
type=
"text"
name=
"name"
id=
"name"
class=
"form-control"
placeholder=
"Nome"
value=
"{{ $model->name }}"
>
</div>
</div>
<div
class=
"mb-3 col-6"
>
<div
class=
"form-group"
>
<label
class=
"form-label"
for=
"email"
>
E-Mail
</label>
<input
type=
"email"
name=
"email"
id=
"email"
class=
"form-control"
placeholder=
"E-Mail"
value=
"{{ $model->email }}"
>
</div>
</div>
</div>
<button
type=
"submit"
class=
"btn btn-primary"
>
Buscar
</button>
</form>
</div>
<hr>
routes/pad.php
View file @
684cd0d3
...
...
@@ -18,6 +18,8 @@ Route::prefix('/pad')->group(function () {
Route
::
get
(
'/{id}/professor/{professor_id}/atividades/pesquisa'
,
[
PadController
::
class
,
'professor_atividades'
])
->
name
(
'pad_professor_atividades_pesquisa'
);
Route
::
get
(
'/{id}/professor/{professor_id}/atividades/gestao'
,
[
PadController
::
class
,
'professor_atividades'
])
->
name
(
'pad_professor_atividades_gestao'
);
Route
::
get
(
'/{id}/professor/{professor_id}/atividades/extensao'
,
[
PadController
::
class
,
'professor_atividades'
])
->
name
(
'pad_professor_atividades_extensao'
);
// Route::get('/{id}/professor/{professor_id}/atividades/extensao', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades_extensao');
});
/** PadProfessor */
...
...
routes/web.php
View file @
684cd0d3
...
...
@@ -54,8 +54,11 @@ require __DIR__ . '/task_time.php';
require
__DIR__
.
'/dimensao/dimensao.php'
;
require
__DIR__
.
'/dimensao/ensino.php'
;
require
__DIR__
.
'/dimensao/gestao.php'
;
require
__DIR__
.
'/dimensao/pesquisa.php'
;
require
__DIR__
.
'/dimensao/extensao.php'
;
require
__DIR__
.
'/import/update_user.php'
;
...
...
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