2018-04-11 19:49:35 +02:00
@ extends ( 'layout.default' )
2019-05-01 20:19:18 +02:00
@ section ( 'title' , $__t ( 'Products' ))
2018-04-12 21:13:38 +02:00
@ section ( 'activeNav' , 'products' )
@ section ( 'viewJsName' , 'products' )
2018-04-11 19:49:35 +02:00
@ section ( 'content' )
2018-07-10 20:37:13 +02:00
< div class = " row " >
< div class = " col " >
2020-04-19 08:51:02 -04:00
< div class = " title-related-links " >
< h2 class = " title " >@ yield ( 'title' ) </ h2 >
2020-11-07 14:53:45 +01:00
< div class = " float-right " >
< button class = " btn btn-outline-dark d-md-none mt-2 order-1 order-md-3 "
type = " button "
data - toggle = " collapse "
data - target = " #table-filter-row " >
< i class = " fas fa-filter " ></ i >
</ button >
< button class = " btn btn-outline-dark d-md-none mt-2 order-1 order-md-3 "
type = " button "
data - toggle = " collapse "
data - target = " #related-links " >
< i class = " fas fa-ellipsis-v " ></ i >
</ button >
</ div >
< div class = " related-links collapse d-md-flex order-2 width-xs-sm-100 "
id = " related-links " >
< a class = " btn btn-primary responsive-button m-1 mt-md-0 mb-md-0 float-right "
2020-10-31 18:37:10 +01:00
href = " { { $U ('/product/new') }} " >
{{ $__t ( 'Add' ) }}
</ a >
2020-11-07 14:53:45 +01:00
< a class = " btn btn-outline-secondary m-1 mt-md-0 mb-md-0 float-right "
2020-08-31 20:32:50 +02:00
href = " { { $U ('/userfields?entity=products') }} " >
2020-04-19 08:51:02 -04:00
{{ $__t ( 'Configure userfields' ) }}
</ a >
2020-11-07 14:53:45 +01:00
< a class = " btn btn-outline-secondary m-1 mt-md-0 mb-md-0 float-right "
2020-08-31 20:32:50 +02:00
href = " { { $U ('/stocksettings#productpresets') }} " >
2020-04-19 08:51:02 -04:00
{{ $__t ( 'Presets for new products' ) }}
</ a >
</ div >
</ div >
2018-07-10 20:37:13 +02:00
</ div >
</ div >
2017-04-19 21:09:28 +02:00
2020-11-08 15:09:10 +01:00
< hr class = " my-2 " >
2020-10-31 18:37:10 +01:00
2020-11-07 14:53:45 +01:00
< div class = " row collapse d-md-flex "
id = " table-filter-row " >
2018-07-11 19:43:05 +02:00
< div class = " col-xs-12 col-md-6 col-xl-3 " >
2020-10-31 18:37:10 +01:00
< div class = " input-group " >
2020-04-19 08:51:02 -04:00
< div class = " input-group-prepend " >
2020-08-31 20:32:50 +02:00
< span class = " input-group-text " >< i class = " fas fa-search " ></ i ></ span >
2020-04-19 08:51:02 -04:00
</ div >
2020-08-31 20:32:50 +02:00
< input type = " text "
id = " search "
class = " form-control "
placeholder = " { { $__t ('Search') }} " >
2020-04-19 08:51:02 -04:00
</ div >
2018-07-09 19:27:22 +02:00
</ div >
2019-04-05 21:08:30 +02:00
< div class = " col-xs-12 col-md-6 col-xl-3 " >
2020-10-31 18:37:10 +01:00
< div class = " input-group " >
2020-04-19 08:51:02 -04:00
< div class = " input-group-prepend " >
2020-10-31 18:37:10 +01:00
< span class = " input-group-text " >< i class = " fas fa-filter " ></ i >& nbsp ;{{ $__t ( 'Product group' ) }} </ span >
2020-04-19 08:51:02 -04:00
</ div >
2020-11-16 19:10:29 +01:00
< select class = " custom-control custom-select "
2020-10-14 17:48:37 +02:00
id = " product-group-filter " >
2020-04-19 08:51:02 -04:00
< option value = " all " > {{ $__t ( 'All' ) }} </ option >
@ foreach ( $productGroups as $productGroup )
2020-08-31 20:32:50 +02:00
< option value = " { { $productGroup->id }} " > {{ $productGroup -> name }} </ option >
2020-04-19 08:51:02 -04:00
@ endforeach
</ select >
</ div >
2019-04-05 21:08:30 +02:00
</ div >
2020-12-07 19:48:33 +01:00
< div class = " col-xs-12 col-md-6 col-xl-3 " >
< div class = " form-check custom-control custom-checkbox " >
< input class = " form-check-input custom-control-input "
type = " checkbox "
2020-12-20 10:19:44 +01:00
id = " show-disabled " >
2020-12-07 19:48:33 +01:00
< label class = " form-check-label custom-control-label "
2020-12-20 10:19:44 +01:00
for = " show-disabled " >
{{ $__t ( 'Show disabled' ) }}
2020-12-07 19:48:33 +01:00
</ label >
</ div >
</ div >
2020-11-07 14:53:45 +01:00
< div class = " col " >
< div class = " float-right " >
< a id = " clear-filter-button "
class = " btn btn-sm btn-outline-info "
href = " # " >
{{ $__t ( 'Clear filter' ) }}
</ a >
</ div >
</ div >
2018-07-09 19:27:22 +02:00
</ div >
2018-07-10 20:37:13 +02:00
< div class = " row " >
< div class = " col " >
2020-08-31 20:32:50 +02:00
< table id = " products-table "
2020-11-07 14:53:45 +01:00
class = " table table-sm table-striped nowrap w-100 " >
2018-07-10 20:37:13 +02:00
< thead >
< tr >
2020-11-11 22:28:05 +01:00
< th class = " border-right " >< a class = " text-muted change-table-columns-visibility-button "
data - toggle = " tooltip "
2020-11-11 21:11:17 +01:00
data - toggle = " tooltip "
2020-12-16 18:18:03 +01:00
title = " { { $__t ('Table options') }} "
2020-11-11 21:11:17 +01:00
data - table - selector = " #products-table "
href = " # " >< i class = " fas fa-eye " ></ i ></ a >
</ th >
2019-05-01 20:19:18 +02:00
< th > {{ $__t ( 'Name' ) }} </ th >
2019-09-19 17:46:52 +02:00
< th class = " @if(!GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING) d-none @endif " > {{ $__t ( 'Location' ) }} </ th >
2019-05-01 20:19:18 +02:00
< th > {{ $__t ( 'Min. stock amount' ) }} </ th >
2020-11-13 17:30:57 +01:00
< th > {{ $__t ( 'Default quantity unit purchase' ) }} </ th >
< th > {{ $__t ( 'Quantity unit stock' ) }} </ th >
2019-05-01 20:19:18 +02:00
< th > {{ $__t ( 'Product group' ) }} </ th >
2020-12-19 10:51:07 +01:00
< th class = " @if(!GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING) d-none @endif " > {{ $__t ( 'Default store' ) }} </ th >
2019-04-22 22:16:35 +02:00
@ include ( 'components.userfields_thead' , array (
2020-08-31 20:32:50 +02:00
'userfields' => $userfields
2019-04-22 22:16:35 +02:00
))
2018-07-10 20:37:13 +02:00
</ tr >
</ thead >
2019-01-05 20:06:35 +01:00
< tbody class = " d-none " >
2018-07-10 20:37:13 +02:00
@ foreach ( $products as $product )
2020-12-20 10:19:44 +01:00
< tr class = " @if( $product->active == 0) text-muted @endif " >
2019-03-09 10:49:26 +01:00
< td class = " fit-content border-right " >
2020-08-31 20:32:50 +02:00
< a class = " btn btn-info btn-sm "
2020-11-12 21:35:10 +01:00
href = " { { $U ('/product/') }} { { $product->id }} "
data - toggle = " tooltip "
title = " { { $__t ('Edit this item') }} " >
2018-07-11 19:43:05 +02:00
< i class = " fas fa-edit " ></ i >
2018-07-10 20:37:13 +02:00
</ a >
2020-11-15 16:05:25 +01:00
< a class = " btn btn-primary btn-sm "
href = " { { $U ('/product/new?copy-of=') }} { { $product->id }} "
data - toggle = " tooltip "
title = " { { $__t ('Copy this item') }} " >
< i class = " fas fa-copy " ></ i >
</ a >
2020-12-20 20:58:22 +01:00
< a class = " btn btn-primary btn-sm merge-products-button "
href = " # "
data - product - id = " { { $product->id }} "
data - toggle = " tooltip "
title = " { { $__t ('Merge this product with another one') }} " >
< i class = " fas fa-compress-alt " ></ i >
</ a >
2020-12-07 19:48:33 +01:00
< a class = " btn btn-danger btn-sm product-delete-button "
2020-08-31 20:32:50 +02:00
href = " # "
data - product - id = " { { $product->id }} "
2020-11-12 21:35:10 +01:00
data - product - name = " { { $product->name }} "
data - toggle = " tooltip "
title = " { { $__t ('Delete this item') }} " >
2018-07-11 19:43:05 +02:00
< i class = " fas fa-trash " ></ i >
2018-07-10 20:37:13 +02:00
</ a >
</ td >
< td >
2020-12-07 19:48:33 +01:00
{{ $product -> name }}
@ if ( ! empty ( $product -> picture_file_name ))
< i class = " fas fa-image text-muted "
2020-11-12 21:35:10 +01:00
data - toggle = " tooltip "
2020-12-07 19:48:33 +01:00
title = " { { $__t ('This product has a picture') }} " ></ i >
@ endif
2018-07-10 20:37:13 +02:00
</ td >
2019-09-19 17:46:52 +02:00
< td class = " @if(!GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING) d-none @endif " >
2020-12-19 14:03:28 +01:00
@ php
$location = FindObjectInArrayByPropertyValue ( $locations , 'id' , $product -> location_id );
@ endphp
@ if ( $location != null )
{{ $location -> name }}
@ endif
2018-07-10 20:37:13 +02:00
</ td >
< td >
2019-09-26 15:25:30 +02:00
< span class = " locale-number locale-number-quantity-amount " > {{ $product -> min_stock_amount }} </ span >
2018-07-10 20:37:13 +02:00
</ td >
< td >
{{ FindObjectInArrayByPropertyValue ( $quantityunits , 'id' , $product -> qu_id_purchase ) -> name }}
</ td >
< td >
{{ FindObjectInArrayByPropertyValue ( $quantityunits , 'id' , $product -> qu_id_stock ) -> name }}
</ td >
< td >
2018-09-24 13:02:52 +02:00
@ if ( ! empty ( $product -> product_group_id )) {{ FindObjectInArrayByPropertyValue ( $productGroups , 'id' , $product -> product_group_id ) -> name }} @ endif
2018-07-10 20:37:13 +02:00
</ td >
2020-12-19 10:51:07 +01:00
< td class = " @if(!GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING) d-none @endif " >
2020-12-19 14:03:28 +01:00
@ php
$store = FindObjectInArrayByPropertyValue ( $shoppingLocations , 'id' , $product -> shopping_location_id );
@ endphp
@ if ( $store != null )
{{ $store -> name }}
2020-12-19 10:51:07 +01:00
@ endif
</ td >
2019-04-22 22:16:35 +02:00
@ include ( 'components.userfields_tbody' , array (
2020-08-31 20:32:50 +02:00
'userfields' => $userfields ,
'userfieldValues' => FindAllObjectsInArrayByPropertyValue ( $userfieldValues , 'object_id' , $product -> id )
2019-04-22 22:16:35 +02:00
))
2018-07-10 20:37:13 +02:00
</ tr >
@ endforeach
</ tbody >
</ table >
</ div >
2017-04-15 23:16:20 +02:00
</ div >
2020-12-20 20:58:22 +01:00
< div class = " modal fade "
id = " merge-products-modal "
tabindex = " -1 " >
< div class = " modal-dialog " >
< div class = " modal-content text-center " >
< div class = " modal-header " >
< h4 class = " modal-title w-100 " > {{ $__t ( 'Merge products' ) }} </ h4 >
</ div >
< div class = " modal-body " >
< div class = " form-group " >
< label for = " merge-products-keep " > {{ $__t ( 'Product to keep' ) }} & nbsp ; < i class = " fas fa-question-circle text-muted "
data - toggle = " tooltip "
title = " { { $__t ('After merging, this product will be kept') }} " ></ i >
</ label >
< select class = " custom-control custom-select "
id = " merge-products-keep " >
< option ></ option >
@ foreach ( $products as $product )
< option value = " { { $product->id }} " > {{ $product -> name }} </ option >
@ endforeach
</ select >
</ div >
< div class = " form-group " >
< label for = " merge-products-remove " > {{ $__t ( 'Product to remove' ) }} & nbsp ; < i class = " fas fa-question-circle text-muted "
data - toggle = " tooltip "
title = " { { $__t ('After merging, all occurences of this product will be replaced by " Product to keep " (means this product will not exist anymore)') }} " ></ i >
</ label >
< select class = " custom-control custom-select "
id = " merge-products-remove " >
< option ></ option >
@ foreach ( $products as $product )
< option value = " { { $product->id }} " > {{ $product -> name }} </ option >
@ endforeach
</ select >
</ div >
</ div >
< div class = " modal-footer " >
< button type = " button "
class = " btn btn-secondary "
data - dismiss = " modal " > {{ $__t ( 'Cancel' ) }} </ button >
< button id = " merge-products-save-button "
type = " button "
class = " btn btn-primary "
data - dismiss = " modal " > {{ $__t ( 'OK' ) }} </ button >
</ div >
</ div >
</ div >
</ div >
2018-04-11 19:49:35 +02:00
@ stop