feat: 🗃 add new field to show slide only for connected customers #87
This commit is contained in:
parent
d84914974d
commit
fcd0a79251
6 changed files with 67 additions and 8 deletions
|
|
@ -47,6 +47,7 @@ class SlidesController extends Controller
|
|||
$link = $request->link;
|
||||
$newTab = $request->link_new_tab === null ? 0 : 1;
|
||||
$sliderId = $request->slider_id;
|
||||
$connected = $request->connected === null ? 0 : 1;
|
||||
|
||||
if (empty($request->date_start_date)) {
|
||||
$date_start = null;
|
||||
|
|
@ -83,6 +84,7 @@ class SlidesController extends Controller
|
|||
$slide->link_label = $linkLabel;
|
||||
$slide->link = $link;
|
||||
$slide->link_new_tab = $newTab;
|
||||
$slide->connected = $connected;
|
||||
$slide->date_start = $date_start;
|
||||
$slide->date_end = $date_end;
|
||||
$slide->slider_id = $sliderId;
|
||||
|
|
@ -128,6 +130,7 @@ class SlidesController extends Controller
|
|||
$link = $request->link;
|
||||
$newTab = $request->link_new_tab === null ? 0 : 1;
|
||||
$sliderId = $request->slider_id;
|
||||
$connected = $request->connected === null ? 0 : 1;
|
||||
|
||||
if (empty($request->date_start_date)) {
|
||||
$date_start = null;
|
||||
|
|
@ -164,6 +167,7 @@ class SlidesController extends Controller
|
|||
$slide->link_label = $linkLabel;
|
||||
$slide->link = $link;
|
||||
$slide->link_new_tab = $newTab;
|
||||
$slide->connected = $connected;
|
||||
$slide->date_start = $date_start;
|
||||
$slide->date_end = $date_end;
|
||||
$slide->slider_id = $sliderId;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use App\Models\Product;
|
|||
use App\Models\Slider;
|
||||
use App\Models\Range;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
|
|
@ -28,6 +29,12 @@ class HomeController extends Controller
|
|||
$slider = Slider::where('slug', 'home')->first();
|
||||
$slides = $slider->showableSlides;
|
||||
|
||||
// Display only slides visible to connected customers.
|
||||
$isCustomerConnected = Auth::guard('customer')->check();
|
||||
if (!$isCustomerConnected) {
|
||||
$slides = $slides->where('connected', false);
|
||||
}
|
||||
|
||||
$quickorder_ranges = Range::where('status', 1)->get();
|
||||
foreach ($quickorder_ranges as $range) {
|
||||
foreach ($range->products()->where('status', 1) as $product) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddConnectedFieldInSlidesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('slides', function (Blueprint $table) {
|
||||
$table->boolean('connected')->default(false)
|
||||
->comment('Slide visible only for connected customers.')->after('link_new_tab');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('slides', function (Blueprint $table) {
|
||||
$table->dropColumn('connected');
|
||||
});
|
||||
}
|
||||
}
|
||||
15
package-lock.json
generated
15
package-lock.json
generated
|
|
@ -3223,9 +3223,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001684",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz",
|
||||
"integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==",
|
||||
"version": "1.0.30001767",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz",
|
||||
"integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -3240,7 +3240,8 @@
|
|||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
]
|
||||
],
|
||||
"license": "CC-BY-4.0"
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
|
|
@ -12403,9 +12404,9 @@
|
|||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001684",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz",
|
||||
"integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==",
|
||||
"version": "1.0.30001767",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz",
|
||||
"integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
|
|
|
|||
|
|
@ -46,6 +46,13 @@
|
|||
<div class="form-group col"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>
|
||||
<input type="checkbox" name="connected">
|
||||
Visible uniquement pour les utilisateurs connectés ?
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h2><small class="text-muted">Période de parution</small></h2>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
@method('PUT')
|
||||
@csrf
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2"><a href="{{route('bo.slides.index')}}" class="h2 text-decoration-none"><</a> Slides <small class="text-muted">Création</small></h1>
|
||||
<h1 class="h2"><a href="{{route('bo.slides.index')}}" class="h2 text-decoration-none"><</a> Slides <small class="text-muted">Edition</small></h1>
|
||||
@if (session('success'))
|
||||
<span class="float-center text-success">{{ session('success') }}</span>
|
||||
@endif
|
||||
|
|
@ -55,6 +55,13 @@
|
|||
<div class="form-group col"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>
|
||||
<input type="checkbox" name="connected" @if ($slide->connected) checked @endif>
|
||||
Visible uniquement pour les utilisateurs connectés ?
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h2><small class="text-muted">Période de parution</small></h2>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue