Cree las rutas para la creacion de projectos
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Post;
|
||||
use App\Now;
|
||||
use App\Project;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AdminController extends Controller
|
||||
@@ -16,4 +18,14 @@ class AdminController extends Controller
|
||||
{
|
||||
return view('admin.posts.index', ['posts' => Post::orderBy('created_at', 'desc')->get()]);
|
||||
}
|
||||
|
||||
public function now()
|
||||
{
|
||||
return view('admin.now.index', ['nows' => Now::orderBy('created_at', 'desc')->get()]);
|
||||
}
|
||||
|
||||
public function projects()
|
||||
{
|
||||
return view('admin.projects.index', ['projects' => Project::orderBy('created_at', 'desc')->get()]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,4 +12,40 @@ class NowController extends Controller
|
||||
$now = Now::orderBy('created_at', 'desc')->first();
|
||||
return view('now.index', ['now' => $now] );
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.now.create');
|
||||
}
|
||||
|
||||
public function save(Request $request)
|
||||
{
|
||||
$now = new Now();
|
||||
$now->md = $request->md;
|
||||
$now->save();
|
||||
|
||||
return redirect()->route('admin.now.index');
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
return view('admin.now.edit', ['now' => Now::find($id)]);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$now = Now::find($id);
|
||||
|
||||
$now->md = $request->md;
|
||||
$now->update();
|
||||
|
||||
return redirect()->route('admin.now.index');
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
{
|
||||
$now= Now::find($id);
|
||||
$now->delete();
|
||||
return redirect()->route('admin.now.index');
|
||||
}
|
||||
}
|
||||
|
||||
83
app/Http/Controllers/ProjectController.php
Normal file
83
app/Http/Controllers/ProjectController.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Project;
|
||||
use App\ProjectPhoto;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class ProjectController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$projects = Project::orderBy('created_at', 'desc')->get();
|
||||
return view('projects.index', ['projects' => $projects] );
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('admin.projects.create');
|
||||
}
|
||||
|
||||
public function save(Request $request)
|
||||
{
|
||||
$project = new Project();
|
||||
$project->title = $request->title;
|
||||
$project->md = $request->md;
|
||||
$project->save();
|
||||
|
||||
foreach($request->photos as $photo){
|
||||
$filename = $photo->store('photos');
|
||||
|
||||
$projectPhoto = new ProjectPhoto();
|
||||
$projectPhoto->project_id = $project->id;
|
||||
$projectPhoto->filename = $filename;
|
||||
$projectPhoto->save();
|
||||
}
|
||||
|
||||
return redirect()->route('admin.project.index');
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
return view('admin.projects.edit', ['project' => Project::find($id)]);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$project = Project::find($id);
|
||||
$project->title = $request->title;
|
||||
$project->md = $request->md;
|
||||
$project->save();
|
||||
|
||||
foreach($project->photos as $photo) {
|
||||
Storage::delete($photo->filename);
|
||||
$photo->delete();
|
||||
}
|
||||
|
||||
foreach($request->photos as $photo){
|
||||
$filename = $photo->store('photos');
|
||||
|
||||
$projectPhoto = new ProjectPhoto();
|
||||
$projectPhoto->project_id = $project->id;
|
||||
$projectPhoto->filename = $filename;
|
||||
$projectPhoto->save();
|
||||
}
|
||||
|
||||
return redirect()->route('admin.project.index');
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
{
|
||||
$project = Project::find($id);
|
||||
foreach($project->photos as $photo) {
|
||||
Storage::delete($photo->filename);
|
||||
$photo->delete();
|
||||
}
|
||||
|
||||
$project->delete();
|
||||
|
||||
return redirect()->route('admin.project.index');
|
||||
}
|
||||
}
|
||||
15
app/Project.php
Normal file
15
app/Project.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Project extends Model
|
||||
{
|
||||
protected $table = 'projects';
|
||||
|
||||
public function photos()
|
||||
{
|
||||
return $this->hasMany('App\ProjectPhoto');
|
||||
}
|
||||
}
|
||||
14
app/ProjectPhoto.php
Normal file
14
app/ProjectPhoto.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class ProjectPhoto extends Model
|
||||
{
|
||||
protected $table = 'projects_photos';
|
||||
|
||||
public function project() {
|
||||
return $this->belongsTo('App\Project');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user