shell bypass 403
@extends('admin.theme.default')
@section('styles')
<link rel="stylesheet"
href="{{ url(env('ASSETSPATHURL') . 'admin-assets/assets/css/bootstrap/bootstrap-select.v1.14.0-beta2.min.css') }}">
@endsection
@section('content')
@include('admin.breadcrumb')
<div class="container-fluid">
<div class="row mb-3">
<div class="col-12">
<div class=" card border-0 box-shadow">
<div class="card-body">
<div id="privacy-policy-three" class="privacy-policy">
<form method="post" action="{{ URL::to('admin/item/store') }}" name="about" id="about"
enctype="multipart/form-data">
@csrf
<div class="row g-3">
<div class="col-12">
<div class="row g-3">
<div class="col-md-6">
<div class="form-group">
<label for="cat_id"
class="col-form-label">{{ trans('labels.category') }}
<span class="text-danger">*</span> </label>
<select class="form-select" name="cat_id" id="cat_id"
data-url="{{ URL::to('admin/item/subcategories') }}" required>
<option value="" selected>{{ trans('labels.select') }}
</option>
@foreach ($getcategory as $category)
<option value="{{ $category->id }}"
{{ old('cat_id') == $category->id ? 'selected' : '' }}
data-id="{{ $category->id }}">{{ $category->category_name }}
</option>
@endforeach
</select>
@error('cat_id')
<span class="text-danger">{{ $message }}</span>
@enderror
<span class="emsg text-danger"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="subcat_id"
class="col-form-label">{{ trans('labels.subcategory') }}</label>
<select class="form-select" name="subcat_id" id="subcat_id">
<option value="" selected>{{ trans('labels.select') }}
</option>
</select>
@error('subcat_id')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="col-form-label">{{ trans('labels.name') }} <span
class="text-danger">*</span> </label>
<input type="text" class="form-control" name="item_name"
value="{{ old('item_name') }}" placeholder="{{ trans('labels.name') }}"
required>
@error('item_name')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="item_type" class="col-form-label">{{ trans('labels.item_type') }}
<span class="text-danger">*</span> </label>
<div class="col-md-12">
<div class="form-check-inline">
<input class="form-check-input me-0" type="radio" name="item_type"
id="veg" value="1" checked
@if (old('item_type') == 1) checked @endif>
<label class="form-check-label" for="veg"> <img
src="{{ helper::image_path('veg.svg') }}" alt="">
{{ trans('labels.veg') }}</label>
</div>
<div class="form-check-inline">
<input class="form-check-input me-0" type="radio" name="item_type"
id="nonveg" value="2"
@if (old('item_type') == 2) checked @endif>
<label class="form-check-label" for="nonveg"> <img
src="{{ helper::image_path('nonveg.svg') }}" alt="">
{{ trans('labels.nonveg') }}</label>
</div>
@error('item_type')
<br><span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
</div>
<div class="col-md-6">
<label class="form-label">{{ trans('labels.sku') }}</label>
<input type="text" name="sku" id="sku" class="form-control"
value="{{ old('sku') }}" placeholder="{{ trans('labels.sku') }}">
</div>
<div class="col-md-6">
<label class="form-label">{{ trans('labels.video_url') }}</label>
<input type="text" name="video_url" id="video_url" class="form-control"
value="{{ old('video_url') }}" placeholder="{{ trans('labels.video_url') }}">
</div>
<div class="col-12">
<div class="col-12">
<div class="d-flex flex-wrap gap-2 justify-content-between align-items-center">
<div class="form-group">
<label for="has_extras"
class="form-label">{{ trans('labels.product_has_extras') }}</label>
<div class="col-md-12">
<div class="form-check-inline">
<input class="form-check-input me-0 has_extras" type="radio"
name="has_extras" id="extras_no" value="2" checked
@if (old('has_extras') == 2) checked @endif>
<label class="form-check-label"
for="extras_no">{{ trans('labels.no') }}</label>
</div>
<div class="form-check-inline">
<input class="form-check-input me-0 has_extras" type="radio"
name="has_extras" id="extras_yes" value="1"
@if (old('has_extras') == 1) checked @endif>
<label class="form-check-label"
for="extras_yes">{{ trans('labels.yes') }}</label>
</div>
</div>
</div>
<div>
@if (count($globalextras) > 0)
<button class="btn btn-primary px-4 align-items-end "
type="button" id="globalextra" onclick="global_extras()"><i
class="fa-sharp fa-solid fa-plus"></i>
{{ trans('labels.add_global_extras') }}</button>
@endif
<button class="btn btn-secondary" type="button" id="add_extra"
onclick="extras_fields('{{ trans('labels.name') }}','{{ trans('labels.price') }}')"><i
class="fa-sharp fa-solid fa-plus"></i> </button>
</div>
</div>
</div>
<div class="col-12 m-0">
<div id="extras">
@if (!empty($globalextras) && $globalextras->count() > 0)
<div id="global-extras" class="row g-3 mt-2"></div>
@endif
<div id="more_extras_fields" class="row g-3 pt-3"></div>
</div>
</div>
</div>
<div class="col-12 d-flex align-items-center justify-content-between">
<div class="form-group">
<label for="has_variants"
class="form-label">{{ trans('labels.product_has_variation') }}</label>
<div class="col-md-12">
<div class="form-check-inline">
<input class="form-check-input me-0 has_variants" type="radio"
name="has_variants" id="no" value="2" checked
@if (old('has_variants') == 2) checked @endif>
<label class="form-check-label"
for="no">{{ trans('labels.no') }}</label>
</div>
<div class="form-check-inline">
<input class="form-check-input me-0 has_variants" type="radio"
name="has_variants" id="yes" value="1"
@if (old('has_variants') == 1) checked @endif>
<label class="form-check-label"
for="yes">{{ trans('labels.yes') }}</label>
</div>
</div>
</div>
<button class="btn btn-secondary" type="button" id="btn_addvariants"
onclick="commonModal()">
<i class="fa-sharp fa-solid fa-plus"></i>
</button>
</div>
</div>
<div class="row g-3 pt-3 dn @if ($errors->has('variants_name.*') || $errors->has('variants_price.*')) dn @endif @if (old('variants') == 2) d-flex @endif"
id="price_row">
<div class="col-md-6">
<div class="form-group">
<label class="form-label">{{ trans('labels.original_price') }} <span
class="text-danger"> * </span>
</label>
<input type="text" class="form-control numbers_only" name="original_price"
value="{{ old('original_price') }}"
placeholder="{{ trans('labels.original_price') }}" id="original_price"
required>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="form-label">{{ trans('labels.selling_price') }} <span
class="text-danger"> * </span></label>
<input type="text" class="form-control numbers_only" name="price"
value="{{ old('price') }}"
placeholder="{{ trans('labels.selling_price') }}" id="price"
required>
</div>
</div>
<div class="col-12 d-flex align-items-center justify-content-between">
<div class="form-group">
<label for="has_stock"
class="form-label">{{ trans('labels.stock_management') }}</label>
<div class="col-md-12">
<div class="form-check-inline">
<input class="form-check-input me-0 has_stock" type="radio"
name="has_stock" id="stock_no" value="2" checked
@if (old('has_stock') == 2) checked @endif>
<label class="form-check-label"
for="stock_no">{{ trans('labels.no') }}</label>
</div>
<div class="form-check-inline">
<input class="form-check-input me-0 has_stock" type="radio"
name="has_stock" id="stock_yes" value="1"
@if (old('has_stock') == 1) checked @endif>
<label class="form-check-label"
for="stock_yes">{{ trans('labels.yes') }}</label>
</div>
</div>
</div>
</div>
<div class="col-md-3" id="block_stock_qty">
<div class="form-group">
<label class="form-label">{{ trans('labels.stock_qty') }} <span
class="text-danger"> * </span></label>
<input type="text" class="form-control numbers_only"
onkeypress="allowNumbersOnly(event)" name="qty"
value="{{ old('qty') }}"
placeholder="{{ trans('labels.stock_qty') }}" id="qty">
</div>
</div>
<div class="col-md-3" id="block_min_order">
<div class="form-group">
<label class="form-label">{{ trans('labels.min_order_qty') }} <span
class="text-danger"> * </span>
</label>
<input type="text" class="form-control numbers_only"
onkeypress="allowNumbersOnly(event)" name="min_order"
value="{{ old('min_order') }}"
placeholder="{{ trans('labels.min_order_qty') }}" id="min_order">
</div>
</div>
<div class="col-md-3" id="block_max_order">
<div class="form-group">
<label class="form-label">{{ trans('labels.max_order_qty') }} <span
class="text-danger"> * </span>
</label>
<input type="text"
class="form-control numbers_only"onkeypress="allowNumbersOnly(event)"
name="max_order" value="{{ old('max_order') }}"
placeholder="{{ trans('labels.max_order_qty') }}" id="max_order">
</div>
</div>
<div class="col-md-3" id="block_product_low_qty_warning">
<div class="form-group">
<label class="form-label">{{ trans('labels.product_low_qty_warning') }} <span
class="text-danger"> * </span></label>
<input type="text" class="form-control numbers_only variation_qty"
onkeypress="allowNumbersOnly(event)" name="low_qty" id="low_qty"
placeholder="{{ trans('labels.product_low_qty_warning') }}">
</div>
</div>
</div>
<div class="dn @if ($errors->has('variation.*') || $errors->has('variation_price.*') || old('has_variants') == 1) @endif" id="variations">
<div id="productVariant" class="col-md-12">
<div class="card my-3 d-none" id="variant_card">
<div class="card-header">
<div class="row flex-grow-1">
<div class="col-md d-flex align-items-center">
<h5 class="card-header-title color-changer">
{{ trans('labels.item') }}
{{ trans('labels.variants') }}
</h5>
</div>
</div>
</div>
<div class="card-body">
<input type="hidden" id="hiddenVariantOptions"
name="hiddenVariantOptions" value="{}">
<div class="variant-table">
</div>
</div>
</div>
</div>
</div>
<div class="col-12 mt-3">
<div class="row g-3">
<div class="col-md-6">
<div class="form-group">
<label class="col-form-label">{{ trans('labels.image') }} (512 x 512)
<span class="text-danger">*</span> </label>
<input type="file" class="form-control" name="image[]" id="image"
accept="image/*" multiple required>
@error('image')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="gallery"></div>
</div>
<div class="col-md-6">
<div class="row g-3">
<div class="col-md-6 d-none">
<div class="form-group">
<label
class="col-form-label">{{ trans('labels.preparation_time') }}
<span class="text-danger">*</span></label>
<input type="text" class="form-control"
name="preparation_time"
placeholder="{{ trans('labels.preparation_time') }}"
value="{{ old('preparation_time') }}">
@error('preparation_time')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="form-label">{{ trans('labels.tax') }} </label>
<select name="tax[]" class="form-control selectpicker" multiple
data-live-search="true">
@if (!empty($gettaxlist))
@foreach ($gettaxlist as $tax)
<option value="{{ $tax->id }}">
{{ $tax->name }}
</option>
@endforeach
@endif
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 mt-3">
<div class="form-group">
<label for="description"
class="col-form-label">{{ trans('labels.description') }}</label>
<textarea class="form-control" rows="5" name="description" id="description"
placeholder="{{ trans('labels.description') }}"></textarea>
</div>
</div>
<div
class="form-group mt-3 {{ session()->get('direction') == 2 ? 'text-start' : 'text-end' }}">
<a href="{{ URL::to('admin/item') }}"
class="btn btn-danger px-4">{{ trans('labels.cancel') }}</a>
<button
class="btn btn-primary px-4 {{ Auth::user()->type == 4 ? (helper::check_access('role_items', Auth::user()->role_id, 'add') == 1 ? '' : 'd-none') : '' }}"
@if (env('Environment') == 'sendbox') type="button" onclick="myFunction()" @else type="submit" @endif>{{ trans('labels.save') }}</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade modal-fade-transform" id="commonModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-dialog-inner lg-dialog" role="document">
<div class="modal-content">
<div class="popup-content">
<div class="modal-header justify-content-between popup-header align-items-center">
<h5 class="modal-title fw-500 color-changer" id="modelCommanModelLabel">{{ trans('labels.add_variants') }}</h5>
<button type="button" class="bg-transparent border-0 m-0" data-bs-dismiss="modal"
aria-label="Close">
<i class="fa-regular fa-xmark fs-5 color-changer"></i>
</button>
</div>
<div class="modal-body">
<form method="POST" class="row g-3" action="{{ URL::to('admin/products/get-product-variants-possibilities') }}">
@csrf
<div class="form-group">
<label for="variant_name" class="form-label">{{ trans('labels.variant_name') }}</label>
<input class="form-control" name="variant_name" type="text" id="variant_name"
onkeyup="this.value = this.value.replace(/[`\/\\|~_$&+,:;=?[\]@#{}'<>.^*()%!-/]/, '')"
placeholder="{{ 'Variant Name, i.e Size, Color etc' }}">
</div>
<div class="form-group">
<label for="variant_options" class="form-label">{{ trans('labels.variant_options') }}</label>
<input class="form-control" name="variant_options" type="text" id="variant_options"
placeholder="{{ 'Variant Options separated by|pipe symbol, i.e Black|Blue|Red' }}">
</div>
<div class="form-group col-12 d-flex justify-content-end form-label">
<input type="button" value="{{ trans('labels.cancel') }}" class="btn btn-danger px-4"
data-bs-dismiss="modal">
<input type="button" value="{{ trans('labels.add_variants') }}"
class="btn btn-primary px-4 add-variants {{ session()->get('direction') == 2 ? 'me-2' : 'ms-2' }}">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script>
var extrasurl = "{{ URL::to('admin/getextras') }}";
var placehodername = "{{ trans('labels.name') }}";
var placeholderprice = "{{ trans('labels.price') }}";
var page = "add";
</script>
<script>
$(document).on('click', '.add-variants', function(e) {
e.preventDefault();
var form = $(this).parents('form');
var variantNameEle = $('#variant_name');
var variantOptionsEle = $('#variant_options');
var isValid = true;
var hiddenVariantOptions = $('#hiddenVariantOptions').val();
if (variantNameEle.val() == '') {
variantNameEle.focus();
isValid = false;
} else if (variantOptionsEle.val() == '') {
variantOptionsEle.focus();
isValid = false;
}
if (isValid) {
$.ajax({
url: form.attr('action'),
datType: 'json',
data: {
variant_name: variantNameEle.val(),
variant_options: variantOptionsEle.val(),
hiddenVariantOptions: hiddenVariantOptions
},
success: function(data) {
if (data.message != "" && data.message != null) {
toastr.error(data.message);
}
$('#hiddenVariantOptions').val(data.hiddenVariantOptions);
$('.variant-table').html(data.varitantHTML);
$('#variant_card').removeClass('d-none');
$("#commonModal").modal('hide');
}
})
}
});
</script>
<script
src="{{ url(env('ASSETSPATHURL') . 'admin-assets/assets/js/bootstrap/bootstrap-select.v1.14.0-beta2.min.js') }}">
</script>
<script src="{{ url(env('ASSETSPATHURL') . 'admin-assets/assets/js/custom/additem.js') }}"></script>
@endsection