Add refreshing for inherited data

This commit is contained in:
Ludovic CANDELLIER
2021-08-30 22:59:50 +02:00
parent 8d3ccbf148
commit 144532acbf
10 changed files with 73 additions and 15 deletions

View File

@@ -35,7 +35,7 @@ class Articles
public static function getArticle($id)
{
$article = Article::with('product.tags')->findOrFail($id);
$article = self::get($id);
$data = $article->toArray();
$data['inherited'] = self::getInherited($id);
$data['categories'] = self::getCategoriesNameByArticle($article);
@@ -53,7 +53,7 @@ class Articles
public static function getArticleEdit($id)
{
$article = Article::with('product.tags')->findOrFail($id);
$article = self::get($id);
$data = $article->toArray();
$data['inherited'] = self::getInherited($id);
$data['categories'] = self::getCategoriesByArticle($article);
@@ -81,6 +81,26 @@ class Articles
return $data;
}
public static function getInheritedByProduct($product_id, $product_type)
{
switch ($product_type) {
case 'App\Models\Botanic\Variety':
$product = Varieties::get($product_id);
$data[] = ['name' => 'Espèces', 'description' => Species::getDescription($product->specie_id), 'tags' => Species::getTags($product->specie_id)];
$data[] = ['name' => 'Variétés', 'description' => $product->description, 'tags' => $product->tags->toArray()];
break;
case 'App\Models\Botanic\Specie':
$product = Species::get($product_id);
$data[] = ['name' => 'Espèces', 'description' => $product->description, 'tags' => $product->tags->toArray()];
break;
case 'App\Models\Shop\Merchandise':
$product = Merchandises::get($product_id);
$data[] = ['name' => 'Marchandise', 'description' => $product->description, 'tags' => $product->tags->toArray()];
break;
}
return $data;
}
public static function getMeta(&$data = [])
{
$data['products'] = (($data['article']['product_type'] ?? false) == 'App\Models\Botanic\Variety') ? Varieties::getOptionsWithSpecie() : Species::getOptions();

View File

@@ -28,10 +28,10 @@ class Categories
public static function storeFull($data)
{
$images = isset($data['images']) ? $data['images'] : false;
$images = $data['images'] ?? false;
unset($data['images']);
$tags = isset($data['tags']) ? $data['tags'] : false;
$tags = $data['tags'] ?? false;
unset($data['tags']);
$category = self::store($data);
@@ -54,6 +54,7 @@ class Categories
return (int) $item;
}
)->toArray();
return $category->syncTags($tags, true);
} else {
return false;

View File

@@ -33,11 +33,11 @@ class CategoryTrees
switch ($type) {
case 'after':
dump("$node_id After $target_id");
// dump("$node_id After $target_id");
$category->afterNode($category_target);
break;
case 'inside':
dump("$node_id inside $target_id");
// dump("$node_id inside $target_id");
$category_target->appendNode($category);
break;
}