SubCategoryController.php 3.27 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
<?php
namespace Onestartup\Product\Controller;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Onestartup\Product\Model\ProductCategory as Category;
use Onestartup\Product\Model\ProductSubCategory as SubCategory;

use Onestartup\Product\Requests\RequestSubCategory;

class SubCategoryController extends Controller{ 

	public function index(Request $request, $category_id){
		$category = Category::find($category_id);
        if($request->ajax()){
            return $subcategories = $category->subcategories()->get();
        }
		$subcategories = $category->subcategories()->paginate(30);

		return view("product::subcategory.index")
			->with("subcategories", $subcategories)
			->with("category", $category);
	}

	public function edit($category_id, $id){
		$category = Category::find($category_id);
		$subcategory = SubCategory::where("category_id", $category_id)->find($id);

		return view("product::subcategory.edit")
			->with("subcategory", $subcategory)
			->with("category", $category);
	}

	public function store(RequestSubCategory $request, $category_id){

		$subcategory = new SubCategory($request->all());
		$subcategory->category_id = $category_id;
		$subcategory->save();
        if (isset($request->portada)) {
            
            $file = $request->file('portada');
            $nombre = $file->getClientOriginalName();
            $nombre_file = str_replace(' ', '_', $nombre);
            $ubicacion_donde_guarda ='product/subcategories/' . $subcategory->id . '/' .$nombre_file;
            \Storage::disk('local')->put($ubicacion_donde_guarda,  \File::get($file));
            $subcategory->cover = $ubicacion_donde_guarda;
            $subcategory->save();
        } 

        return redirect()
            ->back()
            ->with('message_success', 'Subcategoría añadida correctamente.');

	}

	public function update(RequestSubCategory $request, $category_id, $id){

		$subcategory = SubCategory::where("category_id", $category_id)->find($id);
        $subcategory->fill($request->all());
		$subcategory->save();
        
        if (isset($request->portada) && $request->portada != null ) {
            
            $file = $request->file('portada');
            $nombre = $file->getClientOriginalName();
            $nombre_file = str_replace(' ', '_', $nombre);
            $ubicacion_donde_guarda ='product/subcategories/'. $subcategory->id . '/'. $nombre_file;
            \Storage::disk('local')->put($ubicacion_donde_guarda,  \File::get($file));
            $subcategory->cover = $ubicacion_donde_guarda;
            $subcategory->save();
            
        }
        return redirect()
            ->back()
            ->with('message_success', 'Subcategoría actualizada correctamente.');

	}

	public function destroy($category_id, $id){
		$subcategory = SubCategory::where("category_id", $category_id)->find($id);
        $subcategory->delete();

        return redirect()
            ->back()
            ->with('message_danger', 'Subcategoría eliminada correctamente.');
	}

	public function deleteCover($id)
    {
        $category = SubCategory::find($id);
        $category->cover = null;
        $category->save();

        return redirect()
                ->back()
                ->with('message_success', 'Imagen eliminada correctamente.');
    }
}