mejoras en la gestión de proyectos y documentos: se añaden nuevos campos y validaciones para optimizar la organización y el seguimiento de los mismos.
This commit is contained in:
@@ -19,8 +19,8 @@ class ProjectController extends Controller
|
||||
public function index()
|
||||
{
|
||||
$projects = auth()->user()->hasRole('admin')
|
||||
? Project::get() // Todos los proyectos para admin
|
||||
: auth()->user()->projects()->latest()->get(); // Solo proyectos asignados
|
||||
? Project::get() // Todos los proyectos para admin
|
||||
: auth()->user()->projects()->latest()->get(); // Solo proyectos asignados
|
||||
|
||||
/*
|
||||
$projects = Project::whereHas('users', function($query) {
|
||||
@@ -43,6 +43,7 @@ class ProjectController extends Controller
|
||||
'project' => $project,
|
||||
'categories' => Category::orderBy('name')->get(),
|
||||
'users' => User::where('id', '!=', auth()->id())->get(),
|
||||
'companies' => \App\Models\Company::all(), // Pass companies to the view
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -65,9 +66,8 @@ class ProjectController extends Controller
|
||||
'start_date' => 'nullable|date',
|
||||
'deadline' => 'nullable|date|after:start_date',
|
||||
'categories' => 'nullable|array|exists:categories,id',
|
||||
//'categories' => 'required|array',
|
||||
//'categories.*' => 'exists:categories,id',
|
||||
'project_image_path' => 'nullable|string',
|
||||
'company_id' => 'required|exists:companies,id', // Validate company_id
|
||||
]);
|
||||
|
||||
|
||||
@@ -82,8 +82,8 @@ class ProjectController extends Controller
|
||||
$tempPath = $request->project_image_path;
|
||||
$newPath = 'images/projects/' . basename($tempPath);
|
||||
|
||||
Storage::move($tempPath, $newPath); // Mover el archivo
|
||||
$validated['project_image_path'] = $newPath; // Actualizar path
|
||||
Storage::move($tempPath, $newPath); // Mover el archivo
|
||||
$validated['project_image_path'] = $newPath; // Actualizar path
|
||||
}
|
||||
|
||||
// Crear el proyecto con todos los datos validados
|
||||
@@ -111,6 +111,7 @@ class ProjectController extends Controller
|
||||
'project' => $project,
|
||||
'categories' => Category::orderBy('name')->get(),
|
||||
'users' => User::where('id', '!=', auth()->id())->get(),
|
||||
'companies' => \App\Models\Company::all(), // Pass companies to the view
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -135,8 +136,31 @@ class ProjectController extends Controller
|
||||
public function update(Request $request, Project $project)
|
||||
{
|
||||
$this->authorize('update', $project);
|
||||
// Lógica de actualización
|
||||
$project->update($request->all());
|
||||
|
||||
$validated = $request->validate([
|
||||
'reference' => 'required|string|max:255',
|
||||
'name' => 'required|string|max:255',
|
||||
'description' => 'nullable|string',
|
||||
'status' => 'required|in:Activo,Inactivo',
|
||||
'address' => 'nullable|string|max:255',
|
||||
'province' => 'nullable|string|max:100',
|
||||
'country' => 'nullable|string|size:2',
|
||||
'postal_code' => 'nullable|string|max:10',
|
||||
'latitude' => 'required|numeric|between:-90,90',
|
||||
'longitude' => 'required|numeric|between:-180,180',
|
||||
'start_date' => 'nullable|date',
|
||||
'deadline' => 'nullable|date|after:start_date',
|
||||
'categories' => 'nullable|array|exists:categories,id',
|
||||
'project_image_path' => 'nullable|string',
|
||||
'company_id' => 'required|exists:companies,id', // Validate company_id
|
||||
]);
|
||||
|
||||
$project->update($validated);
|
||||
|
||||
if ($request->has('categories')) {
|
||||
$project->categories()->sync($request->categories);
|
||||
}
|
||||
|
||||
return redirect()->route('projects.show', $project)->with('success', 'Project updated successfully.');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user