se agrega modelo de asistencias, correcciones de codigo qr y procesador de unsubscribes

This commit is contained in:
2026-02-20 16:11:57 -06:00
parent cf4037cb80
commit 9e227f9653
67 changed files with 691 additions and 114 deletions
@@ -0,0 +1,74 @@
<?php
namespace App\Http\Controllers;
use App\Models\AreaCode;
use Illuminate\Routing\Controller;
use Illuminate\Http\Request;
class AreaCodeController extends Controller
{
public function __construct() {
$this->middleware('can:areacode.index')->only('index','show');
$this->middleware('can:areacode.create')->only('create','store');
$this->middleware('can:areacode.edit')->only('edit','update');
$this->middleware('can:areacode.destroy')->only('destroy');
}
public function index()
{
$areacodes = AreaCode::all();
return view('areacode.index',compact('areacodes'));
}
public function create()
{
return view('areacode.create');
}
public function store(Request $request)
{
$request->validate([
'name'=>'required'
]);
$areacode = AreaCode::create($request->all());
return redirect()->route('areacode.edit',$areacode)->with('info','El código se creo correctamente');
}
public function show(AreaCode $areacode)
{
return view('areacode.show',compact('areacode'));
}
public function edit(AreaCode $areacode)
{
return view('areacode.edit',compact('areacode'));
}
public function update(Request $request, AreaCode $areacode)
{
$request->validate([
'name'=>'required'
]);
$areacode->update($request->all());
return redirect()->route('areacode.edit',$areacode)->with('info','El código se actualizo correctamente');
}
public function destroy(AreaCode $areacode)
{
$areacode->delete();
session()->flash('swal',[
'icon'=>'success',
'title'=>'Eliminado!',
'text'=>'Se ha eliminado el registro correctamente'
]);
return redirect()->route('areacode.index');
}
}
+7 -1
View File
@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\Code;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
class CodeController extends Controller
{
@@ -14,7 +15,12 @@ class CodeController extends Controller
public function index()
{
// $conceptos = Concepto::where('tipo','=','3')->get();
return view('code.index');
$user = Auth::user();
$codes= Code::where('user_id', $user->id)
->whereDate('registro', today())
->get();
$registros=$codes->count();
return view('code.index',compact('codes','registros'));
}
public function show()
@@ -0,0 +1,74 @@
<?php
namespace App\Http\Controllers;
use App\Models\Horario;
use Illuminate\Routing\Controller;
use Illuminate\Http\Request;
class HorarioController extends Controller
{
public function __construct() {
$this->middleware('can:areacode.index')->only('index','show');
$this->middleware('can:areacode.create')->only('create','store');
$this->middleware('can:areacode.edit')->only('edit','update');
$this->middleware('can:areacode.destroy')->only('destroy');
}
public function index()
{
$areacodes = Horario::all();
return view('areacode.index',compact('areacodes'));
}
public function create()
{
return view('areacode.create');
}
public function store(Request $request)
{
$request->validate([
'name'=>'required'
]);
$areacode = AreaCode::create($request->all());
return redirect()->route('areacode.edit',$areacode)->with('info','El código se creo correctamente');
}
public function show(Horario $horario)
{
return view('areacode.show',compact('areacode'));
}
public function edit(Horario $horario)
{
return view('areacode.edit',compact('areacode'));
}
public function update(Request $request, Horario $horario)
{
$request->validate([
'name'=>'required'
]);
$areacode->update($request->all());
return redirect()->route('areacode.edit',$areacode)->with('info','El código se actualizo correctamente');
}
public function destroy(Horario $horario)
{
$areacode->delete();
session()->flash('swal',[
'icon'=>'success',
'title'=>'Eliminado!',
'text'=>'Se ha eliminado el registro correctamente'
]);
return redirect()->route('areacode.index');
}
}
@@ -0,0 +1,64 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IncidenciaController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UnsubscribeController extends Controller
{
public function handle(Request $request)
{
$token = $request->token;
$user = User::where('unsubscribe_token', $token)->first();
if ($user) {
$user->subscribed = false;
$user->save();
}
return response('Unsubscribed', 200);
}
}
+3 -3
View File
@@ -2,11 +2,11 @@
namespace App\Http\Controllers;
use App\Models\AreaCode;
use App\Models\User;
use App\Models\Plantel;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Role;
class UserController extends Controller
@@ -30,7 +30,7 @@ class UserController extends Controller
public function create()
{
$plantels = Plantel::where('status','=','1')->get();
$codigos = DB::table('area_code')->get();
$codigos = AreaCode::all();
$roles= Role::all();
return view('user.create',compact('roles','plantels','codigos'));
}
@@ -53,7 +53,7 @@ class UserController extends Controller
public function edit(User $user)
{
$plantels=Plantel::all();
$codigos = DB::table('area_code')->get();
$codigos = AreaCode::all();
$roles= Role::all();
return view('user.edit',compact('user','roles','plantels','codigos'));
}