se agrega modelo de asistencias, correcciones de codigo qr y procesador de unsubscribes
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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'));
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Models\AreaCode;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Code;
|
||||
use Livewire\Component;
|
||||
use Livewire\Attributes\On;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class CodeScanner extends Component
|
||||
@@ -16,11 +16,7 @@ class CodeScanner extends Component
|
||||
public function qrLeido($texto, $lat, $lng)
|
||||
{
|
||||
|
||||
$dia = now()->translatedFormat('l');
|
||||
//dd($dia);
|
||||
|
||||
$codigo = DB::table('area_code')
|
||||
->where('name', $texto)
|
||||
$codigo = AreaCode::where('name', $texto)
|
||||
->first();
|
||||
|
||||
if($codigo){
|
||||
@@ -60,8 +56,7 @@ class CodeScanner extends Component
|
||||
return;
|
||||
}
|
||||
|
||||
$corps = DB::table('area_code')
|
||||
->where('name', 'LIKE','%COR%')
|
||||
$corps = AreaCode::where('name', 'LIKE','%COR%')
|
||||
->get();
|
||||
|
||||
$cor=false;
|
||||
@@ -153,7 +148,9 @@ class CodeScanner extends Component
|
||||
title: 'Código inexistente',
|
||||
text: 'Este codigo no es institucional',
|
||||
confirm: false,
|
||||
closeModal: true
|
||||
closeModal: true,
|
||||
reload: true,
|
||||
timer: 3000
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ class Area extends Model
|
||||
return $this->belongsToMany(Role::class);
|
||||
}
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function existe($request = null)
|
||||
{
|
||||
if (!$request) {
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class AreaCode extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
}
|
||||
@@ -7,4 +7,5 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Campan extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
public $timestamps = false;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
class Carrera extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
public $timestamps = false;
|
||||
|
||||
public function carreraMaterial() : BelongsToMany
|
||||
{
|
||||
|
||||
@@ -13,6 +13,8 @@ class Code extends Model
|
||||
'registro' => 'datetime',
|
||||
];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function user(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
|
||||
@@ -9,6 +9,8 @@ class Concepto extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function planConceptos() : BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plane::class);
|
||||
|
||||
@@ -7,4 +7,5 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Duration extends Model
|
||||
{
|
||||
protected $guarded=[];
|
||||
public $timestamps = false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Horario extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Incidencia extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
}
|
||||
@@ -10,6 +10,7 @@ class Material extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function carreraMaterial() : BelongsToMany
|
||||
{
|
||||
|
||||
@@ -7,4 +7,6 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Medio extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ class Nivel extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function nivelPlantel() : BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plantel::class)->withPivot('plantel_id');
|
||||
|
||||
@@ -13,6 +13,7 @@ class Plan extends Model
|
||||
{
|
||||
return $this->belongsToMany(Plantel::class)->withPivot('plantel_id');
|
||||
}
|
||||
public $timestamps = false;
|
||||
|
||||
public function existe($plantelId = null)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,8 @@ class Plane extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function planPlantel() : BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plantel::class)->withPivot('plantel_id');
|
||||
|
||||
@@ -9,6 +9,8 @@ class Plantel extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function planesPlantel() : BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plan::class);
|
||||
|
||||
@@ -10,6 +10,7 @@ class Prospecto extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
|
||||
public function plantelUsuarios(): BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plantel::class);
|
||||
|
||||
@@ -7,4 +7,6 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class TipoConcepto extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ class Turno extends Model
|
||||
{
|
||||
protected $guarded = [];
|
||||
|
||||
public $timestamps = false;
|
||||
|
||||
public function turnoPlantel() : BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Plantel::class)->withPivot('plantel_id');
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Mail\Events\MessageSending;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
@@ -17,8 +18,19 @@ class AppServiceProvider extends ServiceProvider
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
//
|
||||
}
|
||||
public function boot(): void
|
||||
{
|
||||
Event::listen(MessageSending::class, function ($event) {
|
||||
|
||||
$event->message->getHeaders()->addTextHeader(
|
||||
'List-Unsubscribe',
|
||||
'<mailto:bajas@tudominio.com>, <https://tudominio.com/unsubscribe>'
|
||||
);
|
||||
|
||||
$event->message->getHeaders()->addTextHeader(
|
||||
'List-Unsubscribe-Post',
|
||||
'List-Unsubscribe=One-Click'
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user