Initial commit: Sistema de comisiones y gastos personales
This commit is contained in:
76
app/Http/Controllers/SettingsController.php
Executable file
76
app/Http/Controllers/SettingsController.php
Executable file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Mostrar configuración del usuario
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$user = Auth::user();
|
||||
return view('settings.index', compact('user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualizar configuración del usuario
|
||||
*/
|
||||
public function update(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
foreach (['fecha_ingreso', 'razon_social', 'sueldo_integro_diario'] as $field) {
|
||||
if ($request->has($field) && $request->input($field) === '') {
|
||||
$request->merge([$field => null]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->has('commission_percentage')) {
|
||||
$request->validate([
|
||||
'commission_percentage' => ['required', 'numeric', 'min:0', 'max:100'],
|
||||
]);
|
||||
$user->commission_percentage = floatval($request->input('commission_percentage', 0));
|
||||
}
|
||||
|
||||
if ($request->has('monthly_salary')) {
|
||||
$request->validate([
|
||||
'monthly_salary' => ['required', 'numeric', 'min:0'],
|
||||
]);
|
||||
$user->monthly_salary = floatval($request->input('monthly_salary', 0));
|
||||
}
|
||||
|
||||
if ($request->has('fecha_ingreso')) {
|
||||
if ($request->filled('fecha_ingreso')) {
|
||||
$user->fecha_ingreso = $request->input('fecha_ingreso');
|
||||
} else {
|
||||
$user->fecha_ingreso = null;
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->has('razon_social')) {
|
||||
if ($request->filled('razon_social')) {
|
||||
$user->razon_social = $request->input('razon_social');
|
||||
} else {
|
||||
$user->razon_social = null;
|
||||
}
|
||||
}
|
||||
|
||||
if ($request->has('sueldo_integro_diario')) {
|
||||
if ($request->filled('sueldo_integro_diario')) {
|
||||
$user->sueldo_integro_diario = floatval($request->input('sueldo_integro_diario'));
|
||||
} else {
|
||||
$user->sueldo_integro_diario = null;
|
||||
}
|
||||
}
|
||||
|
||||
$user->save();
|
||||
|
||||
return redirect()->route('settings.index')->with('success', 'Configuración actualizada correctamente.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user