ok
Direktori : /home2/selectio/public_html/limpiar.in.net/resources/views/backend/product/products/ |
Current File : /home2/selectio/public_html/limpiar.in.net/resources/views/backend/product/products/index.blade.php |
@extends('backend.layouts.app') @section('content') @php CoreComponentRepository::instantiateShopRepository(); CoreComponentRepository::initializeCache(); @endphp <div class="aiz-titlebar text-left mt-2 mb-3"> <div class="row align-items-center"> <div class="col-auto"> <h1 class="h3">{{translate('All products')}}</h1> </div> @if($type != 'Seller' && auth()->user()->can('add_new_product')) <div class="col text-right"> <a href="{{ route('products.create') }}" class="btn btn-circle btn-info"> <span>{{translate('Add New Product')}}</span> </a> </div> @endif </div> </div> <br> <div class="card"> <form class="" id="sort_products" action="" method="GET"> <div class="card-header row gutters-5"> <div class="col"> <h5 class="mb-md-0 h6">{{ translate('All Product') }}</h5> </div> @can('product_delete') <div class="dropdown mb-2 mb-md-0"> <button class="btn border dropdown-toggle" type="button" data-toggle="dropdown"> {{translate('Bulk Action')}} </button> <div class="dropdown-menu dropdown-menu-right"> <a class="dropdown-item" href="#" onclick="bulk_delete()"> {{translate('Delete selection')}}</a> </div> </div> @endcan @if($type == 'Seller') <div class="col-md-2 ml-auto"> <select class="form-control form-control-sm aiz-selectpicker mb-2 mb-md-0" id="user_id" name="user_id" onchange="sort_products()"> <option value="">{{ translate('All Sellers') }}</option> @foreach (App\Models\User::where('user_type', '=', 'seller')->get() as $key => $seller) <option value="{{ $seller->id }}" @if ($seller->id == $seller_id) selected @endif> {{ $seller->shop->name }} ({{ $seller->name }}) </option> @endforeach </select> </div> @endif @if($type == 'All') <div class="col-md-2 ml-auto"> <select class="form-control form-control-sm aiz-selectpicker mb-2 mb-md-0" id="user_id" name="user_id" onchange="sort_products()"> <option value="">{{ translate('All Sellers') }}</option> @foreach (App\Models\User::where('user_type', '=', 'admin')->orWhere('user_type', '=', 'seller')->get() as $key => $seller) <option value="{{ $seller->id }}" @if ($seller->id == $seller_id) selected @endif>{{ $seller->name }}</option> @endforeach </select> </div> @endif <div class="col-md-2 ml-auto"> <select class="form-control form-control-sm aiz-selectpicker mb-2 mb-md-0" name="type" id="type" onchange="sort_products()"> <option value="">{{ translate('Sort By') }}</option> <option value="rating,desc" @isset($col_name , $query) @if($col_name == 'rating' && $query == 'desc') selected @endif @endisset>{{translate('Rating (High > Low)')}}</option> <option value="rating,asc" @isset($col_name , $query) @if($col_name == 'rating' && $query == 'asc') selected @endif @endisset>{{translate('Rating (Low > High)')}}</option> <option value="num_of_sale,desc"@isset($col_name , $query) @if($col_name == 'num_of_sale' && $query == 'desc') selected @endif @endisset>{{translate('Num of Sale (High > Low)')}}</option> <option value="num_of_sale,asc"@isset($col_name , $query) @if($col_name == 'num_of_sale' && $query == 'asc') selected @endif @endisset>{{translate('Num of Sale (Low > High)')}}</option> <option value="unit_price,desc"@isset($col_name , $query) @if($col_name == 'unit_price' && $query == 'desc') selected @endif @endisset>{{translate('Base Price (High > Low)')}}</option> <option value="unit_price,asc"@isset($col_name , $query) @if($col_name == 'unit_price' && $query == 'asc') selected @endif @endisset>{{translate('Base Price (Low > High)')}}</option> </select> </div> <div class="col-md-2"> <div class="form-group mb-0"> <input type="text" class="form-control form-control-sm" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type & Enter') }}"> </div> </div> </div> <div class="card-body"> <table class="table aiz-table mb-0"> <thead> <tr> @if(auth()->user()->can('product_delete')) <th> <div class="form-group"> <div class="aiz-checkbox-inline"> <label class="aiz-checkbox"> <input type="checkbox" class="check-all"> <span class="aiz-square-check"></span> </label> </div> </div> </th> @else <th data-breakpoints="lg">#</th> @endif <th>{{translate('Name')}}</th> @if($type == 'Seller' || $type == 'All') <th data-breakpoints="lg">{{translate('Added By')}}</th> @endif <th data-breakpoints="sm">{{translate('Info')}}</th> <th data-breakpoints="md">{{translate('Total Stock')}}</th> <th data-breakpoints="lg">{{translate('Todays Deal')}}</th> <th data-breakpoints="lg">{{translate('Published')}}</th> @if(get_setting('product_approve_by_admin') == 1 && $type == 'Seller') <th data-breakpoints="lg">{{translate('Approved')}}</th> @endif <th data-breakpoints="lg">{{translate('Featured')}}</th> <th data-breakpoints="sm" class="text-right">{{translate('Options')}}</th> </tr> </thead> <tbody> @foreach($products as $key => $product) <tr> @if(auth()->user()->can('product_delete')) <td> <div class="form-group d-inline-block"> <label class="aiz-checkbox"> <input type="checkbox" class="check-one" name="id[]" value="{{$product->id}}"> <span class="aiz-square-check"></span> </label> </div> </td> @else <td>{{ ($key+1) + ($products->currentPage() - 1)*$products->perPage() }}</td> @endif <td> <div class="row gutters-5 w-200px w-md-300px mw-100"> <div class="col-auto"> <img src="{{ uploaded_asset($product->thumbnail_img)}}" alt="Image" class="size-50px img-fit"> </div> <div class="col"> <span class="text-muted text-truncate-2">{{ $product->getTranslation('name') }}</span> </div> </div> </td> @if($type == 'Seller' || $type == 'All') <td>{{ optional($product->user)->name }}</td> @endif <td> <strong>{{translate('Num of Sale')}}:</strong> {{ $product->num_of_sale }} {{translate('times')}} </br> <strong>{{translate('Base Price')}}:</strong> {{ single_price($product->unit_price) }} </br> <strong>{{translate('Rating')}}:</strong> {{ $product->rating }} </br> </td> <td> @php $qty = 0; if($product->variant_product) { foreach ($product->stocks as $key => $stock) { $qty += $stock->qty; echo $stock->variant.' - '.$stock->qty.'<br>'; } } else { //$qty = $product->current_stock; $qty = optional($product->stocks->first())->qty; echo $qty; } @endphp @if($qty <= $product->low_stock_quantity) <span class="badge badge-inline badge-danger">Low</span> @endif </td> <td> <label class="aiz-switch aiz-switch-success mb-0"> <input onchange="update_todays_deal(this)" value="{{ $product->id }}" type="checkbox" <?php if ($product->todays_deal == 1) echo "checked"; ?> > <span class="slider round"></span> </label> </td> <td> <label class="aiz-switch aiz-switch-success mb-0"> <input onchange="update_published(this)" value="{{ $product->id }}" type="checkbox" <?php if ($product->published == 1) echo "checked"; ?> > <span class="slider round"></span> </label> </td> @if(get_setting('product_approve_by_admin') == 1 && $type == 'Seller') <td> <label class="aiz-switch aiz-switch-success mb-0"> <input onchange="update_approved(this)" value="{{ $product->id }}" type="checkbox" <?php if ($product->approved == 1) echo "checked"; ?> > <span class="slider round"></span> </label> </td> @endif <td> <label class="aiz-switch aiz-switch-success mb-0"> <input onchange="update_featured(this)" value="{{ $product->id }}" type="checkbox" <?php if ($product->featured == 1) echo "checked"; ?> > <span class="slider round"></span> </label> </td> <td class="text-right"> <a class="btn btn-soft-success btn-icon btn-circle btn-sm" href="{{ route('product', $product->slug) }}" target="_blank" title="{{ translate('View') }}"> <i class="las la-eye"></i> </a> @can('product_edit') @if ($type == 'Seller') <a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('products.seller.edit', ['id'=>$product->id, 'lang'=>env('DEFAULT_LANGUAGE')] )}}" title="{{ translate('Edit') }}"> <i class="las la-edit"></i> </a> @else <a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('products.admin.edit', ['id'=>$product->id, 'lang'=>env('DEFAULT_LANGUAGE')] )}}" title="{{ translate('Edit') }}"> <i class="las la-edit"></i> </a> @endif @endcan @can('product_duplicate') <a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{route('products.duplicate', ['id'=>$product->id, 'type'=>$type] )}}" title="{{ translate('Duplicate') }}"> <i class="las la-copy"></i> </a> @endcan @can('product_delete') <a href="#" class="btn btn-soft-danger btn-icon btn-circle btn-sm confirm-delete" data-href="{{route('products.destroy', $product->id)}}" title="{{ translate('Delete') }}"> <i class="las la-trash"></i> </a> @endcan </td> </tr> @endforeach </tbody> </table> <div class="aiz-pagination"> {{ $products->appends(request()->input())->links() }} </div> </div> </form> </div> @endsection @section('modal') @include('modals.delete_modal') @endsection @section('script') <script type="text/javascript"> $(document).on("change", ".check-all", function() { if(this.checked) { // Iterate each checkbox $('.check-one:checkbox').each(function() { this.checked = true; }); } else { $('.check-one:checkbox').each(function() { this.checked = false; }); } }); $(document).ready(function(){ //$('#container').removeClass('mainnav-lg').addClass('mainnav-sm'); }); function update_todays_deal(el){ if(el.checked){ var status = 1; } else{ var status = 0; } $.post('{{ route('products.todays_deal') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){ if(data == 1){ AIZ.plugins.notify('success', '{{ translate('Todays Deal updated successfully') }}'); } else{ AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}'); } }); } function update_published(el){ if(el.checked){ var status = 1; } else{ var status = 0; } $.post('{{ route('products.published') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){ if(data == 1){ AIZ.plugins.notify('success', '{{ translate('Published products updated successfully') }}'); } else{ AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}'); } }); } function update_approved(el){ if(el.checked){ var approved = 1; } else{ var approved = 0; } $.post('{{ route('products.approved') }}', { _token : '{{ csrf_token() }}', id : el.value, approved : approved }, function(data){ if(data == 1){ AIZ.plugins.notify('success', '{{ translate('Product approval update successfully') }}'); } else{ AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}'); } }); } function update_featured(el){ if(el.checked){ var status = 1; } else{ var status = 0; } $.post('{{ route('products.featured') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){ if(data == 1){ AIZ.plugins.notify('success', '{{ translate('Featured products updated successfully') }}'); } else{ AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}'); } }); } function sort_products(el){ $('#sort_products').submit(); } function bulk_delete() { var data = new FormData($('#sort_products')[0]); $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, url: "{{route('bulk-product-delete')}}", type: 'POST', data: data, cache: false, contentType: false, processData: false, success: function (response) { if(response == 1) { location.reload(); } } }); } </script> @endsection