You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.5 KiB
112 lines
2.5 KiB
1 year ago
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers\Administracion;
|
||
|
|
||
|
use App\Models\User;
|
||
|
use App\Models\Grupos;
|
||
|
use App\Models\UsersGrupos;
|
||
|
use Illuminate\Http\Request;
|
||
|
use App\Http\Controllers\Controller;
|
||
|
use Illuminate\Support\Facades\Auth;
|
||
|
|
||
|
class GruposTrabajoController extends Controller
|
||
|
{
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->middleware('auth');
|
||
|
|
||
|
}
|
||
|
|
||
|
public function index()
|
||
|
{
|
||
|
|
||
|
return view('grupos/grupos',['users'=>User::select('id','name')->where('activo',1)->where('eliminado',0)->get()]);
|
||
|
}
|
||
|
|
||
|
|
||
|
function nuevo_grupo(Request $request){
|
||
|
|
||
|
Grupos::create($request->grupos);
|
||
|
|
||
|
return "Exito";
|
||
|
|
||
|
}
|
||
|
|
||
|
function agregar_users_grupo(Request $request){
|
||
|
|
||
|
|
||
|
$grupo= collect($request->all())->except('_token','fk_id_users');
|
||
|
|
||
|
$usuariosActual = User::where('fk_id_grupos',$grupo)->pluck('id')->toArray();
|
||
|
$usuariosNuevo= collect($request->all())->except('_token','fk_id_grupos')->toArray();
|
||
|
|
||
|
$nuevosintegrantes = array_diff($usuariosNuevo['fk_id_users'] , $usuariosActual);
|
||
|
|
||
|
$sacarintegrantes = array_diff( $usuariosActual,$usuariosNuevo['fk_id_users'] );
|
||
|
|
||
|
|
||
|
//INSERTAR USUARIOS AL GRUPO Y ACTUALIZA USUARIO
|
||
|
if(!empty($nuevosintegrantes)){
|
||
|
|
||
|
foreach($nuevosintegrantes as $dato ){
|
||
|
|
||
|
UsersGrupos::create(['fk_id_users' => $dato,
|
||
|
'fk_id_grupos'=>$grupo['fk_id_grupos'],
|
||
|
'activo'=>1]);
|
||
|
|
||
|
User::where('id',$dato )->update([
|
||
|
'fk_id_grupos' => $grupo['fk_id_grupos']]);
|
||
|
}
|
||
|
}
|
||
|
//SACA USUARIOS DEL GRUPO Y ACTUALIZA USUARIO A 0
|
||
|
if(!empty($sacarintegrantes)){
|
||
|
echo("sacar Integrantes");
|
||
|
|
||
|
foreach($sacarintegrantes as $dato ){
|
||
|
|
||
|
UsersGrupos::where('fk_id_users',$dato )->update([
|
||
|
'activo'=>0,
|
||
|
'eliminado'=>1]);
|
||
|
|
||
|
User::where('id',$dato )->update([
|
||
|
'fk_id_grupos' => 0 ]);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
return "Exito";
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public function eliminar_grupo(Request $request){
|
||
|
|
||
|
Grupos::where('id',$request->id )->update([
|
||
|
'activo'=>0,
|
||
|
'eliminado'=>1]);
|
||
|
|
||
|
User::where('fk_id_grupos',$request->id)->update([
|
||
|
'fk_id_grupos' => 0 ]);
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function vaciar_users_grupo(Request $request){
|
||
|
|
||
|
User::where('fk_id_grupos',$request->fk_id_grupos)->update([
|
||
|
'fk_id_grupos' => 0 ]);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|