@php
$common_settings = session()->get('business.common_settings');
$multiplier = 1;
$route = isset($route) ? $route : null;
@endphp
@foreach ($sub_units as $key => $value)
@if (!empty($product->sub_unit_id) && $product->sub_unit_id == $key)
@php
$multiplier = $value['multiplier'];
@endphp
@endif
@endforeach
@if (!empty($route))
@elseif (!empty($product->so_line_id ))
@else
@if (!empty($so_line))
@endif
@endif
@php
$product_name = $product->product_name . ' ' . $product->sub_sku;
if (!empty($product->brand)) {
$product_name .= ' ' . $product->brand;
}
@endphp
@if (($edit_price || $edit_discount) && empty($is_direct_sell))
{!! $product_name !!}
@else
{!! $product_name !!}
@endif
@php
$hide_tax = 'hide';
if (session()->get('business.enable_inline_tax') == 1) {
$hide_tax = '';
}
$tax_id = $product->tax_id;
$item_tax = !empty($product->item_tax) ? $product->item_tax : 0;
$unit_price_inc_tax = $product->sell_price_inc_tax;
$invoice_unit_price =
!empty($action) && $action == 'edit' ? $product->invoice_unit_price : $product->sell_price_inc_tax;
if ($hide_tax == 'hide') {
$tax_id = null;
$unit_price_inc_tax = $product->default_sell_price;
}
if (!empty($so_line)) {
$tax_id = $so_line->tax_id;
$item_tax = $so_line->item_tax;
$unit_price_inc_tax = $so_line->unit_price_inc_tax;
}
$discount_type = !empty($product->line_discount_type) ? $product->line_discount_type : 'fixed';
$discount_amount = !empty($product->line_discount_amount) ? $product->line_discount_amount : 0;
if (!empty($discount)) {
$discount_type = $discount->discount_type;
$discount_amount = $discount->discount_amount;
}
if (!empty($so_line)) {
$discount_type = $so_line->line_discount_type;
$discount_amount = $so_line->line_discount_amount;
}
$sell_line_note = '';
if (!empty($product->sell_line_note)) {
$sell_line_note = $product->sell_line_note;
}
@endphp
@if (!empty($discount))
{!! Form::hidden("products[$row_count][discount_id]", $discount->id) !!}
@endif
@php
$warranty_id =
!empty($action) && $action == 'edit' && !empty($product->warranties->first())
? $product->warranties->first()->id
: $product->warranty_id;
if ($discount_type == 'fixed') {
$discount_amount = $discount_amount * $multiplier;
}
@endphp
@if (empty($is_direct_sell))
@include('sale_pos.partials.row_edit_product_price_modal')
@endif
@if (in_array('modifiers', $enabled_modules))
@if (!empty($product->product_ms))
@include('restaurant.product_modifier_set.modifier_for_product', [
'edit_modifiers' => true,
'row_count' => $loop->index,
'product_ms' => $product->product_ms,
])
@endif
@endif
@php
$max_quantity = $product->qty_available;
$formatted_max_quantity = $product->formatted_qty_available;
if (!empty($action) && $action == 'edit') {
if (!empty($so_line)) {
$qty_available = $so_line->quantity - $so_line->so_quantity_invoiced + $product->quantity_ordered;
$max_quantity = $qty_available;
$formatted_max_quantity = number_format(
$qty_available,
session('business.quantity_precision', 2),
session('currency')['decimal_separator'],
session('currency')['thousand_separator'],
);
}
} else {
if (!empty($so_line) && $so_line->qty_available <= $max_quantity) {
$max_quantity = $so_line->qty_available;
$formatted_max_quantity = $so_line->formatted_qty_available;
}
}
$max_qty_rule = $max_quantity;
$max_qty_msg = __('validation.custom-messages.quantity_not_available', [
'qty' => $formatted_max_quantity,
'unit' => $product->unit,
]);
@endphp
@if (session()->get('business.enable_lot_number') == 1 || session()->get('business.enable_product_expiry') == 1)
@php
$lot_enabled = session()->get('business.enable_lot_number');
$exp_enabled = session()->get('business.enable_product_expiry');
$lot_no_line_id = '';
if (!empty($product->lot_no_line_id)) {
$lot_no_line_id = $product->lot_no_line_id;
}
@endphp
@if (!empty($product->lot_numbers) && empty($is_sales_order))
@endif
@endif
@if (!empty($is_direct_sell))
@lang('lang_v1.sell_line_description_help')
@endif
|
{{-- If edit then transaction sell lines will be present --}}
@if (!empty($product->transaction_sell_lines_id))
@endif
@if (empty($product->quantity_ordered))
@php
$product->quantity_ordered = 1;
@endphp
@endif
@php
$allow_decimal = true;
if ($product->unit_allow_decimal != 1) {
$allow_decimal = false;
}
@endphp
@foreach ($sub_units as $key => $value)
@if (!empty($product->sub_unit_id) && $product->sub_unit_id == $key)
@php
$max_qty_rule = $max_qty_rule / $multiplier;
$unit_name = $value['name'];
$max_qty_msg = __('validation.custom-messages.quantity_not_available', [
'qty' => $max_qty_rule,
'unit' => $unit_name,
]);
if (!empty($product->lot_no_line_id)) {
$max_qty_msg = __('lang_v1.quantity_error_msg_in_lot', [
'qty' => $max_qty_rule,
'unit' => $unit_name,
]);
}
if ($value['allow_decimal']) {
$allow_decimal = true;
}
@endphp
@endif
@endforeach
@if (!empty($route))
@else
enable_stock && empty($pos_settings['allow_overselling']) && empty($is_sales_order)) data-rule-max-value="{{ $max_qty_rule }}" data-qty_available="{{ $product->qty_available }}" data-msg-max-value="{{ $max_qty_msg }}"
data-msg_max_default="@lang('validation.custom-messages.quantity_not_available', ['qty'=> $product->formatted_qty_available, 'unit' => $product->unit ])" @endif --}}>
@endif
@if (count($sub_units) > 0)
@else
{{ $product->unit }}
@endif
@if (!empty($product->second_unit))
@lang('lang_v1.quantity_in_second_unit', ['unit' => $product->second_unit])*:
@endif
{{-- Hidden fields for combo products --}}
@if ($product->product_type == 'combo' && !empty($product->combo_products))
@foreach ($product->combo_products as $k => $combo_product)
@if (isset($action) && $action == 'edit')
@php
$combo_product['qty_required'] = $combo_product['quantity'] / $product->quantity_ordered;
$qty_total = $combo_product['quantity'];
@endphp
@else
@php
$qty_total = $combo_product['qty_required'];
@endphp
@endif
@if (isset($action) && $action == 'edit')
@endif
@endforeach
@endif
|
@if (!empty($is_direct_sell))
@if (!empty($pos_settings['inline_service_staff']))
|
@endif
@php
$pos_unit_price = !empty($product->unit_price_before_discount)
? $product->unit_price_before_discount
: $product->default_sell_price;
if (!empty($so_line)) {
$pos_unit_price = $so_line->unit_price_before_discount;
}
@endphp
@if (!empty($last_sell_line))
@lang('lang_v1.prev_unit_price'): @format_currency($last_sell_line->unit_price_before_discount)
@endif
|
{!! Form::text("products[$row_count][line_discount_amount]", @num_format($discount_amount), [
'class' => 'form-control input_number row_discount_amount',
]) !!}
{!! Form::select(
"products[$row_count][line_discount_type]",
['fixed' => __('lang_v1.fixed'), 'percentage' => __('lang_v1.percentage')],
$discount_type,
['class' => 'form-control row_discount_type'],
) !!}
@if (!empty($discount))
{!! __('lang_v1.applied_discount_text', [
'discount_name' => $discount->name,
'starts_at' => $discount->formated_starts_at,
'ends_at' => $discount->formated_ends_at,
]) !!}
@endif
@if (!empty($last_sell_line))
@lang('lang_v1.prev_discount'):
@if ($last_sell_line->line_discount_type == 'percentage')
{{ @num_format($last_sell_line->line_discount_amount) }}%
@else
@format_currency($last_sell_line->line_discount_amount)
@endif
@endif
|
{!! Form::hidden("products[$row_count][item_tax]", @num_format($item_tax), ['class' => 'item_tax']) !!}
{!! Form::select(
"products[$row_count][tax_id]",
$tax_dropdown['tax_rates'],
$tax_id,
['placeholder' => 'Select', 'class' => 'form-control tax_id'],
$tax_dropdown['attributes'],
) !!}
|
@else
@if (!empty($pos_settings['inline_service_staff']))
|
@endif
@endif
|
@if (!empty($common_settings['enable_product_warranty']) && !empty($is_direct_sell))
{!! Form::select("products[$row_count][warranty_id]", $warranties, $warranty_id, [
'placeholder' => __('messages.please_select'),
'class' => 'form-control',
]) !!}
|
@endif
@php
$subtotal_type = !empty($pos_settings['is_pos_subtotal_editable']) ? 'text' : 'hidden';
@endphp
{{ $product->quantity_ordered * $unit_price_inc_tax }}
|
|