Modificacion de prospecto a alumno y asignacion de grupos, coordinacion académica
This commit is contained in:
@@ -360,7 +360,10 @@ class DataProspecto extends Component
|
||||
'roles' => Role::whereHas('areas', fn($q) => $q->where('areas.name', 'Promoción'))->get(),
|
||||
'plantels'=> Plantel::all(),
|
||||
'user' => Auth::user(),
|
||||
'campans' => Campan::all(),
|
||||
'campans' => Campan::whereDate('periodoInicial', '<=', now())
|
||||
->whereDate('periodoFinal', '>=', now())
|
||||
->where('status', 1)
|
||||
->get(),
|
||||
'medios' => Medio::all(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Models\Alumno;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Livewire\Attributes\On;
|
||||
use Livewire\Component;
|
||||
|
||||
class GrupoAlumno extends Component
|
||||
{
|
||||
public $grupo = null;
|
||||
public $selectedAlumnos = [];
|
||||
public $carrera;
|
||||
|
||||
|
||||
#[On('create-grupo')]
|
||||
public function creategrupo()
|
||||
{
|
||||
$this->dispatch('open-grupo-modal');
|
||||
}
|
||||
|
||||
public function mount($grupo)
|
||||
{
|
||||
$this->grupo = $grupo;
|
||||
}
|
||||
|
||||
public function guardar()
|
||||
{
|
||||
if (empty($this->selectedAlumnos)) {
|
||||
session()->flash('error', 'Selecciona al menos un alumno');
|
||||
return;
|
||||
}
|
||||
|
||||
$this->grupo->alumnos()->syncWithoutDetaching($this->selectedAlumnos);
|
||||
|
||||
$this->reset('selectedAlumnos');
|
||||
|
||||
$this->dispatch('swal',
|
||||
icon: 'success',
|
||||
title: 'Anexado!',
|
||||
text: 'Se agrego el alumno correctamente',
|
||||
timer: 2000,
|
||||
confirm: false,
|
||||
closeModal: true,
|
||||
reload: 2000
|
||||
);
|
||||
|
||||
$this->dispatch('close-modal');
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
$user = Auth::user();
|
||||
$grupo = $this->grupo;
|
||||
|
||||
$plantelesUsuario = $user->plantelUsuarios->pluck('id');
|
||||
|
||||
$alumnos = Alumno::query()
|
||||
->with(['alumnos.plantelUsuarios', 'statusAlumno', 'plan.carreraRel','nivelRel'])
|
||||
|
||||
->where('status', 2)
|
||||
|
||||
->where('nivel', $grupo->nivel)
|
||||
|
||||
->whereDoesntHave('grupos')
|
||||
|
||||
->whereHas('alumnos.plantelUsuarios', function ($q) use ($plantelesUsuario) {
|
||||
$q->whereIn('plantels.id', $plantelesUsuario);
|
||||
})
|
||||
|
||||
->orderByRaw("
|
||||
CASE
|
||||
WHEN plan_id = {$grupo->plan_id} THEN 0
|
||||
ELSE 1
|
||||
END
|
||||
")
|
||||
->orderByRaw("
|
||||
CASE
|
||||
WHEN nivel = {$grupo->nivel} THEN 0
|
||||
ELSE 1
|
||||
END"
|
||||
)
|
||||
|
||||
->get();
|
||||
|
||||
return view('livewire.grupo-alumno', [
|
||||
'alumnos' => $alumnos,
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -180,7 +180,10 @@ class ModalProspecto extends Component
|
||||
'roles' => Role::whereHas('areas', fn($q) => $q->where('areas.name', 'Promoción'))->get(),
|
||||
'plantels'=> Plantel::all(),
|
||||
'user' => Auth::user(),
|
||||
'campans' => Campan::all(),
|
||||
'campans' => Campan::whereDate('periodoInicial', '<=', now())
|
||||
->whereDate('periodoFinal', '>=', now())
|
||||
->where('status', 1)
|
||||
->get(),
|
||||
'medios' => Medio::all(),
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user