Change tag routines, articles saving is ok

This commit is contained in:
Ludovic CANDELLIER
2020-06-14 23:30:33 +02:00
parent 927e68223b
commit abc1510284
35 changed files with 703 additions and 141 deletions

View File

@@ -6,10 +6,6 @@ use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Articles;
use App\Repositories\Shop\ArticleAttributeFamilies;
use App\Repositories\Shop\ArticleFamilies;
use App\Repositories\Shop\Categories;
use App\Repositories\Shop\TagGroups;
use App\DataTables\Shop\ArticlesDataTable;
class ArticleController extends Controller
@@ -26,19 +22,26 @@ class ArticleController extends Controller
public function create()
{
$data = [];
$data['categories'] = Categories::getOptions();
$data['families'] = ArticleFamilies::getOptions();
$data['attribute_families'] = ArticleAttributeFamilies::getOptions();
$data['tags_list'] = TagGroups::getTreeTags();
// $data['models'] = ['App\Models\Botanic\Specie' => 'Espèces', 'App\Models\Botanic\Variety' => 'Variétés'];
$data['models'] = ['App\Models\Botanic\Variety' => 'Variétés'];
$data = $this->getMeta();
return view('Shop.Admin.Articles.create', $data);
}
public function store(Request $request)
{
$ret = Articles::store($request->all());
$data = $request->all();
$images = isset($data['images']) ? $data['images'] : false;
$categories = isset($data['categories']) ? $data['categories'] : false;
$tags = isset($data['tags']) ? $data['tags'] : false;
$prices = isset($data['prices']) ? $data['prices'] : false;
unset($data['images']);
unset($data['categories']);
unset($data['tags']);
unset($data['prices']);
$article = Articles::store($data);
Articles::storeImages($article, $images);
Articles::storeCategories($article, $categories);
Articles::storeTags($article, $categories);
Articles::storePrices($article, $prices);
return redirect()->route('Shop.Admin.Articles.index');
}
@@ -50,12 +53,7 @@ class ArticleController extends Controller
public function edit($id)
{
$data = Articles::get($id);
$data['categories'] = Articles::getOptions();
$data['families'] = ArticleFamilies::getOptions();
$data['attribute_families'] = ArticleAttributeFamilies::getOptions();
$data['tags_list'] = TagGroups::getTreeTags();
$data['models'] = ['App\Models\Botanic\Specie' => 'Espèces', 'App\Models\Botanic\Variety' => 'Variétés'];
$data = Articles::getFull($id);
return view('Shop.Admin.Articles.edit', $data);
}
@@ -69,6 +67,18 @@ class ArticleController extends Controller
return Articles::destroy($id);
}
public function getMeta($data = [])
{
return Articles::getMeta($data);
}
public function getImages(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data['images'] = Articles::getImages($id);
return view('components.uploader.mini-gallery-items', $data);
}
public function deleteImage(Request $request)
{
$id = $request->input('id');

View File

@@ -0,0 +1,60 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Tags;
use App\Repositories\Shop\TagGroups;
use App\DataTables\Shop\TagsDataTable;
class TagController extends Controller
{
public function index(TagsDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.Tags.list');
}
public function getDatatable(Request $request)
{
return Tags::getTables($request->all());
}
public function create()
{
$data = [];
$data['tag_groups'] = TagGroups::getOptions();
return view('Shop.Admin.Tags.create', $data);
}
public function store(Request $request)
{
$ret = Tags::store($request->all());
return redirect()->route('Shop.Admin.Tags.index');
}
public function show($id)
{
$data = Tags::get($id);
return view('Shop.Admin.Tags.view', $data);
}
public function edit($id)
{
$data = Tags::get($id);
$data['tag_groups'] = TagGroups::getOptions();
return view('Shop.Admin.Tags.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return Tags::destroy($id);
}
}

View File

@@ -0,0 +1,58 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Taxes;
class TaxController extends Controller
{
public function index(TaxesDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.Taxes.list');
}
public function getDatatable(Request $request)
{
return Taxes::getTables($request->all());
}
public function create()
{
$data = [];
$data['groups'] = TagGroups::getOptions();
return view('Shop.Admin.Taxes.create', $data);
}
public function store(Request $request)
{
$ret = Taxes::store($request->all());
return redirect()->route('Shop.Admin.Taxes.index');
}
public function show($id)
{
$data = Taxes::get($id);
return view('Shop.Admin.Taxes.view', $data);
}
public function edit($id)
{
$data = Taxes::get($id);
$data['groups'] = TagGroups::getOptions();
return view('Shop.Admin.Taxes.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return Taxes::destroy($id);
}
}