diff --git a/app/Http/Resources/ProductResource.php b/app/Http/Resources/ProductResource.php index ca54c89..784078e 100644 --- a/app/Http/Resources/ProductResource.php +++ b/app/Http/Resources/ProductResource.php @@ -34,6 +34,7 @@ class ProductResource extends JsonResource 'certification' => null, 'origins' => null, 'claims' => null, + 'specified_claim' => null, 'distribution_network' => null, 'ray' => null, 'product_range' => null, @@ -83,6 +84,7 @@ class ProductResource extends JsonResource 'certification' => \optional($this->product->certification)->label(), 'origins' => $this->product->origins_enum->map(fn (OriginEnum $enum) => $enum->label())->implode(', '), 'claims' => $this->product->claims_enum->map(fn (ClaimEnum $enum) => $enum->label())->implode(', '), + 'specified_claim' => $this->product->specified_claim, 'distribution_network' => $this->product->distribution_network->label(), 'ray' => $this->product->ray->label(), 'product_range' => $this->product->product_range->label(), diff --git a/app/Models/Product.php b/app/Models/Product.php index 6b52924..b339122 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -185,7 +185,9 @@ class Product extends Model { $check = false; foreach ($model->claims as $claimValue) { - $check = (intval($claimValue) === \App\Enums\Products\ClaimEnum::others->value) ? true : false; + if (!$check) { + $check = (intval($claimValue) === \App\Enums\Products\ClaimEnum::others->value) ? true : false; + } } $model->specified_claim = ($check) ? $model->specified_claim : null; } diff --git a/resources/views/documents/product-body.blade.php b/resources/views/documents/product-body.blade.php index d4bcbf6..2ef24fc 100644 --- a/resources/views/documents/product-body.blade.php +++ b/resources/views/documents/product-body.blade.php @@ -19,7 +19,23 @@
{{ __('Certification : ') }}{{ $product->certification }}
@endif{{ __('Origines : ') }}{{ $product->origins }}
-{{ __('Allégations : ') }}{{ $product->claims }}
+{{ __('Allégations : ') }} + @php + $claims = Str::of($product->claims)->explode(', '); + $claimOthers = \App\Enums\Products\ClaimEnum::others->label(); + @endphp + @if ($claims->contains($claimOthers)) + @php + $product->claims = $claims->except(array_search('Autres', $claims->toArray()))->implode(', '); + @endphp + {{ $product->claims }}, {{ $claimOthers}} + @if ($product->specified_claim) + : {{ $product->specified_claim }} + @endif + @else + {{ $product->claims }} + @endif +